示例#1
0
 /**
  *
  * @return string
  */
 public function showProducts()
 {
     $html = '';
     $purchaseOrderItems = PurchaseOrderItem::getAllByCriteria('purchaseOrderId = ?', array($this->order->getId()));
     foreach ($purchaseOrderItems as $index => $orderItem) {
         $uPrice = '$' . number_format($orderItem->getUnitPrice(), 2, '.', ',');
         $tPrice = '$' . number_format($orderItem->getTotalPrice(), 2, '.', ',');
         $html .= $this->getRow($orderItem->getQty(), $orderItem->getProduct()->getSku(), $orderItem->getProduct()->getname(), $uPrice, $tPrice, 'itemRow');
     }
     for ($i = 12; $i > $index; $i--) {
         $html .= $this->getRow(' ', ' ', ' ', ' ', ' ', 'itemRow');
     }
     return $html;
 }
 public function quote_approved($id = null)
 {
     $this->autoRender = FALSE;
     App::import('Model', 'QuoteManager.QuoteStatus');
     $QuoteStatus = new QuoteStatus();
     App::import('Model', 'QuoteManager.Quote');
     $Quote = new Quote();
     $Q_model = new Quote();
     $quote['Quote']['id'] = $id;
     $quote['Quote']['status'] = 'Approve';
     $Q_data = $Q_model->find("first", array("conditions" => array("Quote.id" => $id)));
     if (empty($Q_data['Quote']['est_shipping'])) {
         if ($Q_data['Quote']['delivery'] == '4 - 8 Weeks Delivery') {
             $add_days = 56;
             $today = $Q_data['Quote']['quote_created_date'];
             $esd_date = date('d/m/Y', strtotime($today) + 24 * 3600 * $add_days);
         }
         if ($Q_data['Quote']['delivery'] == '5 - 10 Weeks Delivery') {
             $add_days = 70;
             $today = $Q_data['Quote']['quote_created_date'];
             $esd_date = date('d/m/Y', strtotime($today) + 24 * 3600 * $add_days);
         }
         $quote['Quote']['est_shipping'] = $esd_date;
     }
     $Quote->save($quote);
     $quote_status['QuoteStatus']['status'] = 'Approve';
     $quote_status['QuoteStatus']['quote_id'] = $id;
     $quote_info = $Quote->find("first", array("conditions" => array("Quote.id" => $id)));
     $workorder['WorkOrder']['quote_id'] = $quote_info['Quote']['id'];
     $workorder['WorkOrder']['project_id'] = $quote_info['Quote']['project_id'];
     $workorder['WorkOrder']['customer_id'] = $quote_info['Quote']['customer_id'];
     $workorder['WorkOrder']['status'] = 'New';
     $quote_number_explode = explode("-", $quote_info['Quote']['quote_number']);
     $workorder['WorkOrder']['work_order_number'] = $quote_number_explode[0];
     $workorder['WorkOrder']['skid_number'] = $quote_info['Quote']['skid_number'];
     $workorder['WorkOrder']['skid_weight'] = $quote_info['Quote']['skid_weight'];
     App::import("Model", "WorkOrderManager.WorkOrder");
     $wo = new WorkOrder();
     $wo->save($workorder);
     App::import("Model", "PurchaseOrderManager.PurchaseOrder");
     App::import("Model", "PurchaseOrderManager.PurchaseOrderItem");
     App::import("Model", "Inventory.Supplier");
     App::import('Model', 'PurchaseOrderManager.GeneralSetting');
     $supplier = array();
     foreach ($quote_info['CabinetOrderItem'] as $quote_item) {
         $item_info = $this->findQuoteItem($quote_item['item_id']);
         $supplier_required = $this->findQuoteItemDept($item_info['Item']['item_department_id']);
         if ($supplier_required['ItemDepartment']['supplier_required'] == 1) {
             $supplier[$item_info['Item']['supplier_id']][] = $item_info;
         }
     }
     $total_amount = 0;
     foreach ($supplier as $key => $value) {
         if (empty($Q_data['Quote']['est_shipping'])) {
             $est_date_quote = $quote['Quote']['est_shipping'];
         } else {
             $est_date_quote = $quote_info['Quote']['est_shipping'];
         }
         $purchaseorder = new PurchaseOrder();
         $sp_model = new Supplier();
         $sp_data = $sp_model->find("first", array("conditions" => array("Supplier.id" => $id)));
         $general_model = new GeneralSetting();
         $location_data = $general_model->find("first", array("conditions" => array("GeneralSetting.name" => 'Default')));
         $po['supplier_id'] = $key;
         $po['work_order_id'] = $wo->id;
         $po_number = explode("-", $quote_info['Quote']['quote_number']);
         $po['purchase_order_num'] = $po_number[0];
         $po['quote_id'] = $quote_info['Quote']['id'];
         $po['shipment_date'] = $est_date_quote;
         $po['payment_type'] = 'On Account';
         $po['issued_on'] = date('d/m/Y');
         $po['issued_by'] = $this->loginUser['id'];
         $po['term'] = $sp_data['Supplier']['terms'];
         $po['location_name'] = $location_data['GeneralSetting']['name'];
         $po['name_ship_to'] = $location_data['GeneralSetting']['name_address'];
         $po['address'] = $location_data['GeneralSetting']['address'];
         $po['city'] = $location_data['GeneralSetting']['city'];
         $po['province'] = $location_data['GeneralSetting']['province'];
         $po['postal_code'] = $location_data['GeneralSetting']['postal_code'];
         $po['country'] = $location_data['GeneralSetting']['country'];
         foreach ($value as $v) {
             foreach ($quote_info['CabinetOrderItem'] as $req_info) {
                 if ($req_info['item_id'] == $v['Item']['id']) {
                     $quantity = $req_info['quantity'];
                     $total_amount = $total_amount + $quantity * $v['Item']['price'];
                 }
             }
         }
         App::import("Model", "PurchaseOrderManager.GeneralSetting");
         $g_setting = new GeneralSetting();
         $gst_rate = $g_setting->find("first", array("conditions" => array("GeneralSetting.type" => 'gst')));
         $pst_rate = $g_setting->find("first", array("conditions" => array("GeneralSetting.type" => 'pst')));
         $gst_amount = $gst_rate['GeneralSetting']['value'] / 100 * $total_amount;
         $pst_amount = $pst_rate['GeneralSetting']['value'] / 100 * $total_amount;
         $total_amount = $total_amount + $gst_amount + $pst_amount;
         $po['total_amount'] = $total_amount;
         $purchaseorder->save($po);
         $index = 0;
         $purchaseorderitem = new PurchaseOrderItem();
         foreach ($value as $v) {
             foreach ($quote_info['CabinetOrderItem'] as $req_info) {
                 if ($req_info['item_id'] == $v['Item']['id']) {
                     $po_item[$index]['quantity'] = $req_info['quantity'];
                     $po_item[$index]['code'] = $req_info['code'];
                     $po_item[$index]['cabinet_id'] = $req_info['cabinet_id'];
                     $po_item[$index]['door_id'] = $req_info['door_id'];
                 }
             }
             $po_item[$index]['item_id'] = $v['Item']['id'];
             $po_item[$index]['purchase_order_id'] = $purchaseorder->id;
             $index++;
         }
         $purchaseorderitem->saveAll($po_item);
     }
     //		foreach($quote_info['CabinetOrderItem'] as $quote_item){
     //			$purchaseorder = new PurchaseOrder();
     //			$item_info = $this->findQuoteItem($quote_item['item_id']);
     //			$supplier_required = $this->findQuoteItemDept($item_info['Item']['item_department_id']);
     //			if(!empty($supplier_required['ItemDepartment']['supplier_required'])){
     //				$supplier[$item_info['Item']['supplier_id']][] = $item_info;
     //				$po['supplier_id'] = $item_info['Item']['supplier_id'];
     //				$po['work_order_id'] = $wo->id;
     //				$po['purchase_order_num'] = $quote_info['Quote']['quote_number'];
     //				$po['quote_id'] = $quote_info['Quote']['id'];
     //				$po['shipment_date'] = date("Y-m-d");
     //				$po['expiry_date'] = date("Y-m-d");
     //				$po['cc_num'] = 'Test CC Number';
     //				$po['name_cc'] = 'Test CC Name';
     //				$po['payment_type'] = 'On Account';
     //				//$purchaseorder->save($po);
     //
     //				$index = 0;
     //				foreach($quote_info['CabinetOrderItem'] as $qitem){
     //					$purchaseorderitem = new PurchaseOrderItem();
     //					$item_info = $this->findQuoteItem($qitem['item_id']);
     //					$supplier_required = $this->findQuoteItemDept($item_info['Item']['item_department_id']);
     //					if(!empty($supplier_required['ItemDepartment']['supplier_required'])){
     //						$po_item[$index]['item_id'] = $item_info['Item']['id'];
     //						$po_item[$index]['code'] = $item_info['Item']['id']."|item";
     //						$po_item[$index]['purchase_order_id'] = $purchaseorder->id;
     //						$index++;
     //					}
     //				}
     //				//$purchaseorderitem->saveAll($po_item);
     //			}
     //		}exit;
     //exit;
     if ($QuoteStatus->save($quote_status)) {
         $this->redirect("http://{$_SERVER['SERVER_NAME']}{$this->webroot}work_order_manager/work_orders/detail/{$wo->id}");
     }
 }
