Пример #1
0
 /**
  * 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);
 }
Пример #2
0
 /**
  * отримання списку періодів і стану черги на день
  * @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);
 }
Пример #3
0
 /**
  * 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);
 }