From 928257ccdcbf47fe55a12bb0c4f4ca83ce8b30fd Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Thu, 7 Apr 2022 09:58:17 +0000 Subject: [PATCH] Add motiv call to initializeOpenHubForm. #656 --- src/Controller/JobOrderController.php | 4 +- .../JobOrderHandler/CMBJobOrderHandler.php | 2 +- .../JobOrderHandler/ResqJobOrderHandler.php | 46 ++++++++++++++++++- src/Service/JobOrderHandlerInterface.php | 2 +- 4 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index fbab3cb2..f847a842 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -506,13 +506,13 @@ class JobOrderController extends Controller * @Menu(selected="jo_open") */ public function openHubForm(HubSelector $hub_selector, $id, JobOrderHandlerInterface $jo_handler, - GISManagerInterface $gis) + GISManagerInterface $gis, MotivConnector $motiv) { $this->denyAccessUnlessGranted('jo_open.list', null, 'No access.'); try { - $params = $jo_handler->initializeHubForm($id, $hub_selector); + $params = $jo_handler->initializeHubForm($id, $hub_selector, $motiv); } catch (NotFoundHttpException $e) { diff --git a/src/Service/JobOrderHandler/CMBJobOrderHandler.php b/src/Service/JobOrderHandler/CMBJobOrderHandler.php index 1dc1e735..24933e8f 100644 --- a/src/Service/JobOrderHandler/CMBJobOrderHandler.php +++ b/src/Service/JobOrderHandler/CMBJobOrderHandler.php @@ -1873,7 +1873,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface } // initialize hub form - public function initializeHubForm($id, $map_tools) + public function initializeHubForm($id, $map_tools, $motiv) { $em = $this->em; diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index a5ce340a..40be027a 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -2315,7 +2315,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface } // initialize hub form - public function initializeHubForm($id, HubSelector $hub_selector) + public function initializeHubForm($id, HubSelector $hub_selector, $motiv) { $em = $this->em; @@ -2445,9 +2445,51 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface } } - $params['hubs'][] = $hub; + // handle inventory data + $bcode = $hub['hub']->getBranchCode(); + $hub['inventory'] = 0; + if ($bcode != '') + { + $branch_codes[] = $bcode; + $inv_data[$bcode] = [ + 'hub_id' => $hub_id, + 'branch_code' => $bcode, + 'inventory' => 0, + ]; + } + + $params['hubs'][$hub_id] = $hub; } + // get battery (if any) + $skus = []; + $invoice = $obj->getInvoice(); + $inv_items = $invoice->getItems(); + foreach ($inv_items as $inv_item) + { + $batt = $inv_item->getBattery(); + if ($batt == null) + continue; + + $skus[] = $batt->getSapCode(); + } + + // get inventory + $mres = $motiv->getInventory($branch_codes, $skus); + foreach ($mres as $mres_item) + { + $bcode = $mres_item['BranchCode']; + $inv_count = $mres_item['Quantity']; + if (isset($inv_data[$bcode])) + { + $hub_id = $inv_data[$bcode]['hub_id']; + + $params['hubs'][$hub_id]['inventory'] = $inv_count; + } + } + + error_log(print_r($mres, true)); + $params['obj'] = $obj; // get template to display $params['template'] = $this->getTwigTemplate('jo_open_hub_form'); diff --git a/src/Service/JobOrderHandlerInterface.php b/src/Service/JobOrderHandlerInterface.php index cff06242..644db54a 100644 --- a/src/Service/JobOrderHandlerInterface.php +++ b/src/Service/JobOrderHandlerInterface.php @@ -77,7 +77,7 @@ interface JobOrderHandlerInterface public function initializeFulfillmentForm(int $id); // initialize hub form - public function initializeHubForm(int $id, HubSelector $hub_selector); + public function initializeHubForm(int $id, HubSelector $hub_selector, $motiv); // initialize rider form public function initializeRiderForm(int $id); -- 2.43.5