fork download
<?php
error_reporting(-1);
header('Content-Type: text/html; charset=utf-8');
class Employee
{
    public $department;
    public $rang;
    public $salary;
    public $coffee;
    public $pages;



    public function __construct($department,$post,$rang,$salary, $coffee,$pages)
    {
        //
          $this->department = $department;
          $this->rang = $rang;
          $this->post = $post;
          $this->salary = $salary;
          $this->coffee = $coffee;
          $this->pages = $pages;
    }
    public function getSalary($post,$rang){
        $salary=0;
        $getMeSalary = function() use ($rang){
            $salary = 0;
            $me_base_salary=500;
            if($rang==1){
                $salary=$me_base_salary;
            }
            elseif($rang==2){
                $salary=$me_base_salary+$me_base_salary*0.25;
            }
            elseif($rang==3){
                $salary=$me_base_salary+$me_base_salary*0.5;
            }
            return $salary;
        };

        $getMaSalary = function() use ($rang){
            $salary = 0;
            $ma_base_salary=400;
            if($this->rang==1){
                $salary=$ma_base_salary;
            }
            elseif($this->rang==2){
                $salary=$ma_base_salary+$ma_base_salary*0.25;
            }
            elseif($this->rang==3){
                $salary=$ma_base_salary+$ma_base_salary*0.5;
            }
            return $salary;
        };

        $getDevSalary = function() use ($rang){
            $salary = 0;
            $dev_base_salary=200;
            if($this->rang==1){
                $salary=$dev_base_salary;
            }
            elseif($this->rang==2){
                $salary=$dev_base_salary+$dev_base_salary*0.25;
            }
            elseif($this->rang==3){
                $salary=$dev_base_salary+$dev_base_salary*0.5;
            }
            return $salary;
        };

        $getAnSalary = function() use ($rang){
            $salary = 0;
            $analytics_base_salary=800;
            if($this->rang==1){
                $salary=$analytics_base_salary;
            }
            elseif($this->rang==2){
                $salary=$analytics_base_salary+$analytics_base_salary*0.25;
            }
            elseif($this->rang==3){
                $salary=$analytics_base_salary+$analytics_base_salary*0.5;
            }
            return $salary;
        };


        if($this->post=='Менеджер'){
            $salary=$getMeSalary($this->rang);
        }
        elseif($this->post=='Руководитель менеджер'){
            $salary=$getMeSalary($this->rang);
            $salary=$salary+ $salary*0.5;
        }
        elseif($this->post=='Маркетолог'){
            $salary=$getMaSalary($this->rang);
        }
        elseif($this->post=='Руководитель маркетолог'){
            $salary=$getMaSalary($this->rang);
            $salary=$salary+ $salary*0.5;
        }
        elseif($this->post=='Инженер'){
            $salary=$getDevSalary($this->rang);
        }
        elseif($this->post=='Руководитель инженер'){
            $salary=$getAnSalary($this->rang);
            $salary=$salary+ $salary*0.5;
        }
        return $salary;
    }

    public function getEmployeeStatsByDep($counter){
        $count= count($counter);
        return $count;
    }

    public function salarySummary($summary){
            $summarySalary=0;
        foreach($summary as $var ){
            $summarySalary+=$var->salary;
        }
            return $summarySalary;
    }

    public function coffeeSummary($coffee){
        $summaryCoffee=0;
        foreach($coffee as $var ){
            $summaryCoffee+=$var->coffee;
        }
        return $summaryCoffee;
    }
    public function pagesSummary($pages){
        $summaryPages=0;
        foreach($pages as $var ){
            $summaryPages+=$var->pages;
        }
        return $summaryPages;
    }

    public function efficiency($salary,$pages){

        return  round($efficiency= $salary/$pages,1);
    }

    public function average($first,$second,$third,$fourth){
        $departments=4;
        $summ=$first+$second+$third+$fourth;
        return round($summ/$departments,1);
    }

    public function summaryStats($employee){
    $employeeSummary=0;
    $salarySummary=0;
    $coffeeSummary=0;
    $pagesSummary=0;
    $efficiencySummary=0;
        foreach($employee as $employer){
            $salarySummary+=$employer->salary;
            $coffeeSummary+=$employer->coffee;
            $pagesSummary+=$employer->pages;
            $employeeSummary=$employeeSummary+1;
        }
     $result=array('Всего',$employeeSummary,$salarySummary,$coffeeSummary,$pagesSummary,round($salarySummary/$pagesSummary,1));
        return $result;
    }


}

