public function Result_ClientReportResultSeq_updateDetailCancel($code, $seikaId, $data, $updUserId) { // DB接続 $db =& $this->_core->getDBForUpdate(); // テーブル名称 $tables = new CampaignDbTables($code); $name_seika = $tables->getTableName_Seika(); $name_seika_detail = $tables->getTableName_Seika_detail(); $sql = <<<SQL update {$name_seika_detail} set cancel_flg = ?, upd_user_id = ?, upd_time=now() where seika_detail_id=? SQL; foreach ($data as $detailId => $cancelFlg) { $param = array($cancelFlg, $updUserId, $detailId); $db->execute($sql, $param); } // 成果の更新 EcSeikaManager::updateSeika($db, $name_seika, $name_seika_detail, $seikaId, $updUserId); }
/** * 対象成果明細の親の成果を更新します */ public function Result_SeikaModifyItemPriceQuantityUpload_updateParentSeika($code, $seikaId, $updUserId) { $db =& $this->_core->getDBForUpdate(); $tables = new CampaignDbTables($code); $name_seika = $tables->getTableName_Seika(); $name_seika_detail = $tables->getTableName_Seika_Detail(); // 成果の更新 // 成果のステータス、承認日は更新しない EcSeikaManager::updateSeika($db, $name_seika, $name_seika_detail, $seikaId, $updUserId); }
/** * 成果テーブルに追加します */ public function Result_HotenItemActionIdUpload_insertSeika($code, &$data, &$session, $priceRoundingType) { $tables = new CampaignDbTables($code); $name = $tables->getTableName_Seika(); $db =& $this->_core->getDBForUpdate(); // 1つ目の成果明細を取得する $firstDetail = reset($data); // 端数の丸め方式 $roundingTypes = array(); $roundingTypes['price_rounding_type'] = $priceRoundingType; // 丸め方式はすべての明細で一致する $roundingTypes['oroshi_rounding_type'] = $firstDetail['oroshi_rounding_type']; // 成果テーブルに追加 $newSeikaId = EcSeikaManager::insertSeika($db, $name, $roundingTypes, $data, $session); return $newSeikaId; }