public function onDataUpdated($baseTable, $baseCurrent, $baseUpdate, $customTable, $customCurrent, $customUpdate) { //Notify BO about change if (isset($baseUpdate['order_type_id']) || isset($baseUpdate['order_gen_id'])) { $inBo = new CalemInBo(); $inBo->onInOrderInfoChanged($baseCurrent['id'], $this); } }
/** * Update budget actual */ public function updateBudgetActual($tran) { $budgetDbo = CalemFactory::getDbo('budget'); $bRow = $budgetDbo->fetchById($tran['budget_id']); $startDate = $bRow['start_date']; $endDate = $bRow['end_date']; if (!$startDate || !$endDate || !($startDate < $endDate)) { throw new CalemUiException('CalemBudgetUpdateInvalidDateException'); } //Get material cost $inBo = new CalemInBo(); $mc = $inBo->getInCheckoutCost($startDate, $endDate); $woBo = new CalemWoBo(); $lc = $woBo->getWoLaborCost($startDate, $endDate); //Actual cost $ac = $mc + $lc; $budgetDbo->setValue('app', $ac); $budgetDbo->setIdForUpdate($tran['budget_id']); $budgetDbo->update(); }
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); }