From 94bbf0a106a2e1bb852f0f49c9ba9b2a7a41df42 Mon Sep 17 00:00:00 2001 From: Jeppe Bundgaard Date: Thu, 18 Sep 2025 10:13:29 +0200 Subject: [PATCH] Enhance `vehiclesRoute` to include customer status checks for known vehicles - Added logic to determine if a known vehicle has been assigned to a specific customer and retrieve the customer name. - Integrated checks to handle barred customers by resetting vehicle status to `unknown` and clearing customer details. - Ensured support for scenarios with multiple known customers, marking vehicles accordingly. --- services/nginx/app/routes/vehiclesRoute.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/services/nginx/app/routes/vehiclesRoute.php b/services/nginx/app/routes/vehiclesRoute.php index 9ca11c3e..8bf3fe37 100644 --- a/services/nginx/app/routes/vehiclesRoute.php +++ b/services/nginx/app/routes/vehiclesRoute.php @@ -831,6 +831,26 @@ class vehiclesRoute } } elseif ($isKnown) { $status = 'known'; + // Check if the vehicle previously only has been set to a specific customer, and if so, get the customer name + $orders_o = new orders_o(); + $order = $orders_o->getFieldsWhere([ + 'reg_1' => $reg, + 'deleted_at' => null, // Only consider non-deleted orders + ], ['customer_id']); + $customer_ids = array_unique(array_map(function ($row) { + return (int)$row['customer_id']; + }, $order)); + if (count($customer_ids) === 1) { + $customer_number = $customer_ids[0]; + // Check if the customer is barred (only if known) + if ($customer_number && (new users_o())->isCustomerBarred((int)$customer_number)) { + $status = 'unknown'; // If the customer is barred, we set the status to unknown (as we don't need to know about barred known vehicles) + $customer_number = null; // Clear the customer number as well + } + } else { + // Set the customer name to multiple known customers + $customer_name = 'Multiple known customers'; + } } elseif ($isUnknown) { $status = 'unknown'; }