Fix query that checks if a warranty already exists. #187
This commit is contained in:
parent
7e6a469871
commit
beeaed5c00
1 changed files with 32 additions and 17 deletions
|
|
@ -49,10 +49,10 @@ class GenerateWarrantyFromJobOrderCommand extends Command
|
||||||
|
|
||||||
$qb = $this->em->getRepository(JobOrder::class)->createQueryBuilder('j');
|
$qb = $this->em->getRepository(JobOrder::class)->createQueryBuilder('j');
|
||||||
|
|
||||||
// get all job orders with service_type='battery_warranty'
|
// get all job orders with service_type='battery_replacement_new'
|
||||||
$qb->select('j')
|
$qb->select('j')
|
||||||
->where('j.service_type = :service_type')
|
->where('j.service_type = :service_type')
|
||||||
->setParameter('service_type', ServiceType::BATTERY_REPLACEMENT_WARRANTY);
|
->setParameter('service_type', ServiceType::BATTERY_REPLACEMENT_NEW);
|
||||||
|
|
||||||
$query = $qb->getQuery();
|
$query = $qb->getQuery();
|
||||||
$result = $query->getResult();
|
$result = $query->getResult();
|
||||||
|
|
@ -77,10 +77,14 @@ class GenerateWarrantyFromJobOrderCommand extends Command
|
||||||
{
|
{
|
||||||
$warranty_period = $invoice_item->getBattery()->getWarrantyPrivate();
|
$warranty_period = $invoice_item->getBattery()->getWarrantyPrivate();
|
||||||
}
|
}
|
||||||
else
|
if ($invoice_item->getBattery()->getWarrantyCommercial() != null)
|
||||||
{
|
{
|
||||||
$warranty_period = $invoice_item->getBattery()->getWarrantyCommercial();
|
$warranty_period = $invoice_item->getBattery()->getWarrantyCommercial();
|
||||||
}
|
}
|
||||||
|
if ($invoice_item->getBattery()->getWarrantyTnv() != null)
|
||||||
|
{
|
||||||
|
$warranty_period = $invoice_item->getBattery()->getWarrantyTnv();
|
||||||
|
}
|
||||||
|
|
||||||
if ($jo->getInvoice()->getDateCreate() != null)
|
if ($jo->getInvoice()->getDateCreate() != null)
|
||||||
{
|
{
|
||||||
|
|
@ -89,20 +93,31 @@ class GenerateWarrantyFromJobOrderCommand extends Command
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$warranty = new Warranty();
|
// check if warranty already exists
|
||||||
$warranty->setWarrantyClass($jo->getWarrantyClass())
|
$cleaned_plate_number = Warranty::cleanPlateNumber($jo->getCustomerVehicle()->getPlateNumber());
|
||||||
->setFirstName($jo->getCustomer()->getFirstName())
|
$expiry_date = $this->computeDateExpire($jo->getInvoice()->getDateCreate(), $warranty_period);
|
||||||
->setLastName($jo->getCustomer()->getLastName())
|
$found_warranty = $this->em->createQuery("SELECT count(w) FROM App\Entity\Warranty w
|
||||||
->setMobileNumber($jo->getCustomer()->getPhoneMobile())
|
WHERE w.plate_number = :plate_number AND w.date_expire = :date_expire")
|
||||||
->setPlateNumber($jo->getCustomerVehicle()->getPlateNumber())
|
->setParameter('plate_number', $cleaned_plate_number)
|
||||||
->setDatePurchase($jo->getInvoice()->getDateCreate())
|
->setParameter('date_expire', $expiry_date->format('Y-m-d'))
|
||||||
->setDateExpire($this->computeDateExpire($jo->getInvoice()->getDateCreate(), $warranty_period))
|
->getSingleScalarResult();
|
||||||
->setBatteryModel($invoice_item->getBattery()->getModel())
|
if ($found_warranty == 0)
|
||||||
->setBatterySize($invoice_item->getBattery()->getSize())
|
{
|
||||||
->setSAPBattery($sap_battery);
|
$warranty = new Warranty();
|
||||||
$em->persist($warranty);
|
$warranty->setWarrantyClass($jo->getWarrantyClass())
|
||||||
|
->setFirstName($jo->getCustomer()->getFirstName())
|
||||||
|
->setLastName($jo->getCustomer()->getLastName())
|
||||||
|
->setMobileNumber($jo->getCustomer()->getPhoneMobile())
|
||||||
|
->setPlateNumber($cleaned_plate_number)
|
||||||
|
->setDatePurchase($jo->getInvoice()->getDateCreate())
|
||||||
|
->setDateExpire($expiry_date)
|
||||||
|
->setBatteryModel($invoice_item->getBattery()->getModel())
|
||||||
|
->setBatterySize($invoice_item->getBattery()->getSize())
|
||||||
|
->setSAPBattery($sap_battery);
|
||||||
|
$em->persist($warranty);
|
||||||
|
}
|
||||||
|
$em->flush();
|
||||||
}
|
}
|
||||||
$em->flush();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue