Add rider_available events. #619

This commit is contained in:
Korina Cordero 2021-08-31 09:35:17 +00:00
parent 82a49aa7ca
commit 070c88760a
4 changed files with 54 additions and 1 deletions

View file

@ -733,9 +733,14 @@ class RiderAppController extends APIController
$em->persist($timestamp_event);
// NOTE: need to discuss at what point do we set rider to available
// is it when rider arrives at home hub? Or only when rider
// clicks Available on app?
// tag rider as available
$rider->setAvailable(true);
// NOTE: we set current job order to null when rider becomes
// available
// set rider's current job order to null
$rider->setCurrentJobOrder();
@ -976,6 +981,26 @@ class RiderAppController extends APIController
$rider->setAvailable(true);
// create timestamp event when rider set to available via app
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(JOEventType::RIDER_AVAILABLE)
->setRider($rider);
// get rider's current job order
$jo = $rider->getCurrentJobOrder();
// check if jo is null
if ($jo != null)
{
// set delivery status
$jo->setDeliveryStatus(DeliveryStatus::RIDER_AVAILABLE);
// set event's jo
$event->setJobOrder($jo);
}
$em->persist($event);
$em->flush();
$data = [];

View file

@ -854,6 +854,9 @@ class ReportController extends Controller
'Date and Time Rider Arrived Hub',
'Date Rider Arrived Hub',
'Time Rider Arrived Hub',
'Date and Time Rider is Available',
'Date Rider is Available',
'Time Rider is Available',
'Created vs Arrival',
'Customer Latitude',
'Customer Longitude',
@ -915,7 +918,8 @@ class ReportController extends Controller
$data = array_merge($hub_events, $blanks, $assign_events, $blanks, $accept_events, $blanks, $depart_hub_events, $blanks,
$arrive_hub_prejo_events, $blanks, $depart_hub_prejo_events, $blanks, $arrive_events, $blanks, $start_events, $blanks,
$end_events, $blanks, $arrive_hub_postjo_events, $blanks, $depart_hub_postjo_events, $blanks, $arrive_hub_events);
$end_events, $blanks, $arrive_hub_postjo_events, $blanks, $depart_hub_postjo_events, $blanks, $arrive_hub_events,
$blanks, $available_events);
$resp = new StreamedResponse();
$resp->setCallback(function() use ($data) {
@ -2004,6 +2008,23 @@ class ReportController extends Controller
}
}
// find date and time when rider is available
$datetime_rider_available = '';
$date_rider_available = '';
$time_rider_available = '';
$rider_available_event_type = JOEventType::RIDER_AVAILABLE;
$rider_available_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_available_event_type], ['date_happen' => 'DESC']);
if ($rider_available_events != null)
{
foreach ($rider_available_events as $rider_available_event)
{
$datetime_rider_available = $rider_available_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_available = $rider_available_event->getDateHappen()->format('d-M-Y');
$time_rider_available = $rider_available_event->getDateHappen()->format('H:i');
}
}
// compute time difference between jo creation and rider arrival
$time_diff_create_arrive = '';
if ($dt_rider_arrive != null)
@ -2169,6 +2190,9 @@ class ReportController extends Controller
$datetime_rider_arrive_hub,
$date_rider_arrive_hub,
$time_rider_arrive_hub,
$datetime_rider_available,
$date_rider_available,
$time_rider_available,
$time_diff_create_arrive,
$coord_lat,
$coord_long,

View file

@ -19,6 +19,7 @@ class DeliveryStatus extends NameValue
const RIDER_ARRIVE_HUB = 'rider_arrive_hub';
const CANCELLED = 'cancelled';
const FULFILLED = 'fulfilled';
const RIDER_AVAILABLE = 'rider_available';
const COLLECTION = [
'rider_assign' => 'Assigned Rider',
@ -36,6 +37,7 @@ class DeliveryStatus extends NameValue
'rider_arrive_hub' => 'Rider Arrive Hub',
'cancelled' => 'Cancelled',
'fulfilled' => 'Fulfilled',
'rider_available' => 'Rider Available',
];
}

View file

@ -22,6 +22,7 @@ class JOEventType extends NameValue
const RIDER_ARRIVE_HUB_POST_JO = 'rider_arrive_hub_post_jo';
const RIDER_DEPART_HUB_POST_JO = 'rider_depart_hub_post_jo';
const RIDER_ARRIVE_HUB = 'rider_arrive_hub';
const RIDER_AVAILABLE = 'rider_available';
const COLLECTION = [
'create' => 'Created',
@ -42,5 +43,6 @@ class JOEventType extends NameValue
'rider_arrive_hub_post_jo' => 'Rider Arrive Hub Post JO',
'rider_depart_hub_post_jo' => 'Rider Depart Hub Post JO',
'rider_arrive_hub' => 'Rider Arrive Hub',
'rider_available' => 'Rider Available',
];
}