Resolve "Warranty creation issue in WarrantyHandler" #1617

Merged
korina.cordero merged 2 commits from 690-warranty-creation-issue-in-warrantyhandler into master 2022-06-28 13:25:39 +00:00

View file

@ -14,6 +14,7 @@ use App\Entity\CustomerVehicle;
use App\Service\WarrantyAPILogger; use App\Service\WarrantyAPILogger;
use App\Ramcar\WarrantyClass; use App\Ramcar\WarrantyClass;
use App\Ramcar\WarrantyStatus;
use DateTime; use DateTime;
use DateInterval; use DateInterval;
@ -33,12 +34,10 @@ class WarrantyHandler
$batt_list, DateTime $date_purchase, $warranty_class, $user_id, $batt_list, DateTime $date_purchase, $warranty_class, $user_id,
$source, $customer, $cust_vehicle) $source, $customer, $cust_vehicle)
{ {
$bmodel_id = ''; $bty_model = null;
$bsize_id = ''; $bty_size = null;
$bmodel_name = ''; $sap_batt = null;
$bsize_name =''; $w_serial = '';
$sap_batt_id = '';
$w_serial = null;
foreach ($batt_list as $battery) foreach ($batt_list as $battery)
{ {
@ -61,20 +60,7 @@ class WarrantyHandler
if (!empty($sap_code)) if (!empty($sap_code))
{ {
// find sap battery // find sap battery
/* $sap_batt = $this->em->getRepository(SAPBattery::class)->find($sap_code);
$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_id = $sap_code;
} }
} }
@ -91,62 +77,31 @@ class WarrantyHandler
if (trim($serial) != '') if (trim($serial) != '')
$w_serial = $serial; $w_serial = $serial;
// insert warranty $warranty = new Warranty();
$q = $this->em->createQuery('INSERT App\Entity\Warranty w $warranty->setWarrantyClass($warranty_class)
SET w.serial = :serial, ->setPlateNumber($plate_number)
w.plate_number = :plate_number, ->setFirstName($first_name)
w.first_name = :first_name, ->setLastName($last_name)
w.last_name = :last_name, ->setMobileNumber($mobile_number)
w.mobile_number = :mobile_number, ->setBatteryModel($bty_model)
w.date_purchase = :date_purchase, ->setBatterySize($bty_size)
w.warranty_class = :warranty_class, ->setSAPBattery($sap_batt)
w.create_source = :create_source, ->setDatePurchase($date_purchase)
w.customer_id = :customer_id, ->setCustomer($customer)
w.vehicle_id = :vehicle_id, ->setVehicle($cust_vehicle)
w.bty_model_id = :bmodel_id, ->setCreateSource($source);
w.bty_size_id = :bsize_id,
w.sap_bty_id = :sap_batt_id,
w.date_expire = :date_expire')
->setParameters([
'serial' => $serial,
'plate_number' => $plate_number,
'first_name' => $first_name,
'last_name' => $last_name,
'mobile_number' => $mobile_number,
'date_purchase' => $date_purchase,
'warranty_class' => $warranty_class,
'create_source' => $source,
'customer_id' => $customer->getID(),
'vehicle_id' => $cust_vehicle->getID(),
'bmodel_id' => $bmodel_id,
'bsize_id' => $bsize_id,
'sap_batt_id' => $sap_batt_id,
'date_expire' => $date_expire]);
$q->execute();
// log warranty creation // set serial
$action = 'create'; if (!empty($w_serial))
$exp_date = ''; $warranty->setSerial($w_serial);
// set date expire
if ($date_expire != null) if ($date_expire != null)
$exp_date = $date_expire->format('d-M-y'); $warranty->setDateExpire($date_expire);
$log_data = [ $this->em->persist($warranty);
'serial' => $serial, $this->em->flush();
'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);
// update customer vehicle with warranty info
//$this->updateCustomerVehicle($serial, $batt_list, $plate_number, $date_expire);
} }
public function updateCustomerVehicle($serial, $batteries, $plate_number, $date_expire) public function updateCustomerVehicle($serial, $batteries, $plate_number, $date_expire)