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