示例#3
0
 /**
  * Searching searchProduct
  *
  * @param unknown $sender
  * @param unknown $param
  *
  * @throws Exception
  *
  */
 public function searchProduct($sender, $param)
 {
     $results = $errors = array();
     try {
         $items = array();
         $searchTxt = isset($param->CallbackParameter->searchTxt) ? trim($param->CallbackParameter->searchTxt) : '';
         $pageNo = isset($param->CallbackParameter->pageNo) ? trim($param->CallbackParameter->pageNo) : '1';
         $where = 'pro_pro_code.code = :searchExact or pro.name like :searchTxt OR sku like :searchTxt';
         $params = array('searchExact' => $searchTxt, 'searchTxt' => '%' . $searchTxt . '%');
         $searchTxtArray = StringUtilsAbstract::getAllPossibleCombo(StringUtilsAbstract::tokenize($searchTxt));
         if (count($searchTxtArray) > 1) {
             foreach ($searchTxtArray as $index => $comboArray) {
                 $key = 'combo' . $index;
                 $where .= ' OR pro.name like :' . $key;
                 $params[$key] = '%' . implode('%', $comboArray) . '%';
             }
         }
         $stats = array();
         $supplierID = isset($param->CallbackParameter->supplierID) ? trim($param->CallbackParameter->supplierID) : '';
         Product::getQuery()->eagerLoad('Product.codes', 'left join');
         $products = Product::getAllByCriteria($where, $params, true, $pageNo, DaoQuery::DEFAUTL_PAGE_SIZE, array('pro.sku' => 'asc'), $stats);
         foreach ($products as $product) {
             $array = $product->getJson();
             $array['minProductPrice'] = 0;
             $array['lastSupplierPrice'] = 0;
             $array['minSupplierPrice'] = 0;
             $minProductPriceProduct = PurchaseOrderItem::getAllByCriteria('productId = ?', array($product->getId()), true, 1, 1, array('unitPrice' => 'asc'));
             $minProductPrice = sizeof($minProductPriceProduct) ? $minProductPriceProduct[0]->getUnitPrice() : 0;
             $minProductPriceId = sizeof($minProductPriceProduct) ? $minProductPriceProduct[0]->getPurchaseOrder()->getId() : '';
             PurchaseOrderItem::getQuery()->eagerLoad('PurchaseOrderItem.purchaseOrder');
             $lastSupplierPriceProduct = PurchaseOrderItem::getAllByCriteria('po_item.productId = ? and po_item_po.supplierId = ?', array($product->getId(), $supplierID), true, 1, 1, array('po_item.id' => 'desc'));
             $lastSupplierPrice = sizeof($lastSupplierPriceProduct) ? $lastSupplierPriceProduct[0]->getUnitPrice() : 0;
             $lastSupplierPriceId = sizeof($lastSupplierPriceProduct) ? $lastSupplierPriceProduct[0]->getPurchaseOrder()->getId() : '';
             PurchaseOrderItem::getQuery()->eagerLoad('PurchaseOrderItem.purchaseOrder');
             $minSupplierPriceProduct = PurchaseOrderItem::getAllByCriteria('po_item.productId = ? and po_item_po.supplierId = ?', array($product->getId(), $supplierID), true, 1, 1, array('po_item.unitPrice' => 'asc'));
             $minSupplierPrice = sizeof($minSupplierPriceProduct) ? $minSupplierPriceProduct[0]->getUnitPrice() : 0;
             $minSupplierPriceId = sizeof($minSupplierPriceProduct) ? $minSupplierPriceProduct[0]->getPurchaseOrder()->getId() : '';
             $array['minProductPrice'] = $minProductPrice;
             $array['minProductPriceId'] = $minProductPriceId;
             $array['lastSupplierPrice'] = $lastSupplierPrice;
             $array['lastSupplierPriceId'] = $lastSupplierPriceId;
             $array['minSupplierPrice'] = $minSupplierPrice;
             $array['minSupplierPriceId'] = $minSupplierPriceId;
             $items[] = $array;
         }
         $results['items'] = $items;
         $results['pagination'] = $stats;
     } catch (Exception $ex) {
         $errors[] = $ex->getMessage();
     }
     $param->ResponseData = StringUtilsAbstract::getJson($results, $errors);
 }
 function listOfPoItem($wo_id)
 {
     App::uses('PurchaseOrderItem', 'PurchaseOrderManager.Model');
     $purchaseOrderModel = new PurchaseOrderItem();
     $purchaseOrders = $purchaseOrderModel->find('all', array('fields' => array('PurchaseOrder.id,PurchaseOrder.purchase_order_num,PurchaseOrderItem.id', 'PurchaseOrderItem.code'), 'conditions' => array('PurchaseOrder.work_order_id' => $wo_id)));
     //debug($purchaseOrders);
     $allItems = $this->ListAllTypesOfItems();
     $list = array();
     $title_list = array();
     $price_list = array();
     $po_list = array();
     $po_id_list = array();
     foreach ($purchaseOrders as $value) {
         if (array_key_exists($value['PurchaseOrderItem']['code'], $allItems['main_list'])) {
             $list[$value['PurchaseOrderItem']['code']] = $allItems['main_list'][$value['PurchaseOrderItem']['code']];
             $title_list[$value['PurchaseOrderItem']['code']] = $allItems['title_list'][$value['PurchaseOrderItem']['code']];
             $price_list[$value['PurchaseOrderItem']['code']] = $allItems['price_list'][$value['PurchaseOrderItem']['code']];
             $po_list[$value['PurchaseOrderItem']['code']] = $value['PurchaseOrder']['purchase_order_num'];
             $po_id_list[$value['PurchaseOrderItem']['code']] = $value['PurchaseOrder']['id'];
         }
     }
     return array('main_list' => $list, 'title_list' => $title_list, 'price_list' => $price_list, 'po_list' => $po_list, 'po_id_list' => $po_id_list);
 }
