Example #1
0
 /**
  * On order qty changed
  */
 public function updateOnOrder($inId, $qty, $uom)
 {
     $inDbo = CalemFactory::getDbo('inventory');
     $inRow = $inDbo->fetchById($inId);
     $uomBo = new CalemUomBo();
     $factor = $uomBo->getUomMap($uom, $inRow['uom_id']);
     $qtyOnOrder = max(0, $inRow['qty_on_order'] + $qty * $factor);
     $inDbo->setValue('qty_on_order', $qtyOnOrder);
     $inDbo->setIdForUpdate($inId);
     $inDbo->update();
     //onOrder is updated
     $this->onInOnOrderChanged($inId, $inDbo);
 }
Example #2
0
 public function addItemToReq($reqId, $inId, $qty, $uom)
 {
     $inBo = new CalemInBo();
     $vendorRow = $inBo->getInVendor($inId);
     if ($vendorRow) {
         $uomBo = new CalemUomBo();
         $qty = $uomBo->convertUomQty($qty, $uom, $vendorRow['uom_id']);
         $uom = $vendorRow['uom_id'];
         $uc = $vendorRow['unit_cost'];
         $vendorId = $vendorRow['vendor_id'];
         $vpn = $vendorRow['vendor_part_no'];
     } else {
         $uc = 0;
         $vendorId = null;
         $vpn = null;
     }
     $lineCost = $uc * $qty;
     $reqItemDbo = CalemFactory::getDbo('req_item');
     $reqItemDbo->setChangeBulk(array('req_id' => $reqId, 'in_id' => $inId, 'vendor_id' => $vendorId, 'vendor_part_no' => $vpn, 'unit_cost' => $uc, 'qty' => $qty, 'uom_id' => $uom, 'line_cost' => $lineCost));
     $reqItemDbo->insert();
     $this->onReqItemChanged($inId, $reqId, $qty, $uc, $uom);
 }