Beispiel #1
0
 /**
  * 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();
 }
Beispiel #2
0
 public function beforeInsert($baseTable, $baseData, $customTable, $customData)
 {
     if (!isset($baseData['wo_no']) || !$baseData['wo_no']) {
         require_once _CALEM_DIR_ . 'server/modules/workorder/CalemWoBo.php';
         $woBo = new CalemWoBo();
         $baseData['wo_no'] = $woBo->getNextWoNo();
     }
     if (!isset($baseData['status_id'])) {
         global $_CALEM_conf;
         $status = $_CALEM_conf['wo_conf']['wo_new_status'];
         $baseData['status_id'] = $status;
     }
     //Lookup info from asset
     if (!isset($baseData['asset_note'])) {
         $assetDbo = CalemFactory::getDbo("asset");
         $assetRow = $assetDbo->fetchById($baseData['asset_id']);
         $baseData['asset_note'] = $assetRow['note'];
     }
     return $baseData;
 }