Exemplo n.º 1
0
 public function dragndropDriver()
 {
     $input = array();
     $response = array();
     $data = array();
     $input = Input::all();
     try {
         $response['status'] = "1";
         $response['msg'] = "Success";
         $onfleet_id = Driver::where('id', $input['driver_id'])->pluck('onfleet_id');
         if ($onfleet_id) {
             $onfleetClass = new OnFleet();
             $worker = ['id' => $onfleet_id];
             $onfleetResponse = $onfleetClass->getSingleWorker($worker);
             if (isset($onfleetResponse) && isset($onfleetResponse->id) && $onfleetResponse->id != "" && ($onfleetResponse->activeTask == "" || $onfleetResponse->activeTask == "null")) {
                 if (isset($onfleetResponse->tasks) && is_array($onfleetResponse->tasks) && count($onfleetResponse->tasks) > 0) {
                     $response['status'] = '3';
                 }
             }
         }
         if ($response['status'] == "1") {
             $has_processing_order = Order::where('meal_plan_id', $input['meal_plan_id'])->where('market_office_city_delivery_zone_id', $input['exist_zone_id'])->where('driver_id', $input['driver_id'])->where('order_status', 'Processing')->count();
             if ($has_processing_order > 0) {
                 $response['status'] = '4';
                 $response['msg'] = "The driver is assigned,So unable to change zone.";
             } else {
                 $data['market_office_city_delivery_zone_id'] = $input['zone_id'];
                 TodaysDriversList::where('id', $input['driver_list_id'])->update($data);
                 $response['status'] = '1';
                 $response['msg'] = "Driver successfully moved";
             }
         }
         $drivers = $this->driverAndLocationInfo($input);
         $response['drivers'] = $drivers['data'];
         $response['driver_count'] = $drivers['count'];
         $response['meal_cat_name'] = $drivers['meal_cat_name'];
         $response['delivery_zone'] = $drivers['delivery_zone'];
         $response['each_driver_count'] = $drivers['each_driver_count'];
     } catch (Exception $e) {
         Log::error($e);
         $response['status'] = '0';
         $msg = (array) $e->getMessage();
         $response['msg'] = $msg[0];
     }
     return Response::json($response);
 }
Exemplo n.º 2
0
 public function chk_driverStatus($drivers, $redisDB)
 {
     // from on fleet
     $return = false;
     $drivers = array_keys($drivers);
     $redis = new ApiRedis();
     $drivers = $redis->filterDrivers($drivers, $redisDB);
     if (sizeof($drivers)) {
         $drivers = $this->driverDetails($drivers);
         foreach ($drivers as $d) {
             if ($d['onfleet_id']) {
                 $onfleetClass = new OnFleet();
                 $response = $onfleetClass->getSingleWorker(["id" => $d['onfleet_id']]);
                 if (isset($response['output'])) {
                     $response = $response['output'];
                     if ($response->onDuty && count($response->tasks) == 0 && !$response->activeTask && $redis->isLockedRev($d['id'], $redisDB)) {
                         $redis->doLocked($d['id'], 0, $redisDB);
                         $return = $d;
                         break;
                     }
                 }
                 //$return = $d;
             }
         }
     }
     return $return;
 }