Redo the warranty creation. #690

This commit is contained in:
Korina Cordero 2022-06-28 13:21:47 +00:00
parent 48aa0b024f
commit 270867f86f

View file

@ -34,11 +34,9 @@ class WarrantyHandler
$batt_list, DateTime $date_purchase, $warranty_class, $user_id,
$source, $customer, $cust_vehicle)
{
$bmodel_id = '';
$bsize_id = '';
$bmodel_name = '';
$bsize_name ='';
$sap_batt_id = null;
$bty_model = null;
$bty_size = null;
$sap_batt = null;
$w_serial = '';
foreach ($batt_list as $battery)
@ -62,81 +60,48 @@ class WarrantyHandler
if (!empty($sap_code))
{
// find sap battery
$conn = $this->em->getConnection();
$sql = 'SELECT sap.id FROM sap_battery sap WHERE sap.id = :id';
$stmt = $conn->prepare($sql);
$stmt->execute(array('id' => $sap_code));
$query_results = $stmt->fetchAll();
foreach($query_results as $row)
{
$sap_batt_id = $row['id'];
}
$sap_batt = $this->em->getRepository(SAPBattery::class)->find($sap_code);
}
}
// compute expiry date
$date_expire = null;
$str_date_expire = 'NULL';
if ((!empty($warranty_class)) &&
(count($batt_list) != 0))
{
$period = $this->getWarrantyPeriod($batt_list, $warranty_class);
$date_expire = $this->computeDateExpire($date_purchase, $period);
$str_date_expire = $date_expire->format('Y-m-d H:i:s');
}
// set and save values
if (trim($serial) != '')
$w_serial = $serial;
$str_date_purchase = $date_purchase->format('Y-m-d H:i:s');
$date_create = new DateTime();
$str_date_create = $date_create->format('Y-m-d H:i:s');
$warranty = new Warranty();
$warranty->setWarrantyClass($warranty_class)
->setPlateNumber($plate_number)
->setFirstName($first_name)
->setLastName($last_name)
->setMobileNumber($mobile_number)
->setBatteryModel($bty_model)
->setBatterySize($bty_size)
->setSAPBattery($sap_batt)
->setDatePurchase($date_purchase)
->setCustomer($customer)
->setVehicle($cust_vehicle)
->setCreateSource($source);
// insert warranty
$sql_values = '(' . $bmodel_id . ',' . $bsize_id. ',';
if (empty($sap_batt_id))
$sql_values = $sql_values . 'NULL,';
else
$sql_values = $sql_values . '\'' . $sap_batt_id . '\',';
// set serial
if (!empty($w_serial))
$warranty->setSerial($w_serial);
if (empty($w_serial))
$sql_values = $sql_values . 'NULL,\'';
else
$sql_values = $sql_values . '\'' . $w_serial . '\',';
$sql_values = $sql_values . $warranty_class . '\',\'' . $plate_number . '\',\'' . WarrantyStatus::ACTIVE . '\',\'' . $str_date_create . '\',\'' . $str_date_purchase . '\',\'' . $str_date_expire . '\',\'' . $first_name . '\',\'' . $last_name . '\',\'' . $mobile_number . '\','. 1 . ',' . $cust_vehicle->getID() . ',' . $customer->getID() . ',\'' . $source . '\')';
$w_sql = 'INSERT INTO `warranty` (bty_model_id,bty_size_id,sap_bty_id,serial,warranty_class,plate_number,status,date_create,date_purchase,date_expire,first_name,last_name,mobile_number,flag_activated,vehicle_id,customer_id, create_source) VALUES ' . $sql_values . ';' . "\n";
$conn = $this->em->getConnection();
$w_stmt = $conn->prepare($w_sql);
$w_stmt->execute();
// log warranty creation
$action = 'create';
$exp_date = '';
// set date expire
if ($date_expire != null)
$exp_date = $date_expire->format('d-M-y');
$warranty->setDateExpire($date_expire);
$log_data = [
'serial' => $serial,
'warranty_class' => $warranty_class,
'first_name' => $first_name,
'last_name' => $last_name,
'mobile_number' => $mobile_number,
'date_purchase' => $date_purchase->format('d-M-y'),
'date_expire' => $exp_date,
'battery_model' => $bmodel_name,
'battery_size' => $bsize_name,
'sap_battery' => $sap_batt_id,
'plate_number' => $plate_number,
];
//$this->logger->logWarrantyInfo($log_data, '', $user_id, $action, $source);
$this->em->persist($warranty);
$this->em->flush();
// update customer vehicle with warranty info
//$this->updateCustomerVehicle($serial, $batt_list, $plate_number, $date_expire);
}
public function updateCustomerVehicle($serial, $batteries, $plate_number, $date_expire)