Add inventory count to hub table in job order processing form #519
This commit is contained in:
parent
c44fa66195
commit
1227e03e1a
6 changed files with 57 additions and 7 deletions
|
|
@ -22,6 +22,8 @@ use App\Service\MapTools;
|
||||||
use App\Service\MQTTClient;
|
use App\Service\MQTTClient;
|
||||||
use App\Service\APNSClient;
|
use App\Service\APNSClient;
|
||||||
use App\Service\InventoryManager;
|
use App\Service\InventoryManager;
|
||||||
|
use App\Service\RiderTracker;
|
||||||
|
use App\Service\MotivConnector;
|
||||||
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
@ -30,7 +32,6 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
|
||||||
|
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use App\Service\RiderTracker;
|
|
||||||
|
|
||||||
use Catalyst\MenuBundle\Annotation\Menu;
|
use Catalyst\MenuBundle\Annotation\Menu;
|
||||||
|
|
||||||
|
|
@ -309,13 +310,13 @@ class JobOrderController extends Controller
|
||||||
/**
|
/**
|
||||||
* @Menu(selected="jo_proc")
|
* @Menu(selected="jo_proc")
|
||||||
*/
|
*/
|
||||||
public function processingForm(MapTools $map_tools, $id, JobOrderHandlerInterface $jo_handler, GISManagerInterface $gis)
|
public function processingForm(MapTools $map_tools, $id, JobOrderHandlerInterface $jo_handler, GISManagerInterface $gis, MotivConnector $motiv)
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted('jo_proc.list', null, 'No access.');
|
$this->denyAccessUnlessGranted('jo_proc.list', null, 'No access.');
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$params = $jo_handler->initializeProcessingForm($id, $map_tools);
|
$params = $jo_handler->initializeProcessingForm($id, $map_tools, $motiv);
|
||||||
}
|
}
|
||||||
catch (AccessDeniedHttpException $e)
|
catch (AccessDeniedHttpException $e)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1627,7 +1627,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
// initialize dispatch/processing job order form
|
// initialize dispatch/processing job order form
|
||||||
public function initializeProcessingForm($id, $map_tools)
|
public function initializeProcessingForm($id, $map_tools, $motiv)
|
||||||
{
|
{
|
||||||
$em = $this->em;
|
$em = $this->em;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1600,7 +1600,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
// initialize dispatch/processing job order form
|
// initialize dispatch/processing job order form
|
||||||
public function initializeProcessingForm($id, $map_tools)
|
public function initializeProcessingForm($id, $map_tools, $motiv)
|
||||||
{
|
{
|
||||||
$em = $this->em;
|
$em = $this->em;
|
||||||
|
|
||||||
|
|
@ -1671,6 +1671,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
|
|
||||||
$params['hubs'] = [];
|
$params['hubs'] = [];
|
||||||
|
|
||||||
|
$branch_codes = [];
|
||||||
|
$inv_data = [];
|
||||||
|
|
||||||
// format duration and distance into friendly time
|
// format duration and distance into friendly time
|
||||||
foreach ($hubs as $hub) {
|
foreach ($hubs as $hub) {
|
||||||
// duration
|
// duration
|
||||||
|
|
@ -1711,13 +1714,55 @@ 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
$params['obj'] = $obj;
|
$params['obj'] = $obj;
|
||||||
// get template to display
|
// get template to display
|
||||||
$params['template'] = $this->getTwigTemplate('jo_processing_form');
|
$params['template'] = $this->getTwigTemplate('jo_processing_form');
|
||||||
|
|
||||||
|
// 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));
|
||||||
|
|
||||||
return $params;
|
return $params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ interface JobOrderHandlerInterface
|
||||||
public function initializeAllForm(int $id);
|
public function initializeAllForm(int $id);
|
||||||
|
|
||||||
// initialize dispatch/processing job order form
|
// initialize dispatch/processing job order form
|
||||||
public function initializeProcessingForm(int $id, MapTools $map_tools);
|
public function initializeProcessingForm(int $id, MapTools $map_tools, $motiv);
|
||||||
|
|
||||||
// initialize assign job order form
|
// initialize assign job order form
|
||||||
public function initializeAssignForm(int $id);
|
public function initializeAssignForm(int $id);
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ class MotivConnector
|
||||||
$body_text = json_encode($body);
|
$body_text = json_encode($body);
|
||||||
|
|
||||||
$res = $this->curlPost('InventoryService', $body_text);
|
$res = $this->curlPost('InventoryService', $body_text);
|
||||||
|
|
||||||
|
return json_decode($res, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function curlPost($url, $body)
|
protected function curlPost($url, $body)
|
||||||
|
|
|
||||||
|
|
@ -575,6 +575,7 @@
|
||||||
-->
|
-->
|
||||||
<th class="text-right">Available Riders</th>
|
<th class="text-right">Available Riders</th>
|
||||||
<th class="text-right">Jobs For Assignment</th>
|
<th class="text-right">Jobs For Assignment</th>
|
||||||
|
<th class="text-right">Inventory</th>
|
||||||
<th>Contact Numbers</th>
|
<th>Contact Numbers</th>
|
||||||
<th>Action</th>
|
<th>Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -596,6 +597,7 @@
|
||||||
-->
|
-->
|
||||||
<td class="text-right">{{ hub.rider_count }}</td>
|
<td class="text-right">{{ hub.rider_count }}</td>
|
||||||
<td class="text-right">{{ hub.jo_count }}</td>
|
<td class="text-right">{{ hub.jo_count }}</td>
|
||||||
|
<td class="text-right">{{ hub.inventory|default('0') }}</td>
|
||||||
<td>{{ hub.hub.getContactNumbers|replace({"\n": ', '}) }}</td>
|
<td>{{ hub.hub.getContactNumbers|replace({"\n": ', '}) }}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if hub.flag_rejected %}
|
{% if hub.flag_rejected %}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue