Changeset 22642


Ignore:
Timestamp:
2013/03/09 19:20:19 (7 years ago)
Author:
yomoro
Message:

税率管理ページの作成途中

Location:
branches/camp/camp-2_13-tax/data
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/camp/camp-2_13-tax/data/Smarty/templates/admin/basis/tax.tpl

    r22624 r22642  
    55<form name="form1" id="form1" method="post" action="?"> 
    66<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 
    7 <input type="hidden" name="mode" value="confirm" /> 
     7<input type="hidden" name="mode" value="edit" /> 
     8<input type="hidden" name="tax_rule_id" value="<!--{$tpl_tax_rule_id}-->" /> 
    89<!--{* ▼登録テーブルここから *}--> 
    910<div id="basis" class="contents-main"> 
     
    1112<h2>税金管理</h2> 
    1213 
     14    <table id="basis-tax-func"> 
     15        <tr> 
     16            <th>消費税率<span class="attention"> *</span></th> 
     17            <td> 
     18                <span class="attention"><!--{$arrErr.tax_rate}--></span> 
     19                <input type="text" name="tax_rate" value="<!--{$arrForm.tax_rate.value|h}-->" maxlength="<!--{$smarty.const.PERCENTAGE_LEN}-->" size="6" class="box6" style="<!--{if $arrErr.tax_rate != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" /> % 
     20            </td> 
     21        </tr> 
     22        <tr> 
     23            <th>課税規則<span class="attention"> *</span></th> 
     24            <td> 
     25                <span class="attention"><!--{$arrErr.calc_rule}--></span> 
     26                <!--{html_radios name="calc_rule" options=$arrTAXCALCRULE selected=$arrForm.calc_rule.value}--> 
     27            </td> 
     28        </tr> 
     29        <tr> 
     30            <th>適用日時<span class="attention"> *</span></th> 
     31            <td><span class="attention"><!--{$arrErr.apply_date}--></span> 
     32                <!--{assign var=key value="apply_date_year"}--> 
     33                <span class="attention"><!--{$arrErr[$key]}--></span> 
     34                <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
     35                <option value="" selected="selected">------</option> 
     36                <!--{html_options options=$arrYear selected=$arrForm[$key].value|h}--> 
     37                </select>年 
     38                <!--{assign var=key value="apply_date_month"}--> 
     39                <span class="attention"><!--{$arrErr[$key]}--></span> 
     40                <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
     41                <option value="" selected="selected">----</option> 
     42                <!--{html_options options=$objDate->getMonth() selected=$arrForm[$key].value|h}--> 
     43                </select>月 
     44                <!--{assign var=key value="apply_date_day"}--> 
     45                <span class="attention"><!--{$arrErr[$key]}--></span> 
     46                <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
     47                <option value="" selected="selected">----</option> 
     48                <!--{html_options options=$objDate->getDay() selected=$arrForm[$key].value|h}--> 
     49                </select>日 
     50                <!--{assign var=key value="apply_date_hour"}--> 
     51                <span class="attention"><!--{$arrErr[$key]}--></span> 
     52                <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
     53                <option value="" selected="selected">----</option> 
     54                <!--{html_options options=$objDate->getHour() selected=$arrForm[$key].value|h}--> 
     55                </select>時 
     56                <!--{assign var=key value="apply_date_minutes"}--> 
     57                <span class="attention"><!--{$arrErr[$key]}--></span> 
     58                <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
     59                <option value="" selected="selected">----</option> 
     60                <!--{html_options options=$arrMinutes selected=$arrForm[$key].value|h}--> 
     61                </select>分 
     62            </td> 
     63        </tr> 
     64    </table> 
     65 
     66    <div class="btn-area"> 
     67        <ul> 
     68            <li><a class="btn-action" href="javascript:;" onclick="fnFormModeSubmit('form1', 'edit', '', ''); return false;"><span class="btn-next">この内容で登録する</span></a></li> 
     69        </ul> 
     70    </div> 
    1371    <!--{if count($arrTaxrule) > 0}--> 
    1472    <table class="list"> 
     
    2785            <th class="delete">削除</th> 
    2886        </tr> 
    29         <!--{section name=cnt loop=$arrTaxrule}--> 
     87            <!--{section name=cnt loop=$arrTaxrule}--> 
    3088        <tr style="background:<!--{if $tpl_tax_rule_id != $arrTaxrule[cnt].tax_rule_id}-->#ffffff<!--{else}--><!--{$smarty.const.SELECT_RGB}--><!--{/if}-->;"> 
    3189            <!--{assign var=tax_rule_id value=$arrTaxrule[cnt].tax_rule_id}--> 
    3290            <td><!--{$tax_rule_id|h}--></td> 
    33             <td><!--{$arrTaxrule[cnt].name|h}--></td> 
     91            <td><!--{$arrTaxrule[cnt].tax_rate|h}--></td> 
     92            <td><!--{assign var=calc_rule value=$arrTaxrule[cnt].calc_rule}--> 
     93                <!--{$arrTAXCALCRULE[$calc_rule]}--></td> 
     94            <td><!--{$arrTaxrule[cnt].apply_date|h}--></td> 
    3495            <td class="center"> 
    3596            <!--{if $tpl_tax_rule_id != $arrTaxrule[cnt].tax_rule_id}--> 
    3697                <a href="?" onclick="fnModeSubmit('pre_edit', 'tax_rule_id', <!--{$arrTaxrule[cnt].tax_rule_id}-->); return false;">編集</a> 
    37             <!--{else}--> 
    38             編集中 
    39             <!--{/if}--> 
     98                <!--{else}--> 
     99                編集中 
     100                    <!--{/if}--> 
    40101            </td> 
    41102            <td class="center"> 
    42103            <!--{if $arrTaxrule[cnt].tax_rule_id == 0}--> 
    43104                - 
    44             <!--{else}--> 
     105                <!--{else}--> 
    45106                <a href="?" onclick="fnModeSubmit('delete', 'tax_rule_id', <!--{$arrTaxrule[cnt].tax_rule_id}-->); return false;">削除</a> 
    46             <!--{/if}--> 
     107                    <!--{/if}--> 
    47108            </td> 
    48109        </tr> 
    49         <!--{/section}--> 
     110            <!--{/section}--> 
    50111    </table> 
    51112    <!--{/if}--> 
    52     <table id="basis-tax-func"> 
    53         <tr> 
    54             <th>消費税率<span class="attention"> *</span></th> 
    55             <td> 
    56                 <span class="attention"><!--{$arrErr.tax_rate}--></span> 
    57                 <input type="text" name="tax_rate" value="<!--{$arrForm.tax_rate|h}-->" maxlength="<!--{$smarty.const.PERCENTAGE_LEN}-->" size="6" class="box6" style="<!--{if $arrErr.tax_rate != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" /> % 
    58             </td> 
    59         </tr> 
    60         <tr> 
    61             <th>課税規則<span class="attention"> *</span></th> 
    62             <td> 
    63                 <span class="attention"><!--{$arrErr.tax_rule}--></span> 
    64                 <!--{html_radios name="calc_rule" options=$arrTAXCALCRULE selected=$arrForm.calc_rule}--> 
    65             </td> 
    66         </tr> 
    67         <tr> 
    68             <th>適用日時<span class="attention"> *</span></th> 
    69             <td><!--{assign var=key value="apply_date_year"}--> 
    70                 <span class="attention"><!--{$arrErr[$key]}--></span> 
    71                 <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
    72                 <option value="" selected="selected">------</option> 
    73                 <!--{html_options options=$arrYear selected=$arrForm[$key]|h}--> 
    74                 </select>年 
    75                 <!--{assign var=key value="apply_date_month"}--> 
    76                 <span class="attention"><!--{$arrErr[$key]}--></span> 
    77                 <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
    78                 <option value="" selected="selected">----</option> 
    79                 <!--{html_options options=$objDate->getMonth() selected=$arrForm[$key]|h}--> 
    80                 </select>月 
    81                 <!--{assign var=key value="apply_date_day"}--> 
    82                 <span class="attention"><!--{$arrErr[$key]}--></span> 
    83                 <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
    84                 <option value="" selected="selected">----</option> 
    85                 <!--{html_options options=$objDate->getDay() selected=$arrForm[$key]|h}--> 
    86                 </select>日 
    87                 <!--{assign var=key value="apply_date_hour"}--> 
    88                 <span class="attention"><!--{$arrErr[$key]}--></span> 
    89                 <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
    90                 <option value="" selected="selected">----</option> 
    91                 <!--{html_options options=$objDate->getHour() selected=$arrForm[$key]|h}--> 
    92                 </select>時 
    93                 <!--{assign var=key value="apply_date_minutes"}--> 
    94                 <span class="attention"><!--{$arrErr[$key]}--></span> 
    95                 <select name="<!--{$key}-->" <!--{if $arrErr[$key] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> > 
    96                 <option value="" selected="selected">----</option> 
    97                 <!--{html_options options=$arrMinutes selected=$arrForm[$key]|h}--> 
    98                 </select>分 
    99             </td> 
    100         </tr> 
    101     </table> 
    102  
    103     <div class="btn-area"> 
    104         <ul> 
    105             <li><a class="btn-action" href="javascript:;" onclick="fnFormModeSubmit('form1', 'confirm', '', ''); return false;"><span class="btn-next">この内容で登録する</span></a></li> 
    106         </ul> 
    107     </div> 
    108113</div> 
    109114 
  • branches/camp/camp-2_13-tax/data/class/pages/admin/basis/LC_Page_Admin_Basis_Tax.php

    r22624 r22642  
    6060        $this->arrTAXCALCRULE = $masterData->getMasterData('mtb_taxrule'); 
    6161 
    62         //配信時刻の項目値設定 
     62        //適用時刻の項目値設定 
    6363        $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++){ 
    6666            $arrYear[$year] = $year; 
    6767        } 
     
    9494    { 
    9595 
     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 
    96174    } 
    97175 
     
    105183        parent::destroy(); 
    106184    } 
     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'])); 
     245var_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    } 
    107259} 
Note: See TracChangeset for help on using the changeset viewer.