/** * @param Report $report * * @return array */ public function getDisplayingVersion(Report $report) { // Initialize array of jobs and sort $jobs = []; foreach ($report->getJobReportYears() as $reportYear) { foreach ($reportYear->getMonths() as $month) { foreach ($month->getRows() as $row) { if (!in_array($row->getCodeJob(), $jobs)) { $jobs[] = $row->getCodeJob(); } } } } sort($jobs); $jobs = array_flip($jobs); $years = []; foreach ($report->getJobReportYears() as $reportYear) { $months = []; foreach ($reportYear->getMonths() as $month) { $rows = array_fill(0, count($jobs), ['number' => null, 'duration' => null]); foreach ($month->getRows() as $row) { $index = $jobs[$row->getCodeJob()]; $rows[$index] = ['number' => $row->getNumber(), 'duration' => $row->getDuration()]; } $months[] = ['title' => $month->getMonth(), 'number' => $month->getNumber(), 'duration' => $month->getDuration(), 'rows' => $rows]; } $years[] = ['title' => $reportYear->getYear(), 'number' => $reportYear->getNumber(), 'duration' => $reportYear->getDuration(), 'months' => $months]; } return ['jobs' => $jobs, 'detail' => $years]; }
/** * @param Report $report * * @return array */ public function getDisplayingVersion(Report $report) { $years = []; foreach ($report->getNurseryReportYears() as $reportYear) { $months = []; foreach ($reportYear->getMonths() as $month) { $months[] = ['title' => $month->getMonth(), 'numberMeal' => $month->getNumberMeal(), 'duration' => $month->getDuration()]; } $years[] = ['title' => $reportYear->getYear(), 'numberMeal' => $reportYear->getNumberMeal(), 'duration' => $reportYear->getDuration(), 'months' => $months]; } return $years; }