Staging #1663

Merged
korina.cordero merged 16 commits from staging into master 2023-02-09 10:19:34 +00:00
2 changed files with 58 additions and 4 deletions
Showing only changes of commit 4c4a8da7e6 - Show all commits

View file

@ -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;

View file

@ -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>