示例#5
0
 /**
  * get all purchase order items under this PO
  *
  * @return array
  */
 public function getPurchaseOrderItems()
 {
     return PurchaseOrderItem::getAllByCriteria('po_item.purchaseOrderId = ?', array($this->getId()));
 }
示例#6
0
 /**
  * (non-PHPdoc)
  * @see BaseEntityAbstract::postSave()
  */
 public function postSave()
 {
     if (trim($this->getId()) !== '') {
         //if a receiving item gets deactivate, then stockonHand needs to be changed
         if (intval($this->getActive()) === 0) {
             $msg = 'ReceivedItem for Product(SKU=' . $this->getProduct() . '), unitPrice=' . $this->getUnitPrice() . ', serialNo=' . $this->getSerialNo() . ', invoiceNo=' . $this->getInvoiceNo() . ', qty=' . $this->getQty() . ' has now been deactivated.';
             $log_Comments = get_class($this) . '_DEACTIVATION';
             $qty = 0 - intval($this->getQty());
         } else {
             $msg = 'Received a Product(SKU=' . $this->getProduct() . ') with unitPrice=' . $this->getUnitPrice() . ', serialNo=' . $this->getSerialNo() . ', invoiceNo=' . $this->getInvoiceNo() . ', qty=' . $this->getQty() . '';
             $log_Comments = 'Auto Log';
             $qty = intval($this->getQty());
         }
         $this->getPurchaseOrder()->addLog($msg, Log::TYPE_SYSTEM, Log::TYPE_SYSTEM, $log_Comments, __CLASS__ . '::' . __FUNCTION__)->addComment($msg, Comments::TYPE_WAREHOUSE);
         $this->getProduct()->received($qty, $this->getUnitPrice(), $msg, $this);
         $nofullReceivedItems = PurchaseOrderItem::getAllByCriteria('productId = ? and purchaseOrderId = ?', array($this->getProduct()->getId(), $this->getPurchaseOrder()->getId()), true, 1, 1, array('po_item.receivedQty' => 'asc'));
         if (count($nofullReceivedItems) > 0) {
             $nofullReceivedItems[0]->setReceivedQty($nofullReceivedItems[0]->getReceivedQty() + $qty)->save()->addLog(Log::TYPE_SYSTEM, $msg, $log_Comments, __CLASS__ . '::' . __FUNCTION__)->addComment($msg, Comments::TYPE_WAREHOUSE);
         }
         $totalCount = PurchaseOrderItem::countByCriteria('active = 1 and purchaseOrderId = ? and receivedQty < qty', array($this->getPurchaseOrder()->getId()));
         $this->getPurchaseOrder()->setStatus($totalCount > 0 ? PurchaseOrder::STATUS_RECEIVING : PurchaseOrder::STATUS_RECEIVED)->save()->addComment($msg, Comments::TYPE_WAREHOUSE);
     }
 }
