fork download
  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. class Employee
  4. {
  5. public $department;
  6. public $rang;
  7. public $salary;
  8. public $coffee;
  9. public $pages;
  10.  
  11.  
  12.  
  13. public function __construct($department,$post,$rang,$salary, $coffee,$pages)
  14. {
  15. //
  16. $this->department = $department;
  17. $this->rang = $rang;
  18. $this->post = $post;
  19. $this->salary = $salary;
  20. $this->coffee = $coffee;
  21. $this->pages = $pages;
  22. }
  23. public function getSalary($post,$rang){
  24. $salary=0;
  25. $getMeSalary = function() use ($rang){
  26. $salary = 0;
  27. $me_base_salary=500;
  28. if($rang==1){
  29. $salary=$me_base_salary;
  30. }
  31. elseif($rang==2){
  32. $salary=$me_base_salary+$me_base_salary*0.25;
  33. }
  34. elseif($rang==3){
  35. $salary=$me_base_salary+$me_base_salary*0.5;
  36. }
  37. return $salary;
  38. };
  39.  
  40. $getMaSalary = function() use ($rang){
  41. $salary = 0;
  42. $ma_base_salary=400;
  43. if($this->rang==1){
  44. $salary=$ma_base_salary;
  45. }
  46. elseif($this->rang==2){
  47. $salary=$ma_base_salary+$ma_base_salary*0.25;
  48. }
  49. elseif($this->rang==3){
  50. $salary=$ma_base_salary+$ma_base_salary*0.5;
  51. }
  52. return $salary;
  53. };
  54.  
  55. $getDevSalary = function() use ($rang){
  56. $salary = 0;
  57. $dev_base_salary=200;
  58. if($this->rang==1){
  59. $salary=$dev_base_salary;
  60. }
  61. elseif($this->rang==2){
  62. $salary=$dev_base_salary+$dev_base_salary*0.25;
  63. }
  64. elseif($this->rang==3){
  65. $salary=$dev_base_salary+$dev_base_salary*0.5;
  66. }
  67. return $salary;
  68. };
  69.  
  70. $getAnSalary = function() use ($rang){
  71. $salary = 0;
  72. $analytics_base_salary=800;
  73. if($this->rang==1){
  74. $salary=$analytics_base_salary;
  75. }
  76. elseif($this->rang==2){
  77. $salary=$analytics_base_salary+$analytics_base_salary*0.25;
  78. }
  79. elseif($this->rang==3){
  80. $salary=$analytics_base_salary+$analytics_base_salary*0.5;
  81. }
  82. return $salary;
  83. };
  84.  
  85.  
  86. if($this->post=='Менеджер'){
  87. $salary=$getMeSalary($this->rang);
  88. }
  89. elseif($this->post=='Руководитель менеджер'){
  90. $salary=$getMeSalary($this->rang);
  91. $salary=$salary+ $salary*0.5;
  92. }
  93. elseif($this->post=='Маркетолог'){
  94. $salary=$getMaSalary($this->rang);
  95. }
  96. elseif($this->post=='Руководитель маркетолог'){
  97. $salary=$getMaSalary($this->rang);
  98. $salary=$salary+ $salary*0.5;
  99. }
  100. elseif($this->post=='Инженер'){
  101. $salary=$getDevSalary($this->rang);
  102. }
  103. elseif($this->post=='Руководитель инженер'){
  104. $salary=$getAnSalary($this->rang);
  105. $salary=$salary+ $salary*0.5;
  106. }
  107. return $salary;
  108. }
  109.  
  110. public function getEmployeeStatsByDep($counter){
  111. $count= count($counter);
  112. return $count;
  113. }
  114.  
  115. public function salarySummary($summary){
  116. $summarySalary=0;
  117. foreach($summary as $var ){
  118. $summarySalary+=$var->salary;
  119. }
  120. return $summarySalary;
  121. }
  122.  
  123. public function coffeeSummary($coffee){
  124. $summaryCoffee=0;
  125. foreach($coffee as $var ){
  126. $summaryCoffee+=$var->coffee;
  127. }
  128. return $summaryCoffee;
  129. }
  130. public function pagesSummary($pages){
  131. $summaryPages=0;
  132. foreach($pages as $var ){
  133. $summaryPages+=$var->pages;
  134. }
  135. return $summaryPages;
  136. }
  137.  
  138. public function efficiency($salary,$pages){
  139.  
  140. return round($efficiency= $salary/$pages,1);
  141. }
  142.  
  143. public function average($first,$second,$third,$fourth){
  144. $departments=4;
  145. $summ=$first+$second+$third+$fourth;
  146. return round($summ/$departments,1);
  147. }
  148.  
  149. public function summaryStats($employee){
  150. $employeeSummary=0;
  151. $salarySummary=0;
  152. $coffeeSummary=0;
  153. $pagesSummary=0;
  154. $efficiencySummary=0;
  155. foreach($employee as $employer){
  156. $salarySummary+=$employer->salary;
  157. $coffeeSummary+=$employer->coffee;
  158. $pagesSummary+=$employer->pages;
  159. $employeeSummary=$employeeSummary+1;
  160. }
  161. $result=array('Всего',$employeeSummary,$salarySummary,$coffeeSummary,$pagesSummary,round($salarySummary/$pagesSummary,1));
  162. return $result;
  163. }
  164.  
  165.  
  166. }
  167.  
  168. $Employee = array(); //Все департаменты
  169. $firstDep = array(); //Департамент закупок
  170. $secondDep= array(); //Департамент продаж
  171. $thirdDep = array(); //Департамент рекламы
  172. $fourthDep= array(); //Департамент логистики
  173. $finalStats=array(); //Конечный массив
  174.  
  175. for($i=0;$i<9;$i++){ //9×ме1
  176. $app = new Employee('Департамент закупок','Менеджер',1,0,20,200);
  177. $get_salary= $app->getSalary($app->post,$app->rang);
  178. $app->salary=$get_salary;
  179. array_push($firstDep,$app);
  180. }
  181.  
  182. for($i=0;$i<3;$i++){ //3×ме2
  183. $app = new Employee('Департамент закупок','Менеджер',2,0,20,200);
  184. $get_salary= $app->getSalary($app->post,$app->rang);
  185. $app->salary=$get_salary;
  186. array_push($firstDep,$app);
  187. }
  188.  
  189. for($i=0;$i<2;$i++){ //2×ме3
  190. $app = new Employee('Департамент закупок','Менеджер',3,0,20,200);
  191. $get_salary= $app->getSalary($app->post,$app->rang);
  192. $app->salary=$get_salary;
  193. array_push($firstDep,$app);
  194. }
  195.  
  196. for($i=0;$i<2;$i++){ //2×ма1
  197. $app = new Employee('Департамент закупок','Маркетолог',1,0,15,150);
  198. $get_salary= $app->getSalary($app->post,$app->rang);
  199. $app->salary=$get_salary;
  200. array_push($firstDep,$app);
  201. }
  202. $app = new Employee('Департамент закупок','Руководитель менеджер',2,0,20*2,0);//руководитель департамента ме2
  203. $get_salary= $app->getSalary($app->post,$app->rang);
  204. $app->salary=$get_salary;
  205. array_push($firstDep,$app);
  206.  
  207. //Департамент продаж
  208.  
  209. for($i=0;$i<12;$i++){ //12×ме1
  210. $app = new Employee('Департамент продаж','Менеджер',1,0,20,200);
  211. $get_salary= $app->getSalary($app->post,$app->rang);
  212. $app->salary=$get_salary;
  213. array_push($secondDep,$app);
  214. }
  215.  
  216. for($i=0;$i<6;$i++){ //6×ма1
  217. $app = new Employee('Департамент продаж','Маркетолог',1,0,15,150);
  218. $get_salary= $app->getSalary($app->post,$app->rang);
  219. $app->salary=$get_salary;
  220. array_push($secondDep,$app);
  221. }
  222.  
  223. for($i=0;$i<3;$i++){ //3×ан1
  224. $app = new Employee('Департамент продаж','Аналитик',1,0,50,5);
  225. $get_salary= $app->getSalary($app->post,$app->rang);
  226. $app->salary=$get_salary;
  227. array_push($secondDep,$app);
  228. }
  229. for($i=0;$i<2;$i++){ //2×ан2
  230. $app = new Employee('Департамент продаж','Аналитик',2,0,50,5);
  231. $get_salary= $app->getSalary($app->post,$app->rang);
  232. $app->salary=$get_salary;
  233. array_push($secondDep,$app);
  234. }
  235. //руководитель ма2
  236. $app = new Employee('Департамент закупок','Руководитель маркетолог',2,0,15*2,0);//руководитель департамента ме2
  237. $get_salary= $app->getSalary($app->post,$app->rang);
  238. $app->salary=$get_salary;
  239. array_push($secondDep,$app);
  240.  
  241. //Департамент рекламы
  242. for($i=0;$i<15;$i++){ //15×ма1
  243. $app = new Employee('Департамент рекламы','Маркетолог',1,0,15,150);
  244. $get_salary= $app->getSalary($app->post,$app->rang);
  245. $app->salary=$get_salary;
  246. array_push($thirdDep,$app);
  247. }
  248.  
  249. for($i=0;$i<10;$i++){ //10×ма1
  250. $app = new Employee('Департамент рекламы','Маркетолог',2,0,15,150);
  251. $get_salary= $app->getSalary($app->post,$app->rang);
  252. $app->salary=$get_salary;
  253. array_push($thirdDep,$app);
  254. }
  255.  
  256. for($i=0;$i<8;$i++){ //8×ме1
  257. $app = new Employee('Департамент рекламы','Менеджер',1,0,20,200);
  258. $get_salary= $app->getSalary($app->post,$app->rang);
  259. $app->salary=$get_salary;
  260. array_push($thirdDep,$app);
  261. }
  262.  
  263. for($i=0;$i<2;$i++){ //2×ин1
  264. $app = new Employee('Департамент рекламы','Инженер',1,0,5,50);
  265. $get_salary= $app->getSalary($app->post,$app->rang);
  266. $app->salary=$get_salary;
  267. array_push($thirdDep,$app);
  268. }
  269. //руководитель ма3
  270. $app = new Employee('Департамент рекламы','Руководитель маркетолог',3,0,15*2,0);//руководитель департамента ме2
  271. $get_salary= $app->getSalary($app->post,$app->rang);
  272. $app->salary=$get_salary;
  273. array_push($thirdDep,$app);
  274.  
  275. //Департамент логистики
  276. for($i=0;$i<13;$i++){ //13×ме1
  277. $app = new Employee('Департамент логистики','Менеджер',1,0,20,200);
  278. $get_salary= $app->getSalary($app->post,$app->rang);
  279. $app->salary=$get_salary;
  280. array_push($fourthDep,$app);
  281. }
  282.  
  283. for($i=0;$i<5;$i++){ //5×ме1
  284. $app = new Employee('Департамент логистики','Менеджер',2,0,20,200);
  285. $get_salary= $app->getSalary($app->post,$app->rang);
  286. $app->salary=$get_salary;
  287. array_push($fourthDep,$app);
  288. }
  289.  
  290. for($i=0;$i<5;$i++){ //5×ин1
  291. $app = new Employee('Департамент логистики','Инженер',1,0,5,50);
  292. $get_salary= $app->getSalary($app->post,$app->rang);
  293. $app->salary=$get_salary;
  294. array_push($fourthDep,$app);
  295. }
  296. //руководитель ме1
  297. $app = new Employee('Департамент логистики','Руководитель менеджер',1,0,20*2,0);//руководитель департамента ме2
  298. $get_salary= $app->getSalary($app->post,$app->rang);
  299. $app->salary=$get_salary;
  300. array_push($fourthDep,$app);
  301.  
  302. //Число сотрудников по каждому департаменту
  303. $firstDepStats=$app->getEmployeeStatsByDep($firstDep);
  304. $secondDepStats=$app->getEmployeeStatsByDep($secondDep);
  305. $thirdDepStats= $app->getEmployeeStatsByDep($thirdDep);
  306. $fourthDepStats= $app->getEmployeeStatsByDep($fourthDep);
  307.  
  308.  
  309. $Employee = array_merge($firstDep,$secondDep,$thirdDep,$fourthDep);
  310.  
  311.  
  312. //Суммарная зарплата по департаменту
  313. $summarySalaryFirstDep=$app->salarySummary($firstDep);
  314. $summarySalarySecondDep=$app->salarySummary($secondDep);
  315. $summarySalaryThirdDep=$app->salarySummary($thirdDep);
  316. $summarySalaryFourthDep=$app->salarySummary($fourthDep);
  317.  
  318. //Суммарно выпито коффе по департаменту
  319. $summaryCoffeeFirstDep=$app->coffeeSummary($firstDep);
  320. $summaryCoffeeSecondDep=$app->coffeeSummary($secondDep);
  321. $summaryCoffeeThirdDep=$app->coffeeSummary($thirdDep);
  322. $summaryCoffeeFourthDep=$app->coffeeSummary($fourthDep);
  323.  
  324. //Суммарно страниц по департаменту
  325. $summaryPagesFirstDep=$app->pagesSummary($firstDep);
  326. $summaryPagesSecondDep=$app->pagesSummary($secondDep);
  327. $summaryPagesThirdDep=$app->pagesSummary($thirdDep);
  328. $summaryPagesFourthDep=$app->pagesSummary($fourthDep);
  329.  
  330. //Эффективность по департаменту
  331. $efficiencyFirstDep=$app->efficiency($summarySalaryFirstDep,$summaryPagesFirstDep);
  332. $efficiencySecondDep=$app->efficiency($summarySalarySecondDep,$summaryPagesSecondDep);
  333. $efficiencyThirdDep=$app->efficiency($summarySalaryThirdDep,$summaryPagesThirdDep);
  334. $efficiencyFourthDep=$app->efficiency($summarySalaryFourthDep,$summaryPagesFourthDep);
  335.  
  336. //Подсчет среднего
  337. $averageEmployeeStat=$app->average($firstDepStats,$secondDepStats,$thirdDepStats,$fourthDepStats);
  338. $averageSalaryStat=$app->average($summarySalaryFirstDep,$summarySalarySecondDep,$summarySalaryThirdDep,$summarySalaryFourthDep);
  339. $averageCoffeeStat=$app->average($summaryCoffeeFirstDep,$summaryCoffeeSecondDep,$summaryCoffeeThirdDep,$summaryCoffeeFourthDep);
  340. $averagePagesStat=$app->average($summaryPagesFirstDep,$summaryPagesSecondDep,$summaryPagesThirdDep,$summaryPagesFourthDep);
  341. $averageEfficiency=$app->average($efficiencyFirstDep,$efficiencySecondDep,$efficiencyThirdDep,$efficiencyFourthDep);
  342.  
  343.  
  344. //Конечный результат
  345. $finalStatsFirstDep=array('Закупок',$firstDepStats,$summarySalaryFirstDep,$summaryCoffeeFirstDep,$summaryPagesFirstDep,$efficiencyFirstDep);
  346. $finalStatsSecondDep=array('Продаж',$secondDepStats,$summarySalarySecondDep,$summaryCoffeeSecondDep,$summaryPagesSecondDep,$efficiencySecondDep);
  347. $finalStatsThirdDep=array('Рекламы',$thirdDepStats,$summarySalaryThirdDep,$summaryCoffeeThirdDep,$summaryPagesThirdDep,$efficiencyThirdDep);
  348. $finalStatsFourthDep=array('Логистики',$fourthDepStats,$summarySalaryFourthDep,$summaryCoffeeFourthDep,$summaryPagesFourthDep,$efficiencyFourthDep);
  349. $averageStats= array('Среднее',$averageEmployeeStat,$averageSalaryStat,$averageCoffeeStat,$averagePagesStat,$averageEfficiency);
  350. $summaryStats= $app->summaryStats($Employee);
  351. ?>
  352.  
  353. <table>
  354. <thead>
  355. <tr>
  356. <td>Департамент</td>
  357. <td>сотр.</td>
  358. <td>тугр.</td>
  359. <td>кофе</td>
  360. <td>стр.</td>
  361. <td>туг./стр.</td>
  362. </tr>
  363. </thead>
  364. <tbody>
  365. <tr>
  366. <?php foreach ($finalStatsFirstDep as $key => $value):?>
  367. <td><? echo $value?></td>
  368. <?endforeach;?>
  369. </tr>
  370. <tr>
  371. <?php foreach ($finalStatsSecondDep as $key => $value):?>
  372. <td><? echo $value?></td>
  373. <?endforeach;?>
  374. </tr>
  375. <tr>
  376. <?php foreach ($finalStatsThirdDep as $key => $value):?>
  377. <td><? echo $value?></td>
  378. <?endforeach;?>
  379. </tr>
  380. <tr>
  381. <?php foreach ($finalStatsFourthDep as $key => $value):?>
  382. <td><? echo $value?></td>
  383. <?endforeach;?>
  384. </tr>
  385. <tr>
  386. <?php foreach ($averageStats as $key => $value):?>
  387. <td><? echo $value?></td>
  388. <?endforeach;?>
  389. </tr>
  390. <tr>
  391. <?php foreach ($summaryStats as $key => $value):?>
  392. <td><? echo $value?></td>
  393. <?endforeach;?>
  394. </tr>
  395. </tbody>
  396. </table>
  397.  
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