Ejemplo n.º 1
0
 public function scheduled(Request $reqest)
 {
     $this->view->title = "Job Schedule";
     $this->view->breadcrumbs = ['job-lists' => 'Job Lists', 'job-lists/scheduled' => 'Scheduled'];
     $startDate = new \DateTime($reqest->input('start_date'));
     $endDate = new \DateTime($reqest->input('end_date'));
     if ($startDate->diff($endDate, true)->d < 7) {
         $endDate->add(new \DateInterval('P14D'));
     }
     $datePeriod = new \DatePeriod($startDate, new \DateInterval('P1D'), $endDate);
     $this->view->start_date = $startDate->format('Y-m-d');
     $this->view->end_date = $endDate->format('Y-m-d');
     $this->view->job_lists = [];
     $jobLists = JobList::whereBetween('start_date', [$this->view->start_date, $this->view->end_date])->groupBy(['crew_id', 'start_date'])->get();
     foreach ($jobLists as $jl) {
         if (!isset($this->view->job_lists[$jl->crew->name])) {
             $this->view->job_lists[$jl->crew->name] = [];
         }
         $this->view->job_lists[$jl->crew->name][$jl->start_date] = $jl;
     }
     $this->view->dates = $datePeriod;
     $this->view->crews = Crew::query()->orderBy('name')->get();
     return $this->view;
 }