Exemple #1
0
 /**
  * 画面表示のためのテンプレート初期化
  */
 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;
 }
Exemple #2
0
 /**
  * 画面表示のためのテンプレート初期化
  */
 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;
 }
Exemple #3
0
 /**
  * 実行
  */
 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';
 }
Exemple #4
0
 /**
  * 実行
  */
 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';
 }
Exemple #5
0
 /**
  * 案件別原価集計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);
 }