Modify the JO Details Report. #385
This commit is contained in:
parent
031e2aa380
commit
920400076d
1 changed files with 125 additions and 44 deletions
|
|
@ -746,27 +746,45 @@ class ReportController extends Controller
|
||||||
// csv output
|
// csv output
|
||||||
$csv_handle = fopen('php://output', 'w+');
|
$csv_handle = fopen('php://output', 'w+');
|
||||||
fputcsv($csv_handle, [
|
fputcsv($csv_handle, [
|
||||||
'Job Order ID',
|
'Month',
|
||||||
'Dispatcher',
|
'Scheduled Date and Time',
|
||||||
'Coordinate Latitude',
|
'Scheduled Date',
|
||||||
'Coordinate Longitude',
|
'Scheduled Time',
|
||||||
'Date and Time Hub Assigned for JO',
|
'Distributor', // hub
|
||||||
'Date Hub Assigned for JO',
|
'Battery Facilitated By', // facilitated_hub
|
||||||
'Time Hub Assigned for JO',
|
'Job Order Number',
|
||||||
'Date and Time Rider Assigned for JO',
|
|
||||||
'Date Rider Assigned for JO',
|
|
||||||
'Time Rider Assigned for JO',
|
|
||||||
'Date and Time Created for Invoice',
|
|
||||||
'Date and Time Created for JO',
|
|
||||||
'Date Created for JO',
|
|
||||||
'Time Created for JO',
|
|
||||||
'Outlet Name',
|
|
||||||
'Rider Name',
|
|
||||||
'Service Type',
|
'Service Type',
|
||||||
|
'Customer Name',
|
||||||
|
'Customer Mobile Number',
|
||||||
|
'Plate Number',
|
||||||
|
'SKU',
|
||||||
|
'Serial Number',
|
||||||
|
'Invoice/DR No.',
|
||||||
|
'Existing Battery',
|
||||||
|
'Rider Name',
|
||||||
|
'DPA',
|
||||||
|
'Created Date and Time',
|
||||||
|
'Date Created',
|
||||||
|
'Time Created',
|
||||||
|
'Date and Time Dispatched',
|
||||||
|
'Date Dispatched',
|
||||||
|
'Time Dispatched',
|
||||||
|
'Date and Time Arrived',
|
||||||
|
'Date Arrived',
|
||||||
|
'Time Arrived',
|
||||||
|
'Created vs Arrival',
|
||||||
|
'Customer Latitude',
|
||||||
|
'Customer Longitude',
|
||||||
|
'Hub Latitude',
|
||||||
|
'Hub Longitude',
|
||||||
|
'Facilitated Hub Latitude',
|
||||||
|
'Facilitated Hub Longitude',
|
||||||
|
'Dispatcher',
|
||||||
|
'Agent (Created)',
|
||||||
|
'Date Create (Invoice)',
|
||||||
'Source',
|
'Source',
|
||||||
'Status',
|
'Status',
|
||||||
'SKU',
|
'Flag Advance',
|
||||||
|
|
||||||
]);
|
]);
|
||||||
foreach ($data as $row)
|
foreach ($data as $row)
|
||||||
{
|
{
|
||||||
|
|
@ -1307,9 +1325,40 @@ class ReportController extends Controller
|
||||||
if ($dispatcher != null)
|
if ($dispatcher != null)
|
||||||
$dispatcher_name = $dispatcher->getFullName();
|
$dispatcher_name = $dispatcher->getFullName();
|
||||||
|
|
||||||
|
// get agent if any
|
||||||
|
$agent_name = '';
|
||||||
|
$agent = $jo->getCreatedBy();
|
||||||
|
if ($agent != null)
|
||||||
|
$agent_name = $agent->getFullName();
|
||||||
|
|
||||||
|
// get customer coordinates
|
||||||
$coord_long = $jo->getCoordinates()->getLongitude();
|
$coord_long = $jo->getCoordinates()->getLongitude();
|
||||||
$coord_lat = $jo->getCoordinates()->getLatitude();
|
$coord_lat = $jo->getCoordinates()->getLatitude();
|
||||||
|
|
||||||
|
// get hub and hub coordinates, if any
|
||||||
|
$hub_name = '';
|
||||||
|
$hub_coord_long = '';
|
||||||
|
$hub_coord_lat = '';
|
||||||
|
$hub = $jo->getHub();
|
||||||
|
if ($hub != null)
|
||||||
|
{
|
||||||
|
$hub_name = $hub->getName();
|
||||||
|
$hub_coord_long = $hub->getCoordinates()->getLongitude();
|
||||||
|
$hub_coord_lat = $hub->getCoordinates()->getLatitude();
|
||||||
|
}
|
||||||
|
|
||||||
|
// get facilitated hub coordinates if any
|
||||||
|
$fac_hub_name = '';
|
||||||
|
$fac_hub_coord_long = '';
|
||||||
|
$fac_hub_coord_lat = '';
|
||||||
|
$fac_hub = $jo->getFacilitatedBy();
|
||||||
|
if ($fac_hub != null)
|
||||||
|
{
|
||||||
|
$fac_hub_name = $fac_hub->getName();
|
||||||
|
$fac_hub_coord_long = $fac_hub->getCoordinates()->getLongitude();
|
||||||
|
$fac_hub_coord_lat = $fac_hub->getCoordinates()->getLatitude();
|
||||||
|
}
|
||||||
|
|
||||||
// find date and time when JO was assigned a hub
|
// find date and time when JO was assigned a hub
|
||||||
$datetime_hub_assign_jo = '';
|
$datetime_hub_assign_jo = '';
|
||||||
$date_hub_assign_jo = '';
|
$date_hub_assign_jo = '';
|
||||||
|
|
@ -1329,6 +1378,7 @@ 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 = '';
|
||||||
|
|
@ -1344,11 +1394,37 @@ class ReportController extends Controller
|
||||||
$date_rider_assign_jo = $rider_assign_event->getDateHappen()->format('m-d-Y');
|
$date_rider_assign_jo = $rider_assign_event->getDateHappen()->format('m-d-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 arrived at customer
|
||||||
|
$datetime_rider_arrive_jo = '';
|
||||||
|
$date_rider_arrive_jo = '';
|
||||||
|
$time_rider_arrive_jo = '';
|
||||||
|
$rider_arrive_event_type = JOEventType::RIDER_ARRIVE;
|
||||||
|
$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)
|
||||||
|
{
|
||||||
|
foreach ($rider_arrive_events as $rider_arrive_event)
|
||||||
|
{
|
||||||
|
$datetime_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('m-d-Y H:i');
|
||||||
|
$date_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('m-d-Y');
|
||||||
|
$time_rider_arrive_jo = $rider_arrive_event->getDateHappen()->format('H:i');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// get invoice date create and item sku if any
|
// compute time difference between jo creation and rider arrival
|
||||||
|
if (!empty($datetime_rider_arrive_jo))
|
||||||
|
{
|
||||||
|
$rider_arrive_time = DateTime::createFromFormat('m-d-Y H:i', $datetime_rider_arrive_jo);
|
||||||
|
$jo_create_time = $jo->getDateCreate();
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
// get invoice date create and item sku and serial if any
|
||||||
$datetime_create_invoice = '';
|
$datetime_create_invoice = '';
|
||||||
$sku = '';
|
$sku = '';
|
||||||
|
$serial = '';
|
||||||
$invoice = $jo->getInvoice();
|
$invoice = $jo->getInvoice();
|
||||||
if ($invoice != null)
|
if ($invoice != null)
|
||||||
{
|
{
|
||||||
|
|
@ -1361,7 +1437,10 @@ class ReportController extends Controller
|
||||||
{
|
{
|
||||||
$battery = $item->getBattery();
|
$battery = $item->getBattery();
|
||||||
if ($battery != null)
|
if ($battery != null)
|
||||||
|
{
|
||||||
$sku = $battery->getModel()->getName() . ' ' . $battery->getSize()->getName();
|
$sku = $battery->getModel()->getName() . ' ' . $battery->getSize()->getName();
|
||||||
|
$serial = $battery->getSAPCode();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1375,11 +1454,27 @@ class ReportController extends Controller
|
||||||
$date_create_jo = $jo_create->format('m-d-Y');
|
$date_create_jo = $jo_create->format('m-d-Y');
|
||||||
$time_create_jo = $jo_create->format('H:i');
|
$time_create_jo = $jo_create->format('H:i');
|
||||||
|
|
||||||
// get hub if any
|
// get jo date schedule if any
|
||||||
$hub_name = '';
|
$datetime_sked_jo = '';
|
||||||
$hub = $jo->getHub();
|
$date_sked_jo = '';
|
||||||
if ($hub != null)
|
$time_sked_jo = '';
|
||||||
$hub_name = $hub->getName();
|
$jo_date_scheduled = $jo->getDateScheduled();
|
||||||
|
if (empty($jo_date_scheduled))
|
||||||
|
{
|
||||||
|
// set to same date and time as date create of JO
|
||||||
|
$datetime_sked_jo = $datetime_create_jo;
|
||||||
|
$date_sked_jo = $date_create_jo;
|
||||||
|
$time_sked_jo = $time_create_jo;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$datetime_sked_jo = $jo_date_scheduled->format('m-d-Y H:i');
|
||||||
|
$date_sked_jo = $jo_date_scheduled->format('m-d-Y');
|
||||||
|
$time_sked_jo = $jo_date_scheduled->format('H:i');
|
||||||
|
}
|
||||||
|
|
||||||
|
// get month from date_create
|
||||||
|
$month = $jo_create->format('m');
|
||||||
|
|
||||||
// get rider if any
|
// get rider if any
|
||||||
$rider_name = '';
|
$rider_name = '';
|
||||||
|
|
@ -1387,27 +1482,13 @@ class ReportController extends Controller
|
||||||
if ($rider != null)
|
if ($rider != null)
|
||||||
$rider_name = $rider->getFullName();
|
$rider_name = $rider->getFullName();
|
||||||
|
|
||||||
|
// get customer information
|
||||||
|
$customer = $jo->getCustomer();
|
||||||
|
|
||||||
|
// get customer vehicle
|
||||||
|
$cust_vehicle = $jo->getCustomerVehicle();
|
||||||
|
|
||||||
$result[] = [
|
$result[] = [
|
||||||
$jo->getID(),
|
|
||||||
$dispatcher_name,
|
|
||||||
$coord_lat,
|
|
||||||
$coord_long,
|
|
||||||
$datetime_hub_assign_jo,
|
|
||||||
$date_hub_assign_jo,
|
|
||||||
$time_hub_assign_jo,
|
|
||||||
$datetime_rider_assign_jo,
|
|
||||||
$date_rider_assign_jo,
|
|
||||||
$time_rider_assign_jo,
|
|
||||||
$datetime_create_invoice,
|
|
||||||
$datetime_create_jo,
|
|
||||||
$date_create_jo,
|
|
||||||
$time_create_jo,
|
|
||||||
$hub_name,
|
|
||||||
$rider_name,
|
|
||||||
$jo->getServiceType(),
|
|
||||||
$jo->getSource(),
|
|
||||||
$jo->getStatus(),
|
|
||||||
$sku,
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue