예제 #1
0
 public function saveFrontpageAction()
 {
     // 		echo '<pre>';
     // 		print_r($this->getRequest()->getParams());
     // 		die;
     $importLicence = $this->getRequest()->getParam('importLicence');
     $customsSeal = $this->getRequest()->getParam('customsSeal');
     $originSeal = $this->getRequest()->getParam('originSeal');
     $exchangeEuro = $this->getRequest()->getParam('exchangeEuro');
     $exchangeDollar = $this->getRequest()->getParam('exchangeDollar');
     $usePrecapturedValues = $this->getRequest()->getParam('use_precaptured_values');
     $increasableFreight = $this->getRequest()->getParam('increasableFreight');
     $increasableInsurance = $this->getRequest()->getParam('increasableInsurance');
     $increasableInsuranceFactor = $this->getRequest()->getParam('increasableInsuranceFactor');
     $notIncreasableFreight = $this->getRequest()->getParam('notIncreasableFreight');
     $notIncreasableInsurance = $this->getRequest()->getParam('notIncreasableInsurance');
     $notIncreasableInsuranceFactor = $this->getRequest()->getParam('notIncreasableInsuranceFactor');
     $dta = $this->getRequest()->getParam('dta');
     $customs = $this->getRequest()->getParam('customs');
     $inDate = $this->getRequest()->getParam('inDate');
     $prv = $this->getRequest()->getParam('prv');
     $rec = $this->getRequest()->getParam('rec');
     $otherCost = $this->getRequest()->getParam('other_cost');
     $frontpageStatus = $this->getRequest()->getParam('frontpageStatus');
     $id = $this->getRequest()->getParam('id');
     $folioImport = FolioImportQuery::create()->findByPK($id);
     $folioImport->setImportLicence($importLicence);
     $folioImport->setOrigenSell($originSeal);
     $folioImport->setCustomsSell($customsSeal);
     $folioImport->setExchangeDollarToPeso($exchangeDollar);
     $folioImport->setExchangeEuroToDollar($exchangeEuro);
     $folioImport->setStatus(FolioImport::$Status['Arrived']);
     $folioImport->setFrontpageStatus($frontpageStatus);
     $folioImport->setPrv($prv);
     $folioImport->setRec($rec);
     $folioImport->setOtherCost($otherCost);
     $folioImport->setCustoms($customs);
     $folioImport->setInDate($inDate);
     $folioImport->setDta($dta);
     if (!empty($usePrecapturedValues)) {
         $folioImport->setUsePrecapturedValues(1);
     } else {
         $folioImport->setUsePrecapturedValues(0);
     }
     // 		echo '<pre>';
     // 		print_r($folioImport->toArray());
     // 		die;
     $booking = BookingQuery::create()->innerJoinFolioImport()->whereAdd('Booking.' . Booking::ID_FOLIO_IMPORT, $folioImport->getIdFolioImport())->findOne();
     $booking->setIncreasableFreight($increasableFreight);
     $booking->setIncreasableInsurance($increasableInsurance);
     $booking->setIncreasableInsuranceFactor($increasableInsuranceFactor);
     $booking->setNotIncreasableFreight($notIncreasableFreight);
     $booking->setNotIncreasableInsurance($notIncreasableInsurance);
     $booking->setNotIncreasableInsuranceFactor($notIncreasableInsuranceFactor);
     $this->getCatalog('FolioImportCatalog')->beginTransaction();
     $SapConnection = new SAPConnectorClient();
     try {
         $this->getCatalog('FolioImportCatalog')->update($folioImport);
         $purchaseOrders = PurchaseOrderQuery::create()->whereAdd(PurchaseOrder::ID_FOLIO_IMPORT, $folioImport->getIdFolioImport())->find();
         while ($purchaseOrders->valid()) {
             $purchaseOrder = $purchaseOrders->read();
             $purchaseOrder->setStatus(PurchaseOrder::$Status['Arrived']);
             $purchaseOrderEntries = PurchaseOrderEntryQuery::create()->whereAdd(PurchaseOrderEntry::ID_PURCHASE_ORDER, $purchaseOrder->getIdPurchaseOrder())->find();
             $SapConnection->purchaseOrder($purchaseOrder, $purchaseOrderEntries);
         }
         $this->setFlash('ok', $this->i18n->_('The FolioImport has been updated.'));
     } catch (Exception $e) {
         $this->getCatalog('FolioImportCatalog')->rollBack();
         $this->setFlash('error', $this->i18n->_($this->ERROR));
         $this->_redirect('folio-import/list');
     }
     try {
         $this->getCatalog('BookingCatalog')->update($booking);
     } catch (Exception $e) {
         $this->getCatalog('FolioImportCatalog')->rollBack();
         $this->setFlash('error', $e->getMessage());
         $this->_redirect('folio-import/list');
     }
     if ($folioImport->getFrontpageStatus() == FolioImport::$FrontpageStatus['Closed']) {
         $this->newLogForCloseFrontpage($folioImport);
     } else {
         $this->newLogForCreateFrontpage($folioImport);
     }
     $this->getCatalog('FolioImportCatalog')->commit();
     $this->_redirect('folio-import/list');
 }
예제 #2
0
 public function readyToShipmentAction()
 {
     $idPurchaseOrder = $this->getRequest()->getParam("id_purchase_order");
     $blHouseData[PurchaseOrderCommercialInvoice::PIECES] = $this->getRequest()->getParam("pieces");
     $blHouseData[PurchaseOrderCommercialInvoice::CARTONS] = $this->getRequest()->getParam("cartons");
     $blHouseData[PurchaseOrderCommercialInvoice::LOAD] = $this->getRequest()->getParam("load");
     $blHouseData[PurchaseOrderCommercialInvoice::PAYLOAD] = $this->getRequest()->getParam("payload");
     $blHouseData[PurchaseOrderCommercialInvoice::NUM_BL_HOUSE] = $this->getRequest()->getParam("num_bl_house");
     $courtyardArrivalDate = $this->getRequest()->getParam("courtyard_arrival_date");
     $purchaseOrder = PurchaseOrderQuery::create()->findByPKOrThrow($idPurchaseOrder, $this->i18n->_("The Purchase Order with id {$idPurchaseOrder} does not exist"));
     if (PurchaseOrderCommercialInvoiceQuery::create()->whereAdd(PurchaseOrderCommercialInvoice::ID_PURCHASE_ORDER, $purchaseOrder->getIdPurchaseOrder())->count()) {
         $purchaseOrderCommercialInvoice = PurchaseOrderCommercialInvoiceQuery::create()->whereAdd(PurchaseOrderCommercialInvoice::ID_PURCHASE_ORDER, $purchaseOrder->getIdPurchaseOrder())->find()->getOne();
     } else {
         $purchaseOrderCommercialInvoice = new PurchaseOrderCommercialInvoice();
     }
     $purchaseOrderEntries = PurchaseOrderEntryQuery::create()->whereAdd(PurchaseOrderEntry::ID_PURCHASE_ORDER, $purchaseOrder->getIdPurchaseOrder())->find();
     $purchaseOrder->setStatus(PurchaseOrder::$Status["Ready"])->setCourtyardArrivalDate($courtyardArrivalDate);
     $sap = new SAPConnectorClient();
     $result = $sap->purchaseOrder($purchaseOrder, $purchaseOrderEntries);
     if ($result->purchaseOrderResult->code == 200) {
         try {
             $this->getPurchaseOrderCatalog()->beginTransaction();
             if ($_FILES["bl_house_file"]["name"] != "") {
                 $filePath = "files/purchase-order/" . $purchaseOrder->getIdPurchaseOrder();
                 $uploadPath = 'public/' . $filePath;
                 $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 => $purchaseOrder->getIdPurchaseOrder()));
                 $this->getPurchaseOrderFileCatalog()->create($blHouseFile);
                 $this->newLogForUploadBL($purchaseOrder);
             }
             PurchaseOrderCommercialInvoiceFactory::populate($purchaseOrderCommercialInvoice, $blHouseData);
             if ($purchaseOrderCommercialInvoice->getIdPurchaseOrderCommercialInvoice()) {
                 $this->getPurchaseOrderCommercialInvoiceCatalog()->update($purchaseOrderCommercialInvoice);
             } else {
                 $purchaseOrderCommercialInvoice->setIdPurchaseOrder($idPurchaseOrder);
                 $this->getPurchaseOrderCommercialInvoiceCatalog()->create($purchaseOrderCommercialInvoice);
             }
             $this->newLogForReadyToShipment($purchaseOrder);
             $this->getPurchaseOrderCatalog()->commit();
             $this->setFlash('ok', $this->i18n->_("The Purchase Order has ready to shipment."));
         } catch (Exception $e) {
             $this->getPurchaseOrderCatalog()->rollBack();
             $this->setFlash('error', $this->i18n->_($e->getMessage()));
         }
     } else {
         $this->setFlash('error', $result->purchaseOrderResult->code . " - " . $result->purchaseOrderResult->message);
     }
     $this->_redirect('purchase-order/list');
 }