Refactor vehicle synchronization logic in XLVask helpers, update instantiation, and remove legacy customer creation code.

This commit is contained in:
Jepp9350
2025-06-18 15:39:27 +02:00
parent 3bf1292775
commit 9d431d55d8
2 changed files with 4 additions and 22 deletions
@@ -390,7 +390,9 @@ class xlvask_tasks
return null; // Synchronization is not enabled, do nothing return null; // Synchronization is not enabled, do nothing
} }
// Get the vehicles from XL Vask // Get the vehicles from XL Vask
$vehicles = $xlvask->getVehicles(); /** @var xlvask_vehicles $vehicles */
$vehicles = new $xlvask->helpers->xlvask_vehicles();
$vehicles = $vehicles->getVehicles();
// Cache the vehicles // Cache the vehicles
foreach ( $vehicles as $vehicle ) { foreach ( $vehicles as $vehicle ) {
/** @var xlvask_vehicle $vehicle */ /** @var xlvask_vehicle $vehicle */
@@ -6,7 +6,6 @@ use classes\authentication;
use classes\response; use classes\response;
use classes\router; use classes\router;
use classes\xlvask; use classes\xlvask;
use helpers\xlvask_customer;
use objects\orders_o; use objects\orders_o;
use objects\users_o; use objects\users_o;
use traits\route_t; use traits\route_t;
@@ -197,26 +196,7 @@ class moduleXLVaskRoute
$xlvask = new xlvask(); $xlvask = new xlvask();
$user = new users_o(); $user = new users_o();
$user->getUserByCustomerNumber(12345679); $user->getUserByCustomerNumber(12345679);
//$xlvask->getTasks()->runSyncUsers(false); $result = $xlvask->getTasks()->runSyncVehicles(false);
//echo 'Creating customer in XLVask for user: ' . $user->customer_number->value() . " (" . $user->getCustomerName((int)$user->customer_number->value()) . ")\n";
if (!$xlvask->getCache()->isCustomerCached($user->customer_number->value())) {
throw new \Exception('Customer is not cached in XLVask');
}
// Get the customer from the cache
$xlvask_customer = $xlvask->getCache()->getCustomerCache($user->customer_number->value());
$new_customer = new $xlvask->helpers->xlvask_customer();
/** @var xlvask_customer $new_customer */
$new_customer->customerId = $xlvask->getGuid()->generate();
$new_customer->excludeFromAutoInvoice = true;
//$new_customer->discount = 0;
$new_customer->active = true;
$new_customer->name = $user->getCustomerName((int)$user->customer_number->value());
$new_customer->externId = (string)$user->customer_number->value() . '-' . $user->id;
if (!$new_customer->isValid()) {
throw new \Exception('Customer is not valid in XLVask, missing required properties: ' . implode(', ', $new_customer->getMissingRequiredProperties()));
}
// Create the customer in XLVask
$result = $xlvask->createCustomer($new_customer);
// Response // Response
$response->success( $response->success(
$result, $result,