/** * 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); }
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); }