diff --git a/src/Ramcar/CMBJOEventType.php b/src/Ramcar/CMBJOEventType.php index e6a14482..4a26baa4 100644 --- a/src/Ramcar/CMBJOEventType.php +++ b/src/Ramcar/CMBJOEventType.php @@ -18,6 +18,7 @@ class CMBJOEventType extends NameValue const RIDER_EDIT = 'rider_edit'; const PAID = 'paid'; const PERFORM = 'perform'; + const RIDER_FINISH = 'finish'; const COLLECTION = [ 'create' => 'Created', @@ -34,5 +35,6 @@ class CMBJOEventType extends NameValue 'rider_edit' => 'Rider Edit', 'paid' => 'Paid', 'perform' => 'Perform', + 'finish' => 'Finish', ]; } diff --git a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php index d435e0ca..27bfedc4 100644 --- a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php +++ b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php @@ -489,6 +489,16 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface $date_start = $jo_event->getDateHappen()->format('Ymd H:i:s'); } + // get time when JO was completed by rider + $complete_event_type = CMBJOEventType::RIDER_FINISH; + $date_complete = ''; + $complete_results = $this->em->getRepository(JOEvent::class)->findby(['type_id' => $complete_event_type, 'rider' => $rider_id, 'job_order' => $jo_id], ['date_happen' => 'DESC']); + if ($complete_results != null) + { + $jo_event = current($complete_results); + $date_complete = $jo_event->getDateHappen()->format('Ymd H:i:s'); + } + $jo_data[] = [ 'job_order' => [ 'id' => $jo->getID(), @@ -534,6 +544,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface // date and time accepted and started 'date_accept' => $date_accept, 'date_start' => $date_start, + 'date_complete' => $date_complete, ] ]; } @@ -808,6 +819,16 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface $date_start = $jo_event->getDateHappen()->format('Ymd H:i:s'); } + // get time when JO was completed by rider + $complete_event_type = CMBJOEventType::RIDER_FINISH; + $date_complete = ''; + $complete_results = $this->em->getRepository(JOEvent::class)->findby(['type_id' => $complete_event_type, 'rider' => $rider_id, 'job_order' => $jo_id], ['date_happen' => 'DESC']); + if ($complete_results != null) + { + $jo_event = current($complete_results); + $date_complete = $jo_event->getDateHappen()->format('Ymd H:i:s'); + } + $data = [ 'id' => $jo->getID(), 'service_type' => $jo->getServiceType(), @@ -865,6 +886,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface // date and time accepted and started 'date_accept' => $date_accept, 'date_start' => $date_start, + 'date_complete' => $date_complete, // END: cmb specific details ]; @@ -1547,6 +1569,13 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface ->setRider($rider); $this->em->persist($event); + $rider_event = new JOEvent(); + $rider_event->setDateHappen(new DateTime()) + ->setTypeID(CMBJOEventType::RIDER_FINISH) + ->setJobOrder($jo) + ->setRider($rider); + $this->em->persist($rider_event); + // save to customer vehicle battery record $this->jo_handler->updateVehicleBattery($jo);