Add new events to JO details report. #618

This commit is contained in:
Korina Cordero 2021-08-24 08:58:54 +00:00
parent db4345aa71
commit 6937ffdd6a

View file

@ -821,9 +821,39 @@ class ReportController extends Controller
'Date and Time Dispatched', 'Date and Time Dispatched',
'Date Dispatched', 'Date Dispatched',
'Time Dispatched', 'Time Dispatched',
'Date and Time Assigned',
'Date Assigned',
'Time Assigned',
'Date and Time Accepted',
'Date Accepted',
'Time Accepted',
'Date and Time Rider Left Hub',
'Date Rider Left Hub',
'Time Rider Left Hub',
'Date and Time Rider Arrived Hub Pre-JO',
'Date Rider Arrived Hub Pre-JO',
'Time Rider Arrived Hub Pre-JO',
'Date and Time Rider Left Hub Pre-JO',
'Date Rider Left Hub Pre-JO',
'Time Rider Left Hub Pre-JO',
'Date and Time Arrived', 'Date and Time Arrived',
'Date Arrived', 'Date Arrived',
'Time Arrived', 'Time Arrived',
'Date and Time Rider Started Sales/Service',
'Date Rider Started Sales/Service',
'Time Rider Started Sales/Service',
'Date and Time Rider Ended Sales/Service',
'Date Rider Ended Sales/Service',
'Time Rider Ended Sales/Service',
'Date and Time Rider Arrived Hub Post-JO',
'Date Rider Arrived Hub Post-JO',
'Time Rider Arrived Hub Post-JO',
'Date and Time Rider Left Hub Post-JO',
'Date Rider Left Hub Post-JO',
'Time Rider Left Hub Post-JO',
'Date and Time Rider Arrived Hub',
'Date Rider Arrived Hub',
'Time Rider Arrived Hub',
'Created vs Arrival', 'Created vs Arrival',
'Customer Latitude', 'Customer Latitude',
'Customer Longitude', 'Customer Longitude',
@ -1793,7 +1823,6 @@ class ReportController extends Controller
} }
// find date and time when JO was assigned a rider // find date and time when JO was assigned a rider
/*
$datetime_rider_assign_jo = ''; $datetime_rider_assign_jo = '';
$date_rider_assign_jo = ''; $date_rider_assign_jo = '';
$time_rider_assign_jo = ''; $time_rider_assign_jo = '';
@ -1809,7 +1838,73 @@ class ReportController extends Controller
$date_rider_assign_jo = $rider_assign_event->getDateHappen()->format('d-M-Y'); $date_rider_assign_jo = $rider_assign_event->getDateHappen()->format('d-M-Y');
$time_rider_assign_jo = $rider_assign_event->getDateHappen()->format('H:i'); $time_rider_assign_jo = $rider_assign_event->getDateHappen()->format('H:i');
} }
} */ }
// find date and time when rider accepted the JO
$datetime_rider_accept_jo = '';
$date_rider_accept_jo = '';
$time_rider_accept_jo = '';
$rider_accept_event_type = JOEventType::RIDER_ACCEPT;
$rider_accept_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_accept_event_type], ['date_happen' => 'DESC']);
if ($rider_accept_events != null)
{
foreach ($rider_accept_events as $rider_accept_event)
{
// TODO: what happens if JO was accepted by riders multiple times?
// right now, this gets the last time rider was accepted.
$datetime_rider_accept_jo = $rider_accept_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_accept_jo = $rider_accept_event->getDateHappen()->format('d-M-Y');
$time_rider_accept_jo = $rider_accept_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider leaves hub
$datetime_rider_depart_hub = '';
$date_rider_depart_hub = '';
$time_rider_depart_hub = '';
$rider_depart_hub_event_type = JOEventType::RIDER_DEPART_HUB;
$rider_depart_hub_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_depart_hub_event_type], ['date_happen' => 'DESC']);
if ($rider_depart_hub_events != null)
{
foreach ($rider_depart_hub_events as $rider_depart_hub_event)
{
$datetime_rider_depart_hub = $rider_depart_hub_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_depart_hub = $rider_depart_hub_event->getDateHappen()->format('d-M-Y');
$time_rider_depart_hub = $rider_depart_hub_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider arrives at hub pre-jo
$datetime_rider_arrive_hub_pre_jo = '';
$date_rider_arrive_hub_pre_jo = '';
$time_rider_arrive_hub_pre_jo = '';
$rider_arrive_hub_pre_jo_event_type = JOEventType::RIDER_ARRIVE_HUB_PRE_JO;
$rider_arrive_hub_pre_jo_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_arrive_hub_pre_jo_event_type], ['date_happen' => 'DESC']);
if ($rider_arrive_hub_pre_jo_events != null)
{
foreach ($rider_arrive_hub_pre_jo_events as $rider_arrive_hub_pre_jo_event)
{
$datetime_rider_arrive_hub_pre_jo = $rider_arrive_hub_pre_jo_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_arrive_hub_pre_jo = $rider_arrive_hub_pre_jo_event->getDateHappen()->format('d-M-Y');
$time_rider_arrive_hub_pre_jo = $rider_arrive_hub_pre_jo_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider leaves hub pre-jo
$datetime_rider_leave_hub_pre_jo = '';
$date_rider_leave_hub_pre_jo = '';
$time_rider_leave_hub_pre_jo = '';
$rider_leave_hub_pre_jo_event_type = JOEventType::RIDER_DEPART_HUB_PRE_JO;
$rider_leave_hub_pre_jo_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_leave_hub_pre_jo_event_type], ['date_happen' => 'DESC']);
if ($rider_leave_hub_pre_jo_events != null)
{
foreach ($rider_leave_hub_pre_jo_events as $rider_leave_hub_pre_jo_event)
{
$datetime_rider_leave_hub_pre_jo = $rider_leave_hub_pre_jo_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_leave_hub_pre_jo = $rider_leave_hub_pre_jo_event->getDateHappen()->format('d-M-Y');
$time_rider_leave_hub_pre_jo = $rider_leave_hub_pre_jo_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider arrived at customer // find date and time when rider arrived at customer
$datetime_rider_arrive_jo = ''; $datetime_rider_arrive_jo = '';
@ -1829,6 +1924,86 @@ class ReportController extends Controller
} }
} }
// find date and time when rider started the job
$datetime_rider_start_jo = '';
$date_rider_start_jo = '';
$time_rider_start_jo = '';
$rider_start_event_type = JOEventType::RIDER_START;
$rider_start_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_start_event_type], ['date_happen' => 'DESC']);
if ($rider_start_events != null)
{
foreach ($rider_start_events as $rider_start_event)
{
$datetime_rider_start_jo = $rider_start_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_start_jo = $rider_start_event->getDateHappen()->format('d-M-Y');
$time_rider_start_jo = $rider_start_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider finished the job
$datetime_rider_end_jo = '';
$date_rider_end_jo = '';
$time_rider_end_jo = '';
$rider_end_event_type = JOEventType::RIDER_END;
$rider_end_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_end_event_type], ['date_happen' => 'DESC']);
if ($rider_end_events != null)
{
foreach ($rider_end_events as $rider_end_event)
{
$datetime_rider_end_jo = $rider_end_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_end_jo = $rider_end_event->getDateHappen()->format('d-M-Y');
$time_rider_end_jo = $rider_end_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider arrives at hub post-jo
$datetime_rider_arrive_hub_post_jo = '';
$date_rider_arrive_hub_post_jo = '';
$time_rider_arrive_hub_post_jo = '';
$rider_arrive_hub_post_jo_event_type = JOEventType::RIDER_ARRIVE_HUB_POST_JO;
$rider_arrive_hub_post_jo_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_arrive_hub_post_jo_event_type], ['date_happen' => 'DESC']);
if ($rider_arrive_hub_post_jo_events != null)
{
foreach ($rider_arrive_hub_post_jo_events as $rider_arrive_hub_post_jo_event)
{
$datetime_rider_arrive_hub_post_jo = $rider_arrive_hub_post_jo_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_arrive_hub_post_jo = $rider_arrive_hub_post_jo_event->getDateHappen()->format('d-M-Y');
$time_rider_arrive_hub_post_jo = $rider_arrive_hub_post_jo_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider leaves hub post-jo
$datetime_rider_leave_hub_post_jo = '';
$date_rider_leave_hub_post_jo = '';
$time_rider_leave_hub_post_jo = '';
$rider_leave_hub_post_jo_event_type = JOEventType::RIDER_DEPART_HUB_POST_JO;
$rider_leave_hub_post_jo_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_leave_hub_post_jo_event_type], ['date_happen' => 'DESC']);
if ($rider_leave_hub_post_jo_events != null)
{
foreach ($rider_leave_hub_post_jo_events as $rider_leave_hub_post_jo_event)
{
$datetime_rider_leave_hub_post_jo = $rider_leave_hub_post_jo_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_leave_hub_post_jo = $rider_leave_hub_post_jo_event->getDateHappen()->format('d-M-Y');
$time_rider_leave_hub_post_jo = $rider_leave_hub_post_jo_event->getDateHappen()->format('H:i');
}
}
// find date and time when rider arrives at hub
$datetime_rider_arrive_hub = '';
$date_rider_arrive_hub = '';
$time_rider_arrive_hub = '';
$rider_arrive_hub_event_type = JOEventType::RIDER_ARRIVE_HUB;
$rider_arrive_hub_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_arrive_hub_event_type], ['date_happen' => 'DESC']);
if ($rider_arrive_hub_events != null)
{
foreach ($rider_arrive_hub_events as $rider_arrive_hub_event)
{
$datetime_rider_arrive_hub = $rider_arrive_hub_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_arrive_hub = $rider_arrive_hub_event->getDateHappen()->format('d-M-Y');
$time_rider_arrive_hub = $rider_arrive_hub_event->getDateHappen()->format('H:i');
}
}
// compute time difference between jo creation and rider arrival // compute time difference between jo creation and rider arrival
$time_diff_create_arrive = ''; $time_diff_create_arrive = '';
if ($dt_rider_arrive != null) if ($dt_rider_arrive != null)
@ -1961,9 +2136,39 @@ class ReportController extends Controller
$datetime_hub_assign_jo, $datetime_hub_assign_jo,
$date_hub_assign_jo, $date_hub_assign_jo,
$time_hub_assign_jo, $time_hub_assign_jo,
$datetime_rider_assign_jo,
$date_rider_assign_jo,
$time_rider_assign_jo,
$datetime_rider_accept_jo,
$date_rider_accept_jo,
$time_rider_accept_jo,
$datetime_rider_depart_hub,
$date_rider_depart_hub,
$time_rider_depart_hub,
$datetime_rider_arrive_hub_pre_jo,
$date_rider_arrive_hub_pre_jo,
$time_rider_arrive_hub_pre_jo,
$datetime_rider_leave_hub_pre_jo,
$date_rider_leave_hub_pre_jo,
$time_rider_leave_hub_pre_jo,
$datetime_rider_arrive_jo, $datetime_rider_arrive_jo,
$date_rider_arrive_jo, $date_rider_arrive_jo,
$time_rider_arrive_jo, $time_rider_arrive_jo,
$datetime_rider_start_jo,
$date_rider_start_jo,
$time_rider_start_jo,
$datetime_rider_end_jo,
$date_rider_end_jo,
$time_rider_end_jo,
$datetime_rider_arrive_hub_post_jo,
$date_rider_arrive_hub_post_jo,
$time_rider_arrive_hub_post_jo,
$datetime_rider_leave_hub_post_jo,
$date_rider_leave_hub_post_jo,
$time_rider_leave_hub_post_jo,
$datetime_rider_arrive_hub,
$date_rider_arrive_hub,
$time_rider_arrive_hub,
$time_diff_create_arrive, $time_diff_create_arrive,
$coord_lat, $coord_lat,
$coord_long, $coord_long,