示例#7
0
 /**
  * creating a PO Item
  * 
  * @param PurchaseOrder $po
  * @param Product       $product
  * @param double        $unitPrice
  * @param int           $qty
  * @param string        $supplierItemCode
  * @param string        $supplierId
  * @param string        $description
  * @param double        $totalPrice
  * 
  * @return PurchaseOrderItem
  */
 public static function create(PurchaseOrder $po, Product $product, $unitPrice = '0.0000', $qty = 1, $totalPrice = null, $receivedQty = 0)
 {
     $entity = new PurchaseOrderItem();
     $msg = 'created POI for PO(' . $po->getPurchaseOrderNo() . ') with Product(SKU=' . $product->getSku() . ') unitPrice=' . $unitPrice . ', qty=' . $qty;
     $entity->setPurchaseOrder($po)->setProduct($product)->setUnitPrice($unitPrice)->setQty($qty)->setReceivedQty($receivedQty)->setTotalPrice(trim($totalPrice) !== '' ? $totalPrice : $unitPrice * $qty)->save()->addLog($msg, Log::TYPE_SYSTEM, 'Auto Log', __CLASS__ . '::' . __FUNCTION__);
     $po->addLog($msg, Log::TYPE_SYSTEM, 'Auto Log', __CLASS__ . '::' . __FUNCTION__);
     return $entity;
 }
 /**
  * check product: if the PO contain such product
  *
  * @param unknown $sender
  * @param unknown $param
  *
  * @throws Exception
  *
  */
 public function checkProduct($sender, $param)
 {
     $results = $errors = array();
     try {
         $items = array();
         $purchaseOrder = PurchaseOrder::get(trim($param->CallbackParameter->purchaseOrder->id));
         if (!$purchaseOrder instanceof PurchaseOrder) {
             throw new Exception('Invalid PurchaseOrder passed in!');
         }
         $product = Product::get(trim($param->CallbackParameter->product->id));
         if (!$product instanceof Product) {
             throw new Exception('Invalid Product passed in!');
         }
         $results['count'] = PurchaseOrderItem::countByCriteria('purchaseOrderId = :purchaseOrderId and productId = :productId', array('purchaseOrderId' => $purchaseOrder->getId(), 'productId' => $product->getId()));
     } catch (Exception $ex) {
         $errors[] = $ex->getMessage();
     }
     $param->ResponseData = StringUtilsAbstract::getJson($results, $errors);
 }
