From e8b14ff379ab0ee8a311020b25deaa238395a11d Mon Sep 17 00:00:00 2001 From: Ramon Gutierrez Date: Thu, 27 Jun 2024 10:58:11 +0800 Subject: [PATCH] Fix available rider filter to also consider flag_active and current_job_order #800 --- src/Entity/Hub.php | 4 +++- .../HubFilter/Filters/RiderAvailabilityHubFilter.php | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Entity/Hub.php b/src/Entity/Hub.php index da3a44b9..7fba62c4 100644 --- a/src/Entity/Hub.php +++ b/src/Entity/Hub.php @@ -114,7 +114,9 @@ class Hub public function getAvailableRiders() { $crit = Criteria::create(); - $crit->where(Criteria::expr()->eq('flag_available', true)); + $crit->where(Criteria::expr()->eq('flag_available', true)) + ->where(Criteria::expr()->eq('flag_active', true)) + ->where(Criteria::expr()->eq('current_job_order', null)); return $this->riders->matching($crit); } diff --git a/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php b/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php index 0e46e50b..fadafa2a 100644 --- a/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php +++ b/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php @@ -31,7 +31,7 @@ class RiderAvailabilityHubFilter extends BaseHubFilter implements HubFilterInter // check customer class if (!empty($params['customer_class']) && $params['customer_class'] == CustomerClassification::VIP) { - error_log("INVENTORY CHECK " . $this->getJOID() . ": VIP CLASS"); + error_log("RIDER CHECK " . $this->getJOID() . ": VIP CLASS"); return $hubs; } @@ -40,8 +40,10 @@ class RiderAvailabilityHubFilter extends BaseHubFilter implements HubFilterInter foreach ($hubs as $hub_data) { $hub = $hub_data['hub']; + $available_riders = count($hub->getAvailableRiders()); // check we have available riders - if ($hub->getAvailableRiders() === 0) { + error_log("TOTAL RIDERS: " . $available_riders); + if ($available_riders === 0) { // if we have a JO, create rejection record and notify if (!empty($jo_id)) { // create rejection report entry