diff --git a/src/Controller/CAPI/WarrantyController.php b/src/Controller/CAPI/WarrantyController.php index 99d687c3..a4f47abc 100644 --- a/src/Controller/CAPI/WarrantyController.php +++ b/src/Controller/CAPI/WarrantyController.php @@ -9,9 +9,14 @@ use Doctrine\ORM\EntityManagerInterface; use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use Catalyst\APIBundle\Controller\APIController; use Catalyst\APIBundle\Response\APIResponse; + use App\Entity\Warranty; use App\Entity\BatteryModel; use App\Entity\BatterySize; +use App\Entity\SAPBattery; +use App\Entity\SAPBatterySize; +use App\Entity\SAPBatteryBrand; + use App\Ramcar\NameValue; use App\Ramcar\WarrantyClass; use App\Ramcar\WarrantyStatus; @@ -26,20 +31,17 @@ class WarrantyController extends APIController protected function generateWarrantyData(Warranty $warr) { - $model = $warr->getBatteryModel(); - $size = $warr->getBatterySize(); + $batt = $warr->getSAPBattery(); + $data = [ 'id' => (int) $warr->getID(), 'serial' => (string) $warr->getSerial(), 'warranty_class' => (string) $warr->getWarrantyClass(), 'plate_number' => (string) $warr->getPlateNumber(), - 'battery_model' => [ - (int) ($model == null ? 0 : $model->getID()), - (string) ($model == null ? '' : $model->getName()), - ], - 'battery_size' => [ - (int) ($size == null ? 0 : $size->getID()), - (string) ($size == null ? '' : $size->getName()), + 'battery' => [ + 'sku' => (string) ($batt == null ? '' : $batt->getID()), + 'brand' => (int) ($batt == null ? 0 : $batt->getBrand()->getID()), + 'size' => (int) ($batt == null ? 0 : $batt->getSize()->getID()), ], 'status' => (string) $warr->getStatus(), 'date_create' => (string) $warr->getDateCreate()->format('YmdHis'), @@ -117,8 +119,11 @@ class WarrantyController extends APIController 'plate_number', 'date_expire', 'date_purchase', + 'sku', + /* 'battery_model_id', 'battery_size_id', + */ ]; $msg = $this->checkRequiredParameters($req, $params); error_log('msg - ' . $msg); @@ -130,8 +135,12 @@ class WarrantyController extends APIController $date_pur_string = $req->request->get('date_purchase'); $warr_class = $req->request->get('warranty_class'); $plate = $req->request->get('plate_number'); + $sku = $req->request->get('sku'); + + /* $bmodel_id = $req->request->get('battery_model_id'); $bsize_id = $req->request->get('battery_size_id'); + */ // wrong date expire format $date_expire = DateTime::createFromFormat('Ymd', $date_expire_string); @@ -152,6 +161,12 @@ class WarrantyController extends APIController if (!$plate) return new APIResponse(false, 'Invalid plate number.'); + // battery + $batt = $em->getRepository(SAPBattery::class)->find($sku); + if ($batt == null) + return new APIResponse(false, 'Invalid battery SKU.'); + + /* // battery model $model = $em->getRepository(BatteryModel::class)->find($bmodel_id); if ($model == null) @@ -161,14 +176,18 @@ class WarrantyController extends APIController $size = $em->getRepository(BatterySize::class)->find($bsize_id); if ($size == null) return new APIResponse(false, 'Invalid battery size id.'); + */ // warranty $warr = new Warranty(); $warr->setSerial($serial) ->setWarrantyClass($warr_class) ->setPlateNumber($plate) + /* ->setBatteryModel($model) ->setBatterySize($size) + */ + ->setSAPBattery($batt) ->setDatePurchase($date_pur) ->setDateClaim(null) ->setDateExpire($date_expire); @@ -229,6 +248,7 @@ class WarrantyController extends APIController ->setPlateNumber($warr->getPlateNumber()) ->setBatteryModel($warr->getBatteryModel()) ->setBatterySize($warr->getBatterySize()) + ->setSAPBattery($warr->getSAPBattery()) ->setDatePurchase($warr->getDatePurchase()) ->setDateClaim(null) ->setDateExpire($warr->getDateExpire())