$Employee = array();        //Все департаменты
$firstDep = array();        //Департамент закупок
$secondDep= array();        //Департамент продаж
$thirdDep = array();         //Департамент рекламы
$fourthDep= array();        //Департамент логистики
$finalStats=array();        //Конечный массив

for($i=0;$i<9;$i++){        //9×ме1
    $app = new Employee('Департамент закупок','Менеджер',1,0,20,200);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($firstDep,$app);
}

for($i=0;$i<3;$i++){        //3×ме2
    $app = new Employee('Департамент закупок','Менеджер',2,0,20,200);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($firstDep,$app);
}

for($i=0;$i<2;$i++){        //2×ме3
    $app = new Employee('Департамент закупок','Менеджер',3,0,20,200);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($firstDep,$app);
}

for($i=0;$i<2;$i++){        //2×ма1
    $app = new Employee('Департамент закупок','Маркетолог',1,0,15,150);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($firstDep,$app);
}
    $app = new Employee('Департамент закупок','Руководитель менеджер',2,0,20*2,0);//руководитель департамента ме2
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
array_push($firstDep,$app);

//Департамент продаж

for($i=0;$i<12;$i++){        //12×ме1
    $app = new Employee('Департамент продаж','Менеджер',1,0,20,200);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($secondDep,$app);
}

for($i=0;$i<6;$i++){        //6×ма1
    $app = new Employee('Департамент продаж','Маркетолог',1,0,15,150);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($secondDep,$app);
}

for($i=0;$i<3;$i++){        //3×ан1
    $app = new Employee('Департамент продаж','Аналитик',1,0,50,5);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($secondDep,$app);
}
for($i=0;$i<2;$i++){        //2×ан2
    $app = new Employee('Департамент продаж','Аналитик',2,0,50,5);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($secondDep,$app);
}
//руководитель ма2
$app = new Employee('Департамент закупок','Руководитель маркетолог',2,0,15*2,0);//руководитель департамента ме2
$get_salary= $app->getSalary($app->post,$app->rang);
$app->salary=$get_salary;
array_push($secondDep,$app);

//Департамент рекламы
for($i=0;$i<15;$i++){        //15×ма1
    $app = new Employee('Департамент рекламы','Маркетолог',1,0,15,150);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($thirdDep,$app);
}

for($i=0;$i<10;$i++){        //10×ма1
    $app = new Employee('Департамент рекламы','Маркетолог',2,0,15,150);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($thirdDep,$app);
}

for($i=0;$i<8;$i++){        //8×ме1
    $app = new Employee('Департамент рекламы','Менеджер',1,0,20,200);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($thirdDep,$app);
}

for($i=0;$i<2;$i++){        //2×ин1
    $app = new Employee('Департамент рекламы','Инженер',1,0,5,50);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($thirdDep,$app);
}
//руководитель ма3
$app = new Employee('Департамент рекламы','Руководитель маркетолог',3,0,15*2,0);//руководитель департамента ме2
$get_salary= $app->getSalary($app->post,$app->rang);
$app->salary=$get_salary;
array_push($thirdDep,$app);

//Департамент логистики
for($i=0;$i<13;$i++){        //13×ме1
    $app = new Employee('Департамент логистики','Менеджер',1,0,20,200);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($fourthDep,$app);
}

for($i=0;$i<5;$i++){        //5×ме1
    $app = new Employee('Департамент логистики','Менеджер',2,0,20,200);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($fourthDep,$app);
}

for($i=0;$i<5;$i++){        //5×ин1
    $app = new Employee('Департамент логистики','Инженер',1,0,5,50);
    $get_salary= $app->getSalary($app->post,$app->rang);
    $app->salary=$get_salary;
    array_push($fourthDep,$app);
}
//руководитель ме1
$app = new Employee('Департамент логистики','Руководитель менеджер',1,0,20*2,0);//руководитель департамента ме2
$get_salary= $app->getSalary($app->post,$app->rang);
$app->salary=$get_salary;
array_push($fourthDep,$app);

//Число сотрудников по каждому департаменту
$firstDepStats=$app->getEmployeeStatsByDep($firstDep);
$secondDepStats=$app->getEmployeeStatsByDep($secondDep);
$thirdDepStats= $app->getEmployeeStatsByDep($thirdDep);
$fourthDepStats= $app->getEmployeeStatsByDep($fourthDep);


$Employee = array_merge($firstDep,$secondDep,$thirdDep,$fourthDep);


//Суммарная зарплата по департаменту
$summarySalaryFirstDep=$app->salarySummary($firstDep);
$summarySalarySecondDep=$app->salarySummary($secondDep);
$summarySalaryThirdDep=$app->salarySummary($thirdDep);
$summarySalaryFourthDep=$app->salarySummary($fourthDep);

