Add call to get completed job orders. #632

This commit is contained in:
Korina Cordero 2021-10-29 05:51:12 +00:00
parent 1f6162cb47
commit 918c06725e
2 changed files with 47 additions and 0 deletions

View file

@ -211,3 +211,7 @@ api_cust_vehicle_remove:
controller: App\Controller\APIController::removeVehicle controller: App\Controller\APIController::removeVehicle
methods: [POST] methods: [POST]
api_completed_job_orders:
path: /api/job_orders/completed
controller: App\Controller\APIController::getCompletedJobOrders
methods: [GET]

View file

@ -3776,6 +3776,49 @@ class APIController extends Controller implements LoggedController
return $res->getReturnResponse(); return $res->getReturnResponse();
} }
public function getCompletedJobOrders(Request $req, EntityManagerInterface $em, RiderTracker $rt)
{
$required_params = [];
$res = $this->checkParamsAndKey($req, $em, $required_params);
if ($res->isError())
return $res->getReturnResponse();
// get customer
$cust = $this->session->getCustomer();
if ($cust == null)
{
$res->setError(true)
->setErrorMessage('No customer information found');
return $res->getReturnResponse();
}
$completed_jos = $this->getCompletedJOs($cust, $em);
// initialize data
$jo_data = [];
foreach ($completed_jos as $jo)
{
$jo_data[] = $this->generateJobOrderData($req, $jo, $rt);
}
$data = [
'completed_job_orders' => $jo_data,
];
$res->setData($data);
return $res->getReturnResponse();
}
protected function getCompletedJOs($cust, EntityManagerInterface $em)
{
$completed_jos = $em->getRepository(JobOrder::class)->findBy([
'customer' => $cust,
'status' => [JOStatus::CANCELLED, JOStatus::FULFILLED],
], ['date_schedule' => 'desc']);
return $completed_jos;
}
protected function updateWarranty($res, $em, $rt, $trans, $req, $serial, $inv_filename = null, $wcard_filename = null, protected function updateWarranty($res, $em, $rt, $trans, $req, $serial, $inv_filename = null, $wcard_filename = null,
$logger, $log_data, $user_id, $action, $source) $logger, $log_data, $user_id, $action, $source)
{ {