/** * * makeBean * @param array $resultset * @return \Application\Model\Bean\PurchaseOrderCommercialInvoice */ protected function makeBean($resultset) { return PurchaseOrderCommercialInvoiceFactory::createFromArray($resultset); }
/** * * @return array */ public function updateAction() { if ($this->getRequest()->isPost()) { //die("<pre>".print_r($this->getRequest()->getParams(), true)."</pre>"); $idPurchaseOrder = $this->getRequest()->getParam("id_purchase_order"); $params = array("invoice_number" => $this->getRequest()->getParam("commercial_invoice_number"), "id_courtyard" => $this->getRequest()->getParam("id_courtyard"), "status" => $this->getRequest()->getParam("status")); $warehouseStore = $this->getRequest()->getParam("warehouse_store", ""); $purchaseOrder = PurchaseOrderQuery::create()->findByPKOrThrow($idPurchaseOrder, $this->i18n->_("The purchase order width id {$idPurchaseOrder} does not exist")); PurchaseOrderFactory::populate($purchaseOrder, $params); $purchaseOrderEntries = PurchaseOrderEntryQuery::create()->whereAdd(PurchaseOrderEntry::ID_PURCHASE_ORDER, $purchaseOrder->getIndex())->find(); $purchaseOrderEntries->each(function (PurchaseOrderEntry $purchaseOrderEntry) use($warehouseStore) { $purchaseOrderEntry->setIdWarehouseStore($warehouseStore); }); $SAPConnectionClient = new SAPConnectorClient(); $result = $SAPConnectionClient->purchaseOrder($purchaseOrder, $purchaseOrderEntries); if ($result->purchaseOrderResult->code == 200) { try { $this->getPurchaseOrderCommercialInvoiceCatalog()->beginTransaction(); $purchaseOrderFiles = PurchaseOrderFileQuery::create()->whereAdd(PurchaseOrderFile::ID_PURCHASE_ORDER, $result->purchaseOrderResult->id)->find(); $uploadPath = 'public/' . ($filePath = "files/purchase-order/" . $result->purchaseOrderResult->id); if ($_FILES["commercial_invoice_file"]["name"] != "") { $fileUploader = new FileUploader("commercial_invoice_file"); $fileUploader->saveFile($uploadPath, false); $commercialInvoiceFile = PurchaseOrderFileFactory::createFromArray(array(PurchaseOrderFile::CONTENT => $filePath . $fileUploader->getFileName(), PurchaseOrderFile::TYPE => File::$typeFile["typeFile"], PurchaseOrderFile::DOCUMENT_TYPE => PurchaseOrderFile::$DocumentType["CommercialInvoice"], PurchaseOrderFile::ID_PURCHASE_ORDER => $result->purchaseOrderResult->id)); $this->getPurchaseOrderFileCatalog()->create($commercialInvoiceFile); $oldCommercialInvoiceFiles = $purchaseOrderFiles->filterByDocumentType(PurchaseOrderFile::$DocumentType["CommercialInvoice"]); while ($oldCommercialInvoiceFiles->valid()) { $oldCommercialInvoiceFile = $oldCommercialInvoiceFiles->read(); $this->getPurchaseOrderFileCatalog()->deleteById($oldCommercialInvoiceFile->getIdPurchaseOrderFile()); } } if ($_FILES["packing_list_file"]["name"] != "") { $fileUploader = new FileUploader("packing_list_file"); $fileUploader->saveFile($uploadPath, false); $packingListFile = PurchaseOrderFileFactory::createFromArray(array(PurchaseOrderFile::CONTENT => $filePath . $fileUploader->getFileName(), PurchaseOrderFile::TYPE => File::$typeFile["typeFile"], PurchaseOrderFile::DOCUMENT_TYPE => PurchaseOrderFile::$DocumentType["PackingList"], PurchaseOrderFile::ID_PURCHASE_ORDER => $result->purchaseOrderResult->id)); $this->getPurchaseOrderFileCatalog()->create($packingListFile); $oldPackingListFiles = $purchaseOrderFiles->filterByDocumentType(PurchaseOrderFile::$DocumentType["PackingList"]); while ($oldPackingListFiles->valid()) { $oldPackingListFile = $oldPackingListFiles->read(); $this->getPurchaseOrderFileCatalog()->deleteById($oldPackingListFile->getIdPurchaseOrderFile()); } } if ($_FILES["bl_house_file"]["name"] != "") { $fileUploader = new FileUploader("bl_house_file"); $fileUploader->saveFile($uploadPath, false); $BLHouseFile = PurchaseOrderFileFactory::createFromArray(array(PurchaseOrderFile::CONTENT => $filePath . $fileUploader->getFileName(), PurchaseOrderFile::TYPE => File::$typeFile["typeFile"], PurchaseOrderFile::DOCUMENT_TYPE => PurchaseOrderFile::$DocumentType["BLHouse"], PurchaseOrderFile::ID_PURCHASE_ORDER => $result->purchaseOrderResult->id)); $this->getPurchaseOrderFileCatalog()->create($BLHouseFile); $oldBLHouseFile = $purchaseOrderFiles->filterByDocumentType(PurchaseOrderFile::$DocumentType["BLHouse"]); while ($oldPackingListFiles->valid()) { $oldBLHouseFile = $oldPackingListFiles->read(); $this->getPurchaseOrderFileCatalog()->deleteById($oldBLHouseFile->getIdPurchaseOrderFile()); } } $commercialInvoiceArray = array(PurchaseOrderCommercialInvoice::ID_PURCHASE_ORDER => $result->purchaseOrderResult->id, PurchaseOrderCommercialInvoice::COMMERCIAL_INVOICE_NUMBER => $this->getRequest()->getParam("commercial_invoice_number"), PurchaseOrderCommercialInvoice::NUM_BL_HOUSE => $this->getRequest()->getParam("num_bl_house"), PurchaseOrderCommercialInvoice::ID_PURCHASE_ORDER => $this->getRequest()->getParam("id_purchase_order"), PurchaseOrderCommercialInvoice::LOAD => $this->getRequest()->getParam("load"), PurchaseOrderCommercialInvoice::PAYLOAD => $this->getRequest()->getParam("payload"), PurchaseOrderCommercialInvoice::PIECES => $this->getRequest()->getParam("pieces"), PurchaseOrderCommercialInvoice::CARTONS => $this->getRequest()->getParam("cartons")); $commercialInvoice = PurchaseOrderCommercialInvoiceQuery::create()->whereAdd(PurchaseOrderCommercialInvoice::ID_PURCHASE_ORDER, $purchaseOrder->getIndex())->findOne(); if ($commercialInvoice instanceof PurchaseOrderCommercialInvoice) { PurchaseOrderCommercialInvoiceFactory::populate($commercialInvoice, $commercialInvoiceArray); $this->getPurchaseOrderCommercialInvoiceCatalog()->update($commercialInvoice); } else { $purchaseOrderCommercialInvoice = PurchaseOrderCommercialInvoiceFactory::createFromArray($commercialInvoiceArray); $this->getPurchaseOrderCommercialInvoiceCatalog()->create($purchaseOrderCommercialInvoice); } $this->getPurchaseOrderCommercialInvoiceCatalog()->commit(); $this->setFlash('ok', $this->i18n->_("The purchase Order with id {$result->purchaseOrderResult->id} was saved correctly")); } catch (Exception $e) { $this->getPurchaseOrderCommercialInvoiceCatalog()->rollBack(); $this->setFlash('error', $this->i18n->_($e->getMessage())); } } else { $this->setFlash('error', $result->purchaseOrderResult->code . " - " . $result->purchaseOrderResult->message); } } $this->_redirect('purchase-order/list'); }