From b2104011502b4a431cffd6dd9e84184d9d5f1724 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Sun, 4 Feb 2018 12:54:14 +0800 Subject: [PATCH 1/2] Change id to cv_id in list vehicles --- src/Controller/APIController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index 41009405..9bc09d7e 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -566,7 +566,7 @@ class APIController extends Controller $wty_ex = $cv->getWarrantyExpiration()->format('Y-m-d'); $cv_list[] = [ - 'id' => $cv->getID(), + 'cv_id' => $cv->getID(), 'mfg_id' => $cv->getVehicle()->getManufacturer()->getID(), 'make_id' => $cv->getVehicle()->getID(), 'name' => $cv->getName(), From c9af4526298aaa149911eb111252d847e23348ee Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Sun, 4 Feb 2018 13:44:27 +0800 Subject: [PATCH 2/2] Add API call to list ongoing job orders --- config/routes/api.yaml | 5 ++++ src/Controller/APIController.php | 47 ++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/config/routes/api.yaml b/config/routes/api.yaml index fe58d73d..459cd408 100644 --- a/config/routes/api.yaml +++ b/config/routes/api.yaml @@ -74,3 +74,8 @@ api_estimate: path: /api/estimate controller: App\Controller\APIController::getEstimate methods: [POST] + +api_ongoing: + path: /api/job_order/ongoing + controller: App\Controller\APIController::getOngoing + methods: [GET] diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index 9bc09d7e..c13a7023 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -11,12 +11,14 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\JsonResponse; use App\Ramcar\APIResult; +use App\Ramcar\JOStatus; use App\Entity\MobileSession; use App\Entity\Customer; use App\Entity\VehicleManufacturer; use App\Entity\Vehicle; use App\Entity\CustomerVehicle; +use App\Entity\JobOrder; use DateTime; @@ -682,4 +684,49 @@ class APIController extends Controller return $res->getReturnResponse(); } + + public function getOngoing(Request $req) + { + $required_params = []; + $em = $this->getDoctrine()->getManager(); + $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(); + } + + // check if we have an ongoing job order + $ongoing_jos = $em->getRepository(JobOrder::class)->findBy([ + 'customer' => $cust, + 'status' => [JOStatus::PENDING, JOStatus::RIDER_ASSIGN, JOStatus::ASSIGNED, JOStatus::IN_PROGRESS], + ]); + + // initialize data + $data = []; + + // no ongoing + if (count($ongoing_jos) <= 0) + { + $data = [ + 'has_ongoing' => false, + ]; + } + else + { + $data = [ + 'has_ongoing' => true, + ]; + } + + $res->setData($data); + + return $res->getReturnResponse(); + } }