Staging #1663
2 changed files with 58 additions and 4 deletions
|
|
@ -2404,9 +2404,19 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
|||
$hub['distance'] = false;
|
||||
}
|
||||
|
||||
// get rider counts
|
||||
$rider_counts = $this->getHubRiderCounts($hub['hub']);
|
||||
|
||||
// counters
|
||||
$hub['rider_count'] = count($hub['hub']->getAvailableRiders());
|
||||
// get only the active riders for the total rider count per hub
|
||||
// $hub['rider_count'] = count($hub['hub']->getAvailableRiders());
|
||||
$hub['rider_count'] = count($hub['hub']->getActiveRiders());
|
||||
$hub['redis_jo_count'] = $hub['jo_count'];
|
||||
|
||||
$hub['rider_logged_in'] = $rider_counts['logged_in'];
|
||||
$hub['rider_in_transit'] = $rider_counts['in_transit'];
|
||||
$hub['rider_available'] = $rider_counts['available'];
|
||||
|
||||
//$hub['redis_jo_count'] = 0;
|
||||
// $hub['jo_count'] = count($hub['hub']->getForAssignmentJobOrders());
|
||||
$hub['jo_count'] = $hub['redis_jo_count'];
|
||||
|
|
@ -2715,10 +2725,20 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
|||
$hub['distance'] = false;
|
||||
}
|
||||
|
||||
// get rider counts
|
||||
$rider_counts = $this->getHubRiderCounts($hub['hub']);
|
||||
|
||||
// counters
|
||||
$hub['rider_count'] = count($hub['hub']->getAvailableRiders());
|
||||
// get only the active riders for the total rider count per hub
|
||||
// $hub['rider_count'] = count($hub['hub']->getAvailableRiders());
|
||||
$hub['rider_count'] = count($hub['hub']->getActiveRiders());
|
||||
// $hub['redis_jo_count'] = $hub['jo_count'];
|
||||
$hub['redis_jo_count'] = 0;
|
||||
|
||||
$hub['rider_logged_in'] = $rider_counts['logged_in'];
|
||||
$hub['rider_in_transit'] = $rider_counts['in_transit'];
|
||||
$hub['rider_available'] = $rider_counts['available'];
|
||||
|
||||
// $hub['jo_count'] = count($hub['hub']->getForAssignmentJobOrders());
|
||||
$hub['jo_count'] = $hub['redis_jo_count'];
|
||||
|
||||
|
|
@ -3273,6 +3293,34 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
|||
return false;
|
||||
}
|
||||
|
||||
protected function getHubRiderCounts($hub)
|
||||
{
|
||||
$em = $this->em;
|
||||
|
||||
$hub_id = $hub->getID();
|
||||
|
||||
// get in transit rider count aka flag_available is false AND current_jo_id is not null
|
||||
$in_transit_query = $em->createQuery('SELECT count(r.id) FROM App\Entity\Rider r JOIN r.hub h WHERE h.id = :hub_id AND r.flag_available = false AND r.current_job_order IS NOT NULL');
|
||||
$in_transit_query->setParameters(['hub_id' => $hub_id]);
|
||||
$in_transit_count = $in_transit_query->getSingleScalarResult();
|
||||
|
||||
// get available rider count aka flag_available is true AND current_jo_id is null
|
||||
$available_query = $em->createQuery('SELECT count(r.id) FROM App\Entity\Rider r JOIN r.hub h WHERE h.id = :hub_id AND r.flag_available = true AND r.current_job_order IS NULL');
|
||||
$available_query->setParameters(['hub_id' => $hub_id]);
|
||||
$available_count = $available_query->getSingleScalarResult();
|
||||
|
||||
// on duty count = in transit + available
|
||||
$logged_in_count = $in_transit_count + $available_count;
|
||||
|
||||
$rider_count = [
|
||||
'logged_in' => $logged_in_count,
|
||||
'in_transit' => $in_transit_count,
|
||||
'available' => $available_count,
|
||||
];
|
||||
|
||||
return $rider_count;
|
||||
}
|
||||
|
||||
protected function fillDropdownParameters(&$params)
|
||||
{
|
||||
$em = $this->em;
|
||||
|
|
|
|||
|
|
@ -754,7 +754,10 @@
|
|||
<!--<th class="text-right">Distance</th>
|
||||
<th class="text-right">Travel Time</th>
|
||||
-->
|
||||
<th class="text-right">Available Riders</th>
|
||||
<th class="text-right">Total Rider Count</th>
|
||||
<th class="text-right">On Duty</th>
|
||||
<th class="text-right">In Transit</th>
|
||||
<th class="text-right">Available</th>
|
||||
<th class="text-right">Job Order Count</th>
|
||||
<th class="text-right">Jobs For Assignment</th>
|
||||
<th class="text-right">Inventory</th>
|
||||
|
|
@ -764,7 +767,7 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<tr class="placeholder-row{{ hubs|length > 0 ? ' hide' }}">
|
||||
<td colspan="8">
|
||||
<td colspan="11">
|
||||
No items to display.
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -777,6 +780,9 @@
|
|||
<td class="text-right">{{ hub.duration ? hub.duration : '-' }}</td>
|
||||
-->
|
||||
<td class="text-right">{{ hub.rider_count }}</td>
|
||||
<td class="text-right">{{ hub.rider_logged_in|default('0') }}</td>
|
||||
<td class="text-right">{{ hub.rider_in_transit|default('0') }}</td>
|
||||
<td class="text-right">{{ hub.rider_available|default('0') }}</td>
|
||||
<td class="text-right">{{ hub.redis_jo_count }}</td>
|
||||
<td class="text-right">{{ hub.jo_count }}</td>
|
||||
<td class="text-right">{{ hub.inventory|default('0') }}</td>
|
||||
|
|
|
|||
Loading…
Reference in a new issue