Added the requested columns for the JO Details Report. #385

This commit is contained in:
Korina Cordero 2020-04-22 10:37:16 +00:00
parent 920400076d
commit 47a8f2dec1

View file

@ -1371,8 +1371,8 @@ class ReportController extends Controller
// right now, this gets the last time hub was assigned. // right now, this gets the last time hub was assigned.
foreach ($hub_assign_events as $hub_assign_event) foreach ($hub_assign_events as $hub_assign_event)
{ {
$datetime_hub_assign_jo = $hub_assign_event->getDateHappen()->format('m-d-Y H:i'); $datetime_hub_assign_jo = $hub_assign_event->getDateHappen()->format('d-M-Y H:i');
$date_hub_assign_jo = $hub_assign_event->getDateHappen()->format('m-d-Y'); $date_hub_assign_jo = $hub_assign_event->getDateHappen()->format('d-M-Y');
$time_hub_assign_jo = $hub_assign_event->getDateHappen()->format('H:i'); $time_hub_assign_jo = $hub_assign_event->getDateHappen()->format('H:i');
} }
} }
@ -1390,8 +1390,8 @@ class ReportController extends Controller
{ {
// TODO: what happens if JO was reassigned a rider multiple times? // TODO: what happens if JO was reassigned a rider multiple times?
// right now, this gets the last time rider was assigned. // right now, this gets the last time rider was assigned.
$datetime_rider_assign_jo = $rider_assign_event->getDateHappen()->format('m-d-Y H:i'); $datetime_rider_assign_jo = $rider_assign_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_assign_jo = $rider_assign_event->getDateHappen()->format('m-d-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');
} }
} */ } */
@ -1401,24 +1401,28 @@ class ReportController extends Controller
$date_rider_arrive_jo = ''; $date_rider_arrive_jo = '';
$time_rider_arrive_jo = ''; $time_rider_arrive_jo = '';
$rider_arrive_event_type = JOEventType::RIDER_ARRIVE; $rider_arrive_event_type = JOEventType::RIDER_ARRIVE;
$dt_rider_arrive = null;
$rider_arrive_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_arrive_event_type], ['date_happen' => 'DESC']); $rider_arrive_events = $em->getRepository(JOEvent::class)->findBy(['job_order' => $jo, 'type_id'=> $rider_arrive_event_type], ['date_happen' => 'DESC']);
if ($rider_arrive_events != null) if ($rider_arrive_events != null)
{ {
foreach ($rider_arrive_events as $rider_arrive_event) foreach ($rider_arrive_events as $rider_arrive_event)
{ {
$datetime_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('m-d-Y H:i'); $dt_rider_arrive = $rider_arrive_event->getDateHappen();
$date_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('m-d-Y'); $datetime_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('d-M-Y H:i');
$date_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('d-M-Y');
$time_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('H:i'); $time_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('H:i');
} }
} }
// compute time difference between jo creation and rider arrival // compute time difference between jo creation and rider arrival
if (!empty($datetime_rider_arrive_jo)) $time_diff_create_arrive = '';
if ($dt_rider_arrive != null)
{ {
$rider_arrive_time = DateTime::createFromFormat('m-d-Y H:i', $datetime_rider_arrive_jo);
$jo_create_time = $jo->getDateCreate(); $jo_create_time = $jo->getDateCreate();
// TODO // get time difference
$interval = $dt_rider_arrive->diff($jo_create_time);
$time_diff_create_arrive = $interval->format('%h:%i');
} }
// get invoice date create and item sku and serial if any // get invoice date create and item sku and serial if any
@ -1429,7 +1433,7 @@ class ReportController extends Controller
if ($invoice != null) if ($invoice != null)
{ {
$invoice_create = $invoice->getDateCreate(); $invoice_create = $invoice->getDateCreate();
$datetime_create_invoice = $invoice_create->format('m-d-Y H:i'); $datetime_create_invoice = $invoice_create->format('d-M-Y H:i');
// get item sku // get item sku
$invoice_items = $invoice->getItems(); $invoice_items = $invoice->getItems();
@ -1450,15 +1454,15 @@ class ReportController extends Controller
$time_create_jo = ''; $time_create_jo = '';
$jo_create = $jo->getDateCreate(); $jo_create = $jo->getDateCreate();
$datetime_create_jo = $jo_create->format('m-d-Y H:i'); $datetime_create_jo = $jo_create->format('d-M-Y H:i');
$date_create_jo = $jo_create->format('m-d-Y'); $date_create_jo = $jo_create->format('d-M-Y');
$time_create_jo = $jo_create->format('H:i'); $time_create_jo = $jo_create->format('H:i');
// get jo date schedule if any // get jo date schedule if any
$datetime_sked_jo = ''; $datetime_sked_jo = '';
$date_sked_jo = ''; $date_sked_jo = '';
$time_sked_jo = ''; $time_sked_jo = '';
$jo_date_scheduled = $jo->getDateScheduled(); $jo_date_scheduled = $jo->getDateSchedule();
if (empty($jo_date_scheduled)) if (empty($jo_date_scheduled))
{ {
// set to same date and time as date create of JO // set to same date and time as date create of JO
@ -1468,13 +1472,13 @@ class ReportController extends Controller
} }
else else
{ {
$datetime_sked_jo = $jo_date_scheduled->format('m-d-Y H:i'); $datetime_sked_jo = $jo_date_scheduled->format('d-M-Y H:i');
$date_sked_jo = $jo_date_scheduled->format('m-d-Y'); $date_sked_jo = $jo_date_scheduled->format('d-M-Y');
$time_sked_jo = $jo_date_scheduled->format('H:i'); $time_sked_jo = $jo_date_scheduled->format('H:i');
} }
// get month from date_create // get month from date_create
$month = $jo_create->format('m'); $month = $jo_create->format('M');
// get rider if any // get rider if any
$rider_name = ''; $rider_name = '';
@ -1483,12 +1487,81 @@ class ReportController extends Controller
$rider_name = $rider->getFullName(); $rider_name = $rider->getFullName();
// get customer information // get customer information
$cust_name = '';
$cust_mobile_number = '';
$plate_number = '';
$dpa = 'No';
$existing_batt = '';
$customer = $jo->getCustomer(); $customer = $jo->getCustomer();
if ($customer != null)
{
$cust_name = $customer->getNameDisplay();
if ($customer->isDpaConsent())
$dpa = 'Yes';
// get mobile number from mobile session
// find latest generated mobile session for customer
$mobile_sessions = $em->getRepository(MobileSession::class)->findBy(['customer' => $customer], ['date_generated' => 'DESC']);
if ($mobile_sessions != null)
{
foreach($mobile_sessions as $mobile_session)
{
$cust_mobile_number = $mobile_session->getPhoneNumber();
}
}
}
// get customer vehicle // get customer vehicle
$cust_vehicle = $jo->getCustomerVehicle(); $cust_vehicle = $jo->getCustomerVehicle();
if ($cust_vehicle != null)
{
$plate_number = $cust_vehicle->getPlateNumber();
$curr_batt = $cust_vehicle->getCurrentBattery();
if ($curr_batt != null)
$existing_batt = $curr_batt->getModel()->getName() . ' ' . $curr_batt->getSize()->getName();
}
$result[] = [ $result[] = [
$month,
$datetime_sked_jo,
$date_sked_jo,
$time_sked_jo,
$hub_name,
$fac_hub_name,
$jo->getID(),
$jo->getServiceType(),
$cust_name,
$cust_mobile_number,
$plate_number,
$sku,
$serial,
$jo->getORName(),
$existing_batt,
$rider_name,
$dpa,
$datetime_create_jo,
$date_create_jo,
$time_create_jo,
$datetime_hub_assign_jo,
$date_hub_assign_jo,
$time_hub_assign_jo,
$datetime_rider_arrive_jo,
$date_rider_arrive_jo,
$time_rider_arrive_jo,
$time_diff_create_arrive,
$coord_lat,
$coord_long,
$hub_coord_lat,
$hub_coord_long,
$fac_hub_coord_lat,
$fac_hub_coord_long,
$dispatcher_name,
$agent_name,
$datetime_create_invoice,
$jo->getSource(),
$jo->getStatus(),
$jo->isAdvanceOrder() ? 'Yes' : 'No'
]; ];
} }