Exemple #1
0
 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();
 }
Exemple #3
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);
 }