Fixes for issues found during testing for WarrantyCleanupCommand on expiration dates. Change value of date_purchase to that of date_schedule, instead of date_create of invoice. #402
This commit is contained in:
parent
aef2279a91
commit
a5c2c79783
2 changed files with 15 additions and 8 deletions
|
|
@ -191,7 +191,9 @@ class GenerateWarrantyFromJobOrderCommand extends Command
|
|||
$bty_size_id = $invoice_item->getBattery()->getSize()->getID();
|
||||
$warranty_class = $jo->getWarrantyClass();
|
||||
|
||||
$date = $jo->getInvoice()->getDateCreate();
|
||||
// NOTE: changing date_purchase to date_schedule unless told otherwise
|
||||
//$date = $jo->getInvoice()->getDateCreate();
|
||||
$date = $jo->getDateSchedule();
|
||||
$date_purchase = $date->format('Y-m-d');
|
||||
|
||||
$date_create = date('Y-m-d H:i:s');
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ use App\Entity\Warranty;
|
|||
use App\Entity\SAPBattery;
|
||||
|
||||
use App\Ramcar\ServiceType;
|
||||
use App\Ramcar\JOStatus;
|
||||
use App\Ramcar\WarrantyClass;
|
||||
|
||||
use App\Service\WarrantyHandler;
|
||||
|
||||
|
|
@ -56,10 +58,11 @@ class WarrantyCleanupCommand extends Command
|
|||
$end_date->setTime(23, 59);
|
||||
|
||||
// get all job orders with battery new service type within date range
|
||||
$jo_query = $em->createQuery('select ii,i,jo,cv from App\Entity\InvoiceItem ii inner join ii.invoice i inner join i.job_order jo inner join jo.cus_vehicle cv join jo.customer c where ii.battery is not null and jo.service_type = :service_type and jo.date_schedule > :date_start and jo.date_schedule < :date_end');
|
||||
$jo_query = $em->createQuery('select ii,i,jo,cv from App\Entity\InvoiceItem ii inner join ii.invoice i inner join i.job_order jo inner join jo.cus_vehicle cv join jo.customer c where ii.battery is not null and jo.service_type = :service_type and jo.date_schedule > :date_start and jo.date_schedule < :date_end and jo.status = :status');
|
||||
$jo_query->setParameter('service_type', ServiceType::BATTERY_REPLACEMENT_NEW)
|
||||
->setParameter('date_start', $start_date)
|
||||
->setParameter('date_end', $end_date);
|
||||
->setParameter('date_end', $end_date)
|
||||
->setParameter('status', JOStatus::FULFILLED);
|
||||
|
||||
$jos = $jo_query->iterate();
|
||||
|
||||
|
|
@ -109,7 +112,7 @@ class WarrantyCleanupCommand extends Command
|
|||
if (empty($warranties_date_schedule))
|
||||
{
|
||||
// check if warranty exists with plate number and date_fulfilled
|
||||
$datetime_fulfilled = $jo->getDateSchedule();
|
||||
$datetime_fulfilled = $jo->getDateFulfill();
|
||||
$datetime_fulfilled_str = $datetime_fulfilled->format('Y-m-d');
|
||||
$date_fulfilled = DateTime::createFromFormat('Y-m-d', $datetime_fulfilled_str);
|
||||
|
||||
|
|
@ -136,14 +139,16 @@ class WarrantyCleanupCommand extends Command
|
|||
$warranty_period = $invoice_item->getBattery()->getWarrantyTnv();
|
||||
}
|
||||
|
||||
// NOTE: changing date_purchase to date_schedule unless told otherwise
|
||||
$date_purchase = $datetime_schedule_str;
|
||||
// compute expiration date
|
||||
$expiry_date = $this->wh->computeDateExpire($date_schedule, $warranty_period);
|
||||
|
||||
$date_expiry = $expiry_date->format('Y-m-d');
|
||||
|
||||
$value = '\' . $date_expiry . \';';
|
||||
$date_purchase_value = '\'' . $date_purchase . '\'';
|
||||
$date_expire_value = '\'' . $date_expiry . '\'';
|
||||
|
||||
$update_sql_statement = 'UPDATE `warranty` SET date_expire=' . $value . ' WHERE id=\'' . $warranty->getID() . '\'' . "\n";
|
||||
$update_sql_statement = 'UPDATE `warranty` SET date_expire=' . $date_expire_value . ', date_purchase=' . $date_purchase_value . ' WHERE id=\'' . $warranty->getID() . '\';' . "\n";
|
||||
|
||||
echo $update_sql_statement;
|
||||
}
|
||||
|
|
@ -152,7 +157,7 @@ class WarrantyCleanupCommand extends Command
|
|||
error_log('no warranty date_fulfilled found.');
|
||||
}
|
||||
else
|
||||
error_log('no warranty date_schedule found.');
|
||||
error_log('warranty date_schedule found.');
|
||||
|
||||
$em->detach($row[0]);
|
||||
$em->clear();
|
||||
|
|
|
|||
Loading…
Reference in a new issue