From 270867f86fdd3e230e62fe58d194a9dce758ec7b Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Tue, 28 Jun 2022 13:21:47 +0000 Subject: [PATCH] Redo the warranty creation. #690 --- src/Service/WarrantyHandler.php | 83 ++++++++++----------------------- 1 file changed, 24 insertions(+), 59 deletions(-) diff --git a/src/Service/WarrantyHandler.php b/src/Service/WarrantyHandler.php index 79ab3390..ccd38746 100644 --- a/src/Service/WarrantyHandler.php +++ b/src/Service/WarrantyHandler.php @@ -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)