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 getWebhook()
 {
     $input = Input::all();
     $response = array();
     try {
         $onFleet = new OnFleet();
         $response = $onFleet->listWebHook();
     } catch (\Exception $e) {
         Log::error($e);
         $response['status'] = '0';
         $msg = (array) $e->getMessage();
         $response['msg'] = $msg[0];
     }
     return Response::json($response);
 }
Exemplo n.º 3
0
 public function assignTask($od, $destination, $driver)
 {
     $onfleetClass = new OnFleet();
     $orgId = $onfleetClass->getOrgID();
     $taskDetails = ["merchant" => $orgId, "executor" => $orgId, "destination" => $destination, "recipients" => [$od['recipient_id']], "notes" => "Order " . $od['id'] . ": " . $od['task_note'], "worker" => $driver['onfleet_id']];
     $onfleetClass = new OnFleet();
     $response = $onfleetClass->createTask($taskDetails);
     $response = isset($response['output']) ? $response['output'] : false;
     if ($response || !isset($response->code)) {
         return $response;
     } else {
         return false;
     }
 }
Exemplo n.º 4
0
 public function cancelOrderFromRedis($order_id, $zone_id, $db)
 {
     # Check order status [if in orderQeue or orderProcessing]
     # if (it in order queue)
     # set order hash value 9
     # if in processing Queue
     # remove data from processing
     # remove data from hash
     $this->redis->db($db);
     $order = $this->redis->hExists('orderQueue:' . $zone_id, $order_id);
     if ($order) {
         $testdata = $this->redis->hSet('orderQueue:' . $zone_id, $order_id, 9);
         # Remove from orderProcessing
         # $this->redis->hDel('orderProcessing:' . $zone_id, $order_id);
         # Remove from orderDetails
         # $this->redis->delete('orderDetails:' . $order_id);
         ##deleting task fron onfleet
         $order_data = Order::select('onfleet_task_id', 'onfleet_task_started')->where('id', '=', $order_id)->first();
         if (isset($order_data) && $order_data->onfleet_task_id != '') {
             $onfleet = new OnFleet();
             if ($order_data->onfleet_task_started != NULL) {
                 $onfleet->completeTask(array('id' => $order_data->onfleet_task_id, 'completionDetails' => array('success' => false, 'notes' => 'Task cancelled by customer.')));
             } else {
                 $onfleet->deleteTask(array('id' => $order_data->onfleet_task_id));
             }
         }
     }
 }