Example #1
0
 /**
  * Get Upcoming Tasks for given Trade
  */
 public function getUpcomingTasks(Request $request, $date)
 {
     $trade_list = Auth::user()->company->tradeList->pluck('id')->toArray();
     $tasks = Task::whereIn('trade_id', $trade_list)->where('upcoming', '1')->where('status', '1')->orderBy('name')->get();
     // Upcoming Task Categories
     $task_cats = [];
     $task_list = [];
     foreach ($tasks as $task) {
         $array = [];
         $array['id'] = $task->id;
         $array['name'] = $task->name;
         $array['code'] = $task->code;
         $array['trade_id'] = $task->trade_id;
         $task_cats[] = $array;
         $task_list[] = $task->id;
     }
     // Upcoming Task items
     $date_from = Carbon::createFromFormat('Y-m-d H:i:s', $date . ' 00:00:00');
     $date_to = Carbon::createFromFormat('Y-m-d H:i:s', $date . ' 00:00:00');
     $date_from->addDays(7);
     $date_to->addDays(49);
     $planner = SitePlanner::select(['id', 'site_id', 'entity_type', 'entity_id', 'task_id', 'from', 'to', 'days'])->where('from', '>=', $date_from->format('Y-m-d'))->where('from', '<=', $date_to->format('Y-m-d'))->whereIn('task_id', $task_list)->orderBy('entity_type', 'desc')->orderBy('from')->get();
     $task_plan = [];
     foreach ($planner as $plan) {
         $task_plan[] = $this->getPlanData($plan);
     }
     $json = [];
     $json[] = $task_cats;
     $json[] = $task_plan;
     return $json;
 }