Changeset 22642 for branches/camp/camp-2_13-tax/data/class/pages/admin/basis/LC_Page_Admin_Basis_Tax.php
- Timestamp:
- 2013/03/09 19:20:19 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/camp/camp-2_13-tax/data/class/pages/admin/basis/LC_Page_Admin_Basis_Tax.php
r22624 r22642 60 60 $this->arrTAXCALCRULE = $masterData->getMasterData('mtb_taxrule'); 61 61 62 // 配信時刻の項目値設定62 //適用時刻の項目値設定 63 63 $this->objDate = new SC_Date(); 64 // 配信時間の年を、「現在年~現在年+1」の範囲に設定65 for ($year=date("Y"); $year<=date("Y") + 1;$year++){64 //適用時間の年を、「現在年~現在年+2」の範囲に設定 65 for ($year=date("Y"); $year<=date("Y") + 2;$year++){ 66 66 $arrYear[$year] = $year; 67 67 } … … 94 94 { 95 95 96 $objTaxRule = new SC_Helper_TaxRule_Ex(); 97 $objFormParam = new SC_FormParam_Ex(); 98 99 // パラメーター情報の初期化 100 $this->lfInitParam($objFormParam); 101 102 // POST値をセット 103 $objFormParam->setParam($_POST); 104 105 // POST値の入力文字変換 106 $objFormParam->convParam(); 107 108 //tax_rule_idを変数にセット 109 $tax_rule_id = $objFormParam->getValue('tax_rule_id'); 110 111 // モードによる処理切り替え 112 switch ($this->getMode()) { 113 114 // 編集処理 115 case 'edit': 116 // エラーチェック 117 $this->arrErr = $this->lfCheckError($objFormParam, $objTaxRule); 118 if (!SC_Utils_Ex::isBlank($this->arrErr['tax_rule_id'])) { 119 trigger_error('', E_USER_ERROR); 120 return; 121 } 122 123 if (count($this->arrErr) <= 0) { 124 // POST値の引き継ぎ 125 $arrParam = $objFormParam->getHashArray(); 126 // 登録実行 127 $res_tax_rule_id = $this->doRegist($tax_rule_id, $arrParam, $objTaxRule); 128 if ($res_tax_rule_id !== FALSE) { 129 // 完了メッセージ 130 $this->tpl_onload = "alert('登録が完了しました。');"; 131 // リロード 132 SC_Response_Ex::reload(); 133 } 134 } 135 136 break; 137 138 // 編集前処理 139 case 'pre_edit': 140 $TaxRule = $objTaxRule->getTaxRuleData($tax_rule_id); 141 142 $tmp = explode(" ", $TaxRule['apply_date']); 143 $tmp_ymd = explode("-", $tmp[0]); 144 $TaxRule['apply_date_year'] = $tmp_ymd[0]; 145 $TaxRule['apply_date_month'] = $tmp_ymd[1]; 146 $TaxRule['apply_date_day'] = $tmp_ymd[2]; 147 $tmp_hm = explode(":", $tmp[1]); 148 $TaxRule['apply_date_hour'] = $tmp_hm[0]; 149 $TaxRule['apply_date_minutes'] = $tmp_hm[1]; 150 151 $objFormParam->setParam($TaxRule); 152 153 // POSTデータを引き継ぐ 154 $this->tpl_tax_rule_id = $tax_rule_id; 155 break; 156 157 // 削除 158 case 'delete': 159 $objTaxRule->deleteTaxRuleData($tax_rule_id); 160 161 // リロード 162 SC_Response_Ex::reload(); 163 break; 164 165 default: 166 break; 167 } 168 169 $this->arrForm = $objFormParam->getFormParamList(); 170 171 // 税規約情報読み込み 172 $this->arrTaxrule = $objTaxRule->getTaxRuleList(); 173 96 174 } 97 175 … … 105 183 parent::destroy(); 106 184 } 185 186 /** 187 * パラメーター情報の初期化を行う. 188 * 189 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 190 * @return void 191 */ 192 function lfInitParam(&$objFormParam) 193 { 194 $objFormParam->addParam('税規約ID', 'tax_rule_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 195 $objFormParam->addParam('消費税率', 'tax_rate', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 196 $objFormParam->addParam('課税規則 ', 'calc_rule', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 197 // 適用日時 198 $objFormParam->addParam('適用年', 'apply_date_year', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 199 $objFormParam->addParam('適用月', 'apply_date_month', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 200 $objFormParam->addParam('適用日', 'apply_date_day', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 201 $objFormParam->addParam('適用時', 'apply_date_hour', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 202 $objFormParam->addParam('適用分', 'apply_date_minutes', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 203 $objFormParam->addParam('適用日時', 'apply_date_year', 'apply_date_month', 'apply_date_day', INT_LEN, 'n', array("CHECK_DATE")); 204 205 } 206 207 /** 208 * 登録処理を実行. 209 * 210 * @param integer $tax_rule_id 211 * @param array $sqlval 212 * @param object $objTaxRule 213 * @return multiple 214 */ 215 function doRegist($tax_rule_id, $sqlval, SC_Helper_TaxRule_Ex $objTaxRule) 216 { 217 $sqlval['tax_rule_id'] = $tax_rule_id; 218 $sqlval['member_id'] = $_SESSION['member_id']; 219 return $objTaxRule->registerTaxRuleData($sqlval); 220 } 221 222 /** 223 * 入力エラーチェック. 224 * 225 * @return array $objErr->arrErr エラー内容 226 */ 227 function lfCheckError(&$objFormParam, SC_Helper_TaxRule_Ex &$objTaxRule) 228 { 229 230 $arrErr = $objFormParam->checkError(); 231 $arrForm = $objFormParam->getHashArray(); 232 233 // tax_rule_id の正当性チェック 234 if (!empty($arrForm['tax_rule_id'])) { 235 if (!SC_Utils_Ex::sfIsInt($arrForm['tax_rule_id']) 236 || SC_Utils_Ex::sfIsZeroFilling($arrForm['tax_rule_id']) 237 || !$objTaxRule->getTaxRuleData($arrForm['tax_rule_id']) 238 ) { 239 // tax_rule_idが指定されていて、且つその値が不正と思われる場合はエラー 240 $arrErr['tax_rule_id'] = '※ 税規約IDが不正です<br />'; 241 } 242 } 243 244 $apply_date = SC_Utils_Ex::sfGetTimestampistime($arrForm['apply_date_year'], sprintf("%02d",$arrForm['apply_date_month']), sprintf("%02d",$arrForm['apply_date_day']),sprintf("%02d",$arrForm['apply_date_hour']), sprintf("%02d",$arrForm['apply_date_minutes'])); 245 var_dump($apply_date); 246 // 税規約情報読み込み 247 $arrTaxRuleByTime = $objTaxRule->getTaxRuleByTime($apply_date); 248 // 編集中のレコード以外に同じ消費税率、課税規則が存在する場合 249 if ( 250 !SC_Utils_Ex::isBlank($arrTaxRuleByTime) 251 && $arrTaxRuleByTime['tax_rule_id'] != $arrForm['tax_rule_id'] 252 && $arrTaxRuleByTime['apply_date'] == $apply_date 253 ) { 254 $arrErr['apply_date'] = '※ 既に同じ適用日時で登録が存在します。<br />'; 255 } 256 257 return $arrErr; 258 } 107 259 }
Note: See TracChangeset
for help on using the changeset viewer.