/** * 画面表示のためのテンプレート初期化 */ public function &Anken_Edit_getInitData() { $data = array(); // 締め日 $enum = new ShimeDayEnum(); $data['shime_day'] = $enum->getArray(); // 案件カテゴリ $enum = new AnkenGategoryEnum(); $data['category'] = $enum->getArray(); // 実施タイプ $enum = new AnkenTypeEnum(); $data['type'] = $enum->getArray(); // 案件種別 $enum = new AnkenSyubetsuEnum(); $data['syubetsu'] = $enum->getArray(); // 案件タイプ $enum = new AnkenType2Enum(); $data['type2'] = $enum->getArray(); // 成果地点 $enum = new AnkenSeikaPointEnum(); $data['seika_point'] = $enum->getArray(); // デバイス $enum = new AnkenDeviceEnum(); $data['device'] = $enum->getArray(); // クライアント $list =& $this->Anken_Edit_getClientList(); $data['client_list'] = $list; // 入力モード $data['input_type'] = 'input'; return $data; }
/** * 画面表示のためのテンプレート初期化 */ public function &Anken_Edit_getInitData() { $data = array(); // 締め日 $enum = new ShimeDayEnum(); $data['shime_day'] = $enum->getArray(); // 案件カテゴリ $enum = new AnkenGategoryEnum(); $data['category'] = $enum->getArray(); // 実施タイプ $enum = new AnkenTypeEnum(); $data['type'] = $enum->getArray(); // 案件種別 $enum = new AnkenSyubetsuEnum(); $data['syubetsu'] = $enum->getArray(); // 案件タイプ $enum = new AnkenType2Enum(); $data['type2'] = $enum->getArray(); // 成果地点 $enum = new AnkenSeikaPointEnum(); $data['seika_point'] = $enum->getArray(); // デバイス $enum = new AnkenDeviceEnum(); $data['device'] = $enum->getArray(); //↓↓===========nm00189 2010/03/29 start=================================== // 成果計測方式追加 $enum = new AnkenSeikaCountTypeEnum(); $data['seika_count_type'] = $enum->getArray(); //↑↑===========nm00189 2010/03/29 end===================================== // クライアント $list =& $this->Anken_Edit_getClientList(); $data['client_list'] = $list; // 入力モード $data['input_type'] = 'input'; // 成果UL時紐付けID $enum = new AcceptUseActionIdEnum(); $data['accept_use_action_id'] = $enum->getArray(); // 成果 $enum = new AcceptDankaiEnum(); $data['accept_dankai'] = $enum->getArray(); // 成果承認 $enum = new AutoAcceptEnum(); $data['auto_accept'] = $enum->getArray(); // 単価タイプ $enum = new PriceTypeCdEnum(); $data['price_type'] = $enum->getArray(); //↓↓===========nm90073 2013/07/24 start=================================== // 売上端数調整方法追加 $enum = new RoundingTypeEnum(); $data['rounding_type'] = $enum->getArray(); //↑↑===========nm90073 2013/07/24 end===================================== // 消費税 $enum = new ClientAmountIncludeTaxEnum(); $data['client_amount_include_tax'] = $enum->getArray(); // 退会率 $enum = new AnkenTaikaiOptionCdEnum(); $data['taikai_option_cd'] = $enum->getArray(); return $data; }
/** * 実行 */ protected function perform() { // 案件ID $ankenId = $this->_request['aid']; // 提携メディアID $teikeiId = $this->_request['tmid']; // モデル $m =& $this->_model; // 案件情報設定 $anken =& $m->Anken_TeikeiEdit_getAnkenData($ankenId); $this->_dataFrom['anken'] =& $anken; // 処理振り分け if (isset($this->_request['submit']) == true) { /***************************** * 入力確認 * 1.POSTから更新後のDataObjectを取得 * 2.入力チェック * 3.キャンペーンコード重複チェック * 4.確認画面へ遷移 *****************************/ $this->inputCommit($m, $anken, $ankenId, $teikeiId); } else { if (empty($ankenId) == false) { // 対象の案件を取得 $o =& $m->getObjectByID($anken, $teikeiId); if ($o == null) { throw new DataObjectNotFoundException('IDからデータを取得できません。'); } // int型のメディアID $f =& $o->getField('media_id'); if (empty($f) == false) { $this->_dataFrom['int_media_id'] = intval($f->getValue()); } /******************************* * 対象案件を表示 * 1.案件IDから変更前のDataObjectを取得 * 2.セッション変数に保存 * 3.表示 *******************************/ $this->input($ankenId, $teikeiId, $m, $o); } else { // 案件ID取得できない throw new RequestParamsException(); } } /////////////////////////////////////////// // テンプレートに設定 /////////////////////////////////////////// // 入稿URL表示 $this->_dataFrom['domain_campaign'] = DOMAIN_CAMPAIGN; $e = new AnkenDeviceEnum(); if ($anken['device_cd'] == $e->getKey('モバイル')) { $this->_dataFrom['url_lite'] = URL_CAMPAIGN_LITEM; } else { $this->_dataFrom['url_lite'] = URL_CAMPAIGN_LITE; } // モデル内の値をテンプレートに設定 $d =& $m->getFormData(); $this->appendDataFrom($d); // テンプレート変数追加 $this->_dataFrom['form_action_url'] = "teikei_edit.php?aid={$ankenId}&tmid={$teikeiId}"; $this->_dataFrom['action'] = 'edit'; $this->_dataFrom['step'] = 'input'; return 'anken/teikei_detail'; }
/** * 実行 */ protected function perform() { // 案件ID $ankenId = $this->_request['aid']; // モデル $m =& $this->_model; // 案件情報設定 $anken =& $m->Anken_TeikeiEdit_getAnkenData($ankenId); $this->_dataFrom['anken'] =& $anken; // 処理振り分け if (isset($this->_request['submit']) == true) { /***************************** * 入力確認 * 1.POSTから更新後のDataObjectを取得 * 2.入力チェック * 3.キャンペーンコード重複チェック * 4.確認画面へ遷移 *****************************/ $this->inputCommit($m, $anken, $ankenId); } else { if (empty($ankenId) == false) { $init = array(); // 入稿URL表示 $init['media_id'] = ''; // 案件の単価を引き継ぐ // メディアが確定していないため[メディアID]と表示します $init['price'] = $anken['price']; // 卸値 $init['oroshi_price'] = '0'; $init['extra_price'] = '0'; $init['extra_oroshi'] = '0'; // ダウンロードフラグ $init['download_flag'] = '1'; // 案件ID $init['anken_id'] = $ankenId; // 初期値をテンプレートに渡す $this->_dataFrom['data'] = $init; // int型のメディアID $this->_dataFrom['int_media_id'] = '[メディアID]'; /******************************* * 対象案件を表示 * 1.表示 *******************************/ $this->_dataFrom['input_type'] = "input"; } else { // 案件ID取得できない throw new RequestParamsException(); } } /////////////////////////////////////////// // テンプレートに設定 /////////////////////////////////////////// // 入稿URL表示 $this->_dataFrom['domain_campaign'] = DOMAIN_CAMPAIGN; $e = new AnkenDeviceEnum(); if ($anken['device_cd'] == $e->getKey('モバイル')) { $this->_dataFrom['url_lite'] = URL_CAMPAIGN_LITEM; } else { $this->_dataFrom['url_lite'] = URL_CAMPAIGN_LITE; } // モデル内の値をテンプレートに設定 $d =& $m->getFormData(); $this->appendDataFrom($d); // テンプレート変数追加 $this->_dataFrom['form_action_url'] = "teikei_new.php?aid={$ankenId}"; $this->_dataFrom['action'] = 'new'; $this->_dataFrom['step'] = 'input'; return 'anken/teikei_detail'; }
/** * 案件別原価集計DL * * @param string $targetMonth 対象年月 * @param string $dir ダウンロード用ディレクトリ */ public function downloadGenkahyoAnken($targetMonth, $dir) { // モデル $m =& $this->_model; $data['genka_list'] = $m->Result_AdminReportGenkaTotalDownload_getGenkaDataForAnken($targetMonth); //↓↓===========nm00331 2014/01/09 start=================================== // 実施デバイス $ankenDeviceEnum = new AnkenDeviceEnum(); $data['device_cd_list'] = $ankenDeviceEnum->getArray(); //↑↑===========nm00331 2014/01/09 end===================================== // ファイル保存 $smarty =& $this->_core->getSmarty(); $smarty->assign($data); $path = "csv_admin_report_genkahyo_anken"; $path = $this->_core->getTmplName("result/download/{$path}"); $output = $smarty->fetch($path); $output = mb_convert_encoding($output, 'shift-jis', 'utf-8'); $filename = sprintf("genka_summary_%s_anken_%s.csv", $targetMonth, date('YmdHis')); file_put_contents($dir . $filename, $output); $genkahyoType = 3; $history = array("target_month" => $targetMonth, "genkahyo_type" => $genkahyoType, "genkahyo_file_name" => $filename); $historyObject = $m->Result_AdminReportGenkaTotalDownload_getDownloadHistoryObject($history); $m->Result_AdminReportGenkaTotalDownload_insert($historyObject); $this->downloadFileData($filename, $dir); }