/** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function getDay(Request $request) { $date = $request->input('date'); $queueModel = new Queue(); $queue = $queueModel->where('date', '=', $date)->get(); $counts['all'] = $queue->count(); $counts['real_queue'] = $queueModel->where('date', '=', $date)->where('is_real_queue', '=', 1)->get()->count(); $counts['online_queue'] = $queueModel->where('date', '=', $date)->where('is_real_queue', '=', 0)->get()->count(); $cur_settings = Current_setting::where('day_date', '=', $date)->get(); $cur_settings->sortBy('period_start_time'); $periods = array(); foreach ($cur_settings as $c) { $check = Queue::where('start_time', '=', $c['period_start_time'])->where('date', '=', $c['day_date'])->get(); $period['period_start_time'] = $c['period_start_time']; $period['period_end_time'] = $c['period_end_time']; $period['queue'] = $check; $period['count'] = $check->count(); array_push($periods, $period); } $data['periods'] = $periods; $data['counts'] = $counts; return Response::json($data); }
/** * отримання списку періодів і стану черги на день * @param Queue $queueModel * @param Current_setting $cur_setting * @param Request $request * * @return \Illuminate\Http\JsonResponse */ public function getDay(Queue $queueModel, Current_setting $cur_setting, Request $request) { //todo Зробити функціонал для оновлення інформації про чергу відносно дня. $queueModel = new Queue(); $today = $request->input('date'); $res['cur_settings'] = Current_setting::where('day_date', '=', $today)->get(); $res['res_array'] = array(); foreach ($res['cur_settings'] as $c) { $check = Queue::where('start_time', '=', $c['period_start_time'])->where('date', '=', $c['day_date'])->get(); if ($check->count() < 4) { array_push($res['res_array'], 1); } else { array_push($res['res_array'], 0); } } return Response::json($res); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Queue $queueModel, Current_setting $cur_setting, Request $request) { $data = $request->all(); $cur_date = $data['date']; $cur_date = str_replace('-', '', $cur_date); $checked = false; $queueKey = 1; while (!$checked) { $maxvalue = $queueModel->where('date', '=', $data['date'])->where('real_queue_key', '<>', 0)->where('is_real_queue', '=', 1)->orderBy('real_queue_key', 'DESC')->first(); if ($maxvalue) { //dd($maxvalue['real_queue_key']); $queueKey = $maxvalue['real_queue_key'] + 1; $cur_date .= $maxvalue['real_queue_key'] + 1; $checked = true; } else { $cur_date = $cur_date . '1'; $checked = true; } } unset($data['_token']); $data['real_queue_key'] = $queueKey; $data['register_key'] = $cur_date; $data['is_real_queue'] = true; // $data['is_present'] = true; $data['is_admin_record'] = true; $queueModel->create($data); $data['register_key'] = substr($cur_date, -4); return Response::json($data); }