//Суммарно выпито коффе по департаменту
$summaryCoffeeFirstDep=$app->coffeeSummary($firstDep);
$summaryCoffeeSecondDep=$app->coffeeSummary($secondDep);
$summaryCoffeeThirdDep=$app->coffeeSummary($thirdDep);
$summaryCoffeeFourthDep=$app->coffeeSummary($fourthDep);

//Суммарно страниц по департаменту
$summaryPagesFirstDep=$app->pagesSummary($firstDep);
$summaryPagesSecondDep=$app->pagesSummary($secondDep);
$summaryPagesThirdDep=$app->pagesSummary($thirdDep);
$summaryPagesFourthDep=$app->pagesSummary($fourthDep);

//Эффективность по департаменту
$efficiencyFirstDep=$app->efficiency($summarySalaryFirstDep,$summaryPagesFirstDep);
$efficiencySecondDep=$app->efficiency($summarySalarySecondDep,$summaryPagesSecondDep);
$efficiencyThirdDep=$app->efficiency($summarySalaryThirdDep,$summaryPagesThirdDep);
$efficiencyFourthDep=$app->efficiency($summarySalaryFourthDep,$summaryPagesFourthDep);

//Подсчет среднего
$averageEmployeeStat=$app->average($firstDepStats,$secondDepStats,$thirdDepStats,$fourthDepStats);
$averageSalaryStat=$app->average($summarySalaryFirstDep,$summarySalarySecondDep,$summarySalaryThirdDep,$summarySalaryFourthDep);
$averageCoffeeStat=$app->average($summaryCoffeeFirstDep,$summaryCoffeeSecondDep,$summaryCoffeeThirdDep,$summaryCoffeeFourthDep);
$averagePagesStat=$app->average($summaryPagesFirstDep,$summaryPagesSecondDep,$summaryPagesThirdDep,$summaryPagesFourthDep);
$averageEfficiency=$app->average($efficiencyFirstDep,$efficiencySecondDep,$efficiencyThirdDep,$efficiencyFourthDep);


//Конечный результат
$finalStatsFirstDep=array('Закупок',$firstDepStats,$summarySalaryFirstDep,$summaryCoffeeFirstDep,$summaryPagesFirstDep,$efficiencyFirstDep);
$finalStatsSecondDep=array('Продаж',$secondDepStats,$summarySalarySecondDep,$summaryCoffeeSecondDep,$summaryPagesSecondDep,$efficiencySecondDep);
$finalStatsThirdDep=array('Рекламы',$thirdDepStats,$summarySalaryThirdDep,$summaryCoffeeThirdDep,$summaryPagesThirdDep,$efficiencyThirdDep);
$finalStatsFourthDep=array('Логистики',$fourthDepStats,$summarySalaryFourthDep,$summaryCoffeeFourthDep,$summaryPagesFourthDep,$efficiencyFourthDep);
$averageStats= array('Среднее',$averageEmployeeStat,$averageSalaryStat,$averageCoffeeStat,$averagePagesStat,$averageEfficiency);
$summaryStats= $app->summaryStats($Employee);
?>

<table>
    <thead>
    <tr>
        <td>Департамент</td>
        <td>сотр.</td>
        <td>тугр.</td>
        <td>кофе</td>
        <td>стр.</td>
        <td>туг./стр.</td>
    </tr>
    </thead>
    <tbody>
    <tr>
        <?php foreach ($finalStatsFirstDep as $key => $value):?>
        <td><? echo $value?></td>
        <?endforeach;?>
    </tr>
    <tr>
        <?php foreach ($finalStatsSecondDep as $key => $value):?>
            <td><? echo $value?></td>
        <?endforeach;?>
    </tr>
    <tr>
        <?php foreach ($finalStatsThirdDep as $key => $value):?>
            <td><? echo $value?></td>
        <?endforeach;?>
    </tr>
    <tr>
        <?php foreach ($finalStatsFourthDep as $key => $value):?>
            <td><? echo $value?></td>
        <?endforeach;?>
    </tr>
    <tr>
        <?php foreach ($averageStats as $key => $value):?>
            <td><? echo $value?></td>
        <?endforeach;?>
    </tr>
    <tr>
        <?php foreach ($summaryStats as $key => $value):?>
            <td><? echo $value?></td>
        <?endforeach;?>
    </tr>
    </tbody>
</table>
Runtime error #stdin #stdout #stderr 0.04s 52480KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Parse error:  syntax error, unexpected end of file in /home/JGYHWe/prog.php on line 398