Add index for serial. Add additional checks for serial in warranty. #660
This commit is contained in:
parent
86ef1ec646
commit
e8670e4b60
2 changed files with 28 additions and 8 deletions
|
|
@ -157,8 +157,8 @@ class TestWarrantyUploadCommand extends Command
|
|||
|
||||
$cv_results = $stmt->fetch();
|
||||
|
||||
$cust_id = null;
|
||||
$vehicle_id = null;
|
||||
$cust_id = 'NULL';
|
||||
$vehicle_id = 'NULL';
|
||||
if (!empty($cv_results))
|
||||
{
|
||||
$cust_id = $cv_results['c_id'];
|
||||
|
|
@ -238,7 +238,7 @@ class TestWarrantyUploadCommand extends Command
|
|||
}
|
||||
// validate date purchase
|
||||
// (1) date purchase should not be empty
|
||||
// (2) date purchase should be of format: m/d/y
|
||||
// (2) date purchase should be of format: d-M-y
|
||||
if (empty($date_purchase))
|
||||
{
|
||||
$message = 'No date purchase.';
|
||||
|
|
@ -246,10 +246,10 @@ class TestWarrantyUploadCommand extends Command
|
|||
return $errors;
|
||||
}
|
||||
|
||||
$purchase_date = DateTime::createFromFormat('d-M-y', $date_purchase);
|
||||
$purchase_date = DateTime::createFromFormat('m/d/y', $date_purchase);
|
||||
if ($purchase_date === false)
|
||||
{
|
||||
$message = 'Invalid date format. Date format should be: dd-mon-yy (example: 27-Nov-21)';
|
||||
$message = 'Invalid date format. Date format should be: m/d/y (example: 06/13/16)';
|
||||
$errors = $this->setOutputInfo($fields, 'NOT ADDED', $message);
|
||||
return $errors;
|
||||
}
|
||||
|
|
@ -288,10 +288,11 @@ class TestWarrantyUploadCommand extends Command
|
|||
return $errors;
|
||||
}
|
||||
|
||||
// check if warranty exists using serial + plate number
|
||||
// (1) check if warranty exists using serial + plate number
|
||||
// (2) check if serial already exists even if for another plate number
|
||||
$conn = $this->em->getConnection();
|
||||
|
||||
// find warranties
|
||||
// find warranties using serial + plate number
|
||||
$sql = 'SELECT w.id FROM warranty w WHERE w.serial = :serial AND w.plate_number = :plate_number';
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute([
|
||||
|
|
@ -308,6 +309,22 @@ class TestWarrantyUploadCommand extends Command
|
|||
return $errors;
|
||||
}
|
||||
|
||||
// find warranties using serial number alone
|
||||
$w_sql = 'SELECT w.id FROM warranty w WHERE w.serial = :serial';
|
||||
$w_stmt = $conn->prepare($w_sql);
|
||||
$w_stmt->execute([
|
||||
'serial' => $serial,
|
||||
]);
|
||||
|
||||
$w_results = $w_stmt->fetchAll();
|
||||
|
||||
if (!empty($w_results))
|
||||
{
|
||||
$message = 'Warranty already exists for serial.';
|
||||
$errors = $this->setOutputInfo($fields, 'NOT ADDED', $message);
|
||||
return $errors;
|
||||
}
|
||||
|
||||
return $errors;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,10 @@ use Exception;
|
|||
* uniqueConstraints={
|
||||
* @ORM\UniqueConstraint(columns={"serial"})
|
||||
* },
|
||||
* indexes={@ORM\Index(name="plate_number_idx", columns={"plate_number"})})
|
||||
* indexes={
|
||||
* @ORM\Index(name="plate_number_idx", columns={"plate_number"}),
|
||||
@ORM\Index(name="serial_idx", columns={"serial"})
|
||||
* })
|
||||
* )
|
||||
*/
|
||||
class Warranty
|
||||
|
|
|
|||
Loading…
Reference in a new issue