Add RIDER_FINISH event. Add date_complete to API response. #424

This commit is contained in:
Korina Cordero 2020-07-23 02:50:13 +00:00
parent 37fef914d9
commit 232ebfe3fc
2 changed files with 31 additions and 0 deletions

View file

@ -18,6 +18,7 @@ class CMBJOEventType extends NameValue
const RIDER_EDIT = 'rider_edit'; const RIDER_EDIT = 'rider_edit';
const PAID = 'paid'; const PAID = 'paid';
const PERFORM = 'perform'; const PERFORM = 'perform';
const RIDER_FINISH = 'finish';
const COLLECTION = [ const COLLECTION = [
'create' => 'Created', 'create' => 'Created',
@ -34,5 +35,6 @@ class CMBJOEventType extends NameValue
'rider_edit' => 'Rider Edit', 'rider_edit' => 'Rider Edit',
'paid' => 'Paid', 'paid' => 'Paid',
'perform' => 'Perform', 'perform' => 'Perform',
'finish' => 'Finish',
]; ];
} }

View file

@ -489,6 +489,16 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$date_start = $jo_event->getDateHappen()->format('Ymd H:i:s'); $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[] = [ $jo_data[] = [
'job_order' => [ 'job_order' => [
'id' => $jo->getID(), 'id' => $jo->getID(),
@ -534,6 +544,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
// date and time accepted and started // date and time accepted and started
'date_accept' => $date_accept, 'date_accept' => $date_accept,
'date_start' => $date_start, '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'); $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 = [ $data = [
'id' => $jo->getID(), 'id' => $jo->getID(),
'service_type' => $jo->getServiceType(), 'service_type' => $jo->getServiceType(),
@ -865,6 +886,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
// date and time accepted and started // date and time accepted and started
'date_accept' => $date_accept, 'date_accept' => $date_accept,
'date_start' => $date_start, 'date_start' => $date_start,
'date_complete' => $date_complete,
// END: cmb specific details // END: cmb specific details
]; ];
@ -1547,6 +1569,13 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
->setRider($rider); ->setRider($rider);
$this->em->persist($event); $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 // save to customer vehicle battery record
$this->jo_handler->updateVehicleBattery($jo); $this->jo_handler->updateVehicleBattery($jo);