示例#9
0
 /**
  * saveOrder
  *
  * @param unknown $sender
  * @param unknown $param
  *
  * @throws Exception
  *
  */
 public function saveOrder($sender, $param)
 {
     $results = $errors = array();
     try {
         Dao::beginTransaction();
         if (!($purchaseOrder = PurchaseOrder::get(trim($param->CallbackParameter->id))) instanceof PurchaseOrder) {
             throw new Exception('Invalid Purchase Order passed in!');
         }
         if (!($supplier = Supplier::get(trim($param->CallbackParameter->supplierId))) instanceof Supplier) {
             throw new Exception('Invalid Supplier passed in!');
         }
         $isSubmit = isset($param->CallbackParameter->isSubmit) && intval($param->CallbackParameter->isSubmit) === 1 ? true : false;
         $supplierRefNum = trim($param->CallbackParameter->supplierRefNum);
         $supplierContactName = trim($param->CallbackParameter->contactName);
         $supplierContactNo = trim($param->CallbackParameter->contactNo);
         $shippingCost = trim($param->CallbackParameter->shippingCost);
         $handlingCost = trim($param->CallbackParameter->handlingCost);
         $comment = trim($param->CallbackParameter->comments);
         $status = trim($param->CallbackParameter->status);
         $purchaseOrderTotalAmount = trim($param->CallbackParameter->totalAmount);
         $purchaseOrderTotalPaid = trim($param->CallbackParameter->totalPaid);
         $purchaseOrder->setTotalAmount($purchaseOrderTotalAmount)->setTotalPaid($purchaseOrderTotalPaid)->setSupplierRefNo($supplierRefNum)->setSupplierContact($supplierContactName)->setSupplierContactNumber($supplierContactNo)->setshippingCost($shippingCost)->sethandlingCost($handlingCost)->setStatus($status)->save();
         $purchaseOrder->addComment($comment, Comments::TYPE_PURCHASING);
         foreach ($param->CallbackParameter->items as $item) {
             $productUnitPrice = trim($item->unitPrice);
             $qtyOrdered = trim($item->qtyOrdered);
             $productTotalPrice = trim($item->totalPrice);
             if (!($product = Product::get(trim($item->productId))) instanceof Product) {
                 throw new Exception('Invalid Product passed in!');
             }
             if (!isset($item->id) || trim($item->id) === '') {
                 $poItem = null;
                 $purchaseOrder->addItem($product, $productUnitPrice, $qtyOrdered, '', '', $productTotalPrice, $poItem);
             } else {
                 if (($poItem = PurchaseOrderItem::get($item->id)) instanceof PurchaseOrderItem) {
                     $poItem->setProduct($product)->setUnitPrice($productUnitPrice)->setTotalPrice($productTotalPrice)->setQty($qtyOrdered);
                 }
             }
             $poItem->setActive(intval($item->active) === 1)->save();
         }
         $results['item'] = $purchaseOrder->getJson();
         if ($isSubmit === true) {
             $pdfFile = EntityToPDF::getPDF($purchaseOrder);
             $confirmEmail = trim($param->CallbackParameter->contactEmail);
             $asset = Asset::registerAsset($purchaseOrder->getPurchaseOrderNo() . '.pdf', file_get_contents($pdfFile), Asset::TYPE_TMP);
             EmailSender::addEmail('*****@*****.**', $confirmEmail, 'BudgetPC Purchase Order:' . $purchaseOrder->getPurchaseOrderNo(), 'Please Find the attached PurchaseOrder(' . $purchaseOrder->getPurchaseOrderNo() . ') from BudgetPC.', array($asset));
             EmailSender::addEmail('*****@*****.**', '*****@*****.**', 'BudgetPC Purchase Order:' . $purchaseOrder->getPurchaseOrderNo(), 'Please Find the attached PurchaseOrder(' . $purchaseOrder->getPurchaseOrderNo() . ') from BudgetPC.', array($asset));
             $purchaseOrder->addComment('An email sent to "' . $confirmEmail . '" with the attachment: ' . $asset->getAssetId(), Comments::TYPE_SYSTEM);
         }
         Dao::commitTransaction();
     } catch (Exception $ex) {
         Dao::rollbackTransaction();
         $errors[] = $ex->getMessage();
     }
     $param->ResponseData = StringUtilsAbstract::getJson($results, $errors);
 }
 public function getPoItem($wo_id = null)
 {
     $this->autoRender = false;
     App::uses('PurchaseOrderItem', 'PurchaseOrderManager.Model');
     $purchaseOrderModel = new PurchaseOrderItem();
     $purchaseOrders = $purchaseOrderModel->find('all', array('fields' => array('PurchaseOrder.id,PurchaseOrder.purchase_order_num,PurchaseOrderItem.id', 'PurchaseOrderItem.code'), 'conditions' => array('PurchaseOrder.work_order_id' => $wo_id)));
     //debug($purchaseOrders);
     $allItems = $this->QuoteItem->ListAllTypesOfItems();
     $list = array();
     $title_list = array();
     $price_list = array();
     $po_list = array();
     $po_id_list = array();
     foreach ($purchaseOrders as $value) {
         if (array_key_exists($value['PurchaseOrderItem']['code'], $allItems['main_list'])) {
             $list[$value['PurchaseOrderItem']['code']] = $allItems['main_list'][$value['PurchaseOrderItem']['code']];
             $title_list[$value['PurchaseOrderItem']['code']] = $allItems['title_list'][$value['PurchaseOrderItem']['code']];
             $price_list[$value['PurchaseOrderItem']['code']] = $allItems['price_list'][$value['PurchaseOrderItem']['code']];
             $po_list[$value['PurchaseOrderItem']['code']] = $value['PurchaseOrder']['purchase_order_num'];
             $po_id_list[$value['PurchaseOrderItem']['code']] = $value['PurchaseOrder']['id'];
         }
     }
     echo json_encode(array('main_list' => $list, 'title_list' => $title_list, 'price_list' => $price_list, 'po_list' => $po_list, 'po_id_list' => $po_id_list));
     //echo json_encode($purchaseOrders);
 }
示例#11
0
 public function preSave()
 {
     $this->setProduct($this->getProductQtyLog()->getproduct())->setLastPurchaseTime($this->getProductQtyLog()->getCreated());
     switch ($this->getProductQtyLog()->getEntityName()) {
         case 'ReceivingItem':
             if (($receivingItem = ReceivingItem::get($this->getProductQtyLog()->getEntityId())) instanceof ReceivingItem) {
                 $this->setReceivingItem($receivingItem);
             }
             break;
         case 'PurchaseOrderItem':
             if (($purchaseOrderItem = PurchaseOrderItem::get($this->getProductQtyLog()->getEntityId())) instanceof PurchaseOrderItem) {
                 $this->setPurchaseOrderItem($purchaseOrderItem);
             }
             break;
         case 'OrderItem':
             if (($orderItem = OrderItem::get($this->getProductQtyLog()->getEntityId())) instanceof OrderItem) {
                 $this->setOrderItem($orderItem);
             }
             break;
         case 'CreditNoteItem':
             if (($creditNoteItem = CreditNoteItem::get($this->getProductQtyLog()->getEntityId())) instanceof CreditNoteItem) {
                 $this->setCreditNoteItem($creditNoteItem);
             }
             break;
     }
 }