Add landmark to response for latest jo. #632
This commit is contained in:
parent
1030b1934e
commit
ca21fcd5c9
1 changed files with 99 additions and 1 deletions
|
|
@ -3827,7 +3827,7 @@ class APIController extends Controller implements LoggedController
|
||||||
if ($latest_jo != null)
|
if ($latest_jo != null)
|
||||||
{
|
{
|
||||||
// TODO: clean the response up to just return what is needed
|
// TODO: clean the response up to just return what is needed
|
||||||
$jo_data = $this->generateJobOrderData($req, $latest_jo, $rt);
|
$jo_data = $this->generateLatestJobOrderData($req, $latest_jo, $rt);
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
|
|
@ -4486,4 +4486,102 @@ class APIController extends Controller implements LoggedController
|
||||||
|
|
||||||
return $time_selected;
|
return $time_selected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function generateLatestJobOrderData($req, $jo, $rt)
|
||||||
|
{
|
||||||
|
$status = $jo->getStatus();
|
||||||
|
|
||||||
|
$dest = $jo->getCoordinates();
|
||||||
|
|
||||||
|
$jo_data = [
|
||||||
|
'id' => $jo->getID(),
|
||||||
|
'date_create' => $jo->getDateCreate()->format('M d, Y'),
|
||||||
|
'service_type' => $jo->getServiceType(),
|
||||||
|
'destination' => [
|
||||||
|
'long' => $dest->getLongitude(),
|
||||||
|
'lat' => $dest->getLatitude(),
|
||||||
|
],
|
||||||
|
'delivery_address' => $jo->getDeliveryAddress(),
|
||||||
|
'delivery_instructions' => $jo->getDeliveryInstructions(),
|
||||||
|
'jo_status' => $status,
|
||||||
|
'status' => $this->generateAPIRiderStatus($status),
|
||||||
|
'landmark' => $jo->getLandmark(),
|
||||||
|
];
|
||||||
|
|
||||||
|
// customer vehicle and warranty
|
||||||
|
$cv = $jo->getCustomerVehicle();
|
||||||
|
|
||||||
|
// get latest warranty using plate number
|
||||||
|
$warranty = $this->findWarranty($cv->getPlateNumber());
|
||||||
|
|
||||||
|
$jo_data['customer_vehicle'] = [
|
||||||
|
'id' => $cv->getID(),
|
||||||
|
'plate_number' => $cv->getPlateNumber(),
|
||||||
|
'warranty' => $warranty,
|
||||||
|
];
|
||||||
|
|
||||||
|
// rider
|
||||||
|
$rider = $jo->getRider();
|
||||||
|
if ($rider != null)
|
||||||
|
{
|
||||||
|
// default image url
|
||||||
|
$url_prefix = $req->getSchemeAndHttpHost();
|
||||||
|
$image_url = $url_prefix . '/assets/images/user.gif';
|
||||||
|
if ($rider->getImageFile() != null)
|
||||||
|
$image_url = $url_prefix . '/uploads/' . $rider->getImageFile();
|
||||||
|
|
||||||
|
$coord = $rt->getRiderLocation($rider->getID());
|
||||||
|
|
||||||
|
$jo_data['rider'] = [
|
||||||
|
'id' => $rider->getID(),
|
||||||
|
'name' => $rider->getFullName(),
|
||||||
|
'plate_num' => $rider->getPlateNumber(),
|
||||||
|
'contact_num' => $rider->getContactNumber(),
|
||||||
|
'image_url' => $image_url,
|
||||||
|
'location' => [
|
||||||
|
'long' => $coord->getLongitude(),
|
||||||
|
'lat' => $coord->getLatitude()
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$jo_data['rider'] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// invoice items
|
||||||
|
$items = [];
|
||||||
|
$jo_items = $jo->getInvoice()->getItems();
|
||||||
|
foreach ($jo_items as $item)
|
||||||
|
{
|
||||||
|
$items[] = [
|
||||||
|
'id' => $item->getID(),
|
||||||
|
'title' => $item->getTitle(),
|
||||||
|
'qty' => $item->getQuantity(),
|
||||||
|
'price' => $item->getPrice(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$jo_data['items'] = $items;
|
||||||
|
|
||||||
|
|
||||||
|
// dates depending on status
|
||||||
|
switch ($status)
|
||||||
|
{
|
||||||
|
case JOStatus::FULFILLED:
|
||||||
|
if ($jo->getDateFulfill() == null)
|
||||||
|
$jo_data['date_fulfilled'] = '';
|
||||||
|
else
|
||||||
|
$jo_data['date_fulfilled'] = $jo->getDateFulfill()->format('M d, Y');
|
||||||
|
break;
|
||||||
|
case JOStatus::CANCELLED:
|
||||||
|
$date_cancel = $jo->getDateCancel();
|
||||||
|
if ($date_cancel == null)
|
||||||
|
$date_cancel = new DateTime();
|
||||||
|
$jo_data['date_cancelled'] = $date_cancel->format('M d, Y');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $jo_data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue