Changeset 22976


Ignore:
Timestamp:
2013/07/20 16:19:43 (7 years ago)
Author:
AMUAMU
Message:

#1730 (税率変更に対応できない)
#2191 (税率対応に向けて、税率管理画面を作成する)
#2235 (越境ECを想定した機能の追加)
関係の修正一部

Location:
branches/version-2_13-dev/data/class/helper
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/class/helper/SC_Helper_Customer.php

    r22883 r22976  
    9797 
    9898        //デフォルト国IDを追加 
    99         $arrData['country_id'] = DEFAULT_COUNTRY_ID; 
     99        if (FORM_COUNTRY_ENABLE == false) { 
     100            $arrData['country_id'] = DEFAULT_COUNTRY_ID; 
     101        } 
    100102 
    101103        //-- 編集登録実行 
     
    375377 
    376378    /** 
    377      * 会員共通 
    378      * 
    379      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     379     * 会員/顧客共通 
     380     * 
     381     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     382     * @param string $prefix キー名にprefixを付ける場合に指定 
    380383     * @access public 
    381384     * @return void 
    382385     */ 
    383     function sfCustomerCommonParam(&$objFormParam) 
    384     { 
    385         $objFormParam->addParam('お名前(姓)', 'name01', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' ,'MAX_LENGTH_CHECK')); 
    386         $objFormParam->addParam('お名前(名)', 'name02', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' , 'MAX_LENGTH_CHECK')); 
    387         $objFormParam->addParam('お名前(フリガナ・姓)', 'kana01', STEXT_LEN, 'CKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' ,'MAX_LENGTH_CHECK', 'KANA_CHECK')); 
    388         $objFormParam->addParam('お名前(フリガナ・名)', 'kana02', STEXT_LEN, 'CKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' ,'MAX_LENGTH_CHECK', 'KANA_CHECK')); 
    389         $objFormParam->addParam('郵便番号1', 'zip01', ZIP01_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK' ,'NUM_CHECK', 'NUM_COUNT_CHECK')); 
    390         $objFormParam->addParam('郵便番号2', 'zip02', ZIP02_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK' ,'NUM_CHECK', 'NUM_COUNT_CHECK')); 
    391         $objFormParam->addParam('都道府県', 'pref', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK')); 
    392         $objFormParam->addParam('住所1', 'addr01', MTEXT_LEN, 'aKV', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    393         $objFormParam->addParam('住所2', 'addr02', MTEXT_LEN, 'aKV', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    394         $objFormParam->addParam('お電話番号1', 'tel01', TEL_ITEM_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    395         $objFormParam->addParam('お電話番号2', 'tel02', TEL_ITEM_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    396         $objFormParam->addParam('お電話番号3', 'tel03', TEL_ITEM_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    397         $objFormParam->addParam('FAX番号1', 'fax01', TEL_ITEM_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    398         $objFormParam->addParam('FAX番号2', 'fax02', TEL_ITEM_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    399         $objFormParam->addParam('FAX番号3', 'fax03', TEL_ITEM_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     386    function sfCustomerCommonParam(&$objFormParam, $prefix = '') 
     387    { 
     388        $objFormParam->addParam('お名前(姓)', $prefix . 'name01', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     389        $objFormParam->addParam('お名前(名)', $prefix . 'name02', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     390        if (FORM_COUNTRY_ENABLE === false) { 
     391            $objFormParam->addParam('お名前(フリガナ・姓)', $prefix . 'kana01', STEXT_LEN, 'CKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' ,'MAX_LENGTH_CHECK', 'KANA_CHECK')); 
     392            $objFormParam->addParam('お名前(フリガナ・名)', $prefix . 'kana02', STEXT_LEN, 'CKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' ,'MAX_LENGTH_CHECK', 'KANA_CHECK')); 
     393            $objFormParam->addParam('郵便番号1', $prefix . 'zip01', ZIP01_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK' ,'NUM_CHECK', 'NUM_COUNT_CHECK')); 
     394            $objFormParam->addParam('郵便番号2', $prefix . 'zip02', ZIP02_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK' ,'NUM_CHECK', 'NUM_COUNT_CHECK')); 
     395            $objFormParam->addParam('国', $prefix . 'country_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK')); 
     396            $objFormParam->addParam('都道府県', $prefix . 'pref', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK')); 
     397        } else { 
     398            $objFormParam->addParam('お名前(フリガナ・姓)', $prefix . 'kana01', STEXT_LEN, 'CKV', array('NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'KANA_CHECK')); 
     399            $objFormParam->addParam('お名前(フリガナ・名)', $prefix . 'kana02', STEXT_LEN, 'CKV', array('NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'KANA_CHECK')); 
     400            $objFormParam->addParam('郵便番号1', $prefix . 'zip01', ZIP01_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); 
     401            $objFormParam->addParam('郵便番号2', $prefix . 'zip02', ZIP02_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); 
     402            $objFormParam->addParam('国', $prefix . 'country_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK')); 
     403            $objFormParam->addParam('Zipcode', $prefix . 'zipcode', STEXT_LEN, 'n', array('NO_SPTAB', 'SPTAB_CHECK', 'GRAPH_CHECK', 'MAX_LENGTH_CHECK')); 
     404            $objFormParam->addParam('都道府県', $prefix . 'pref', INT_LEN, 'n', array('NUM_CHECK')); 
     405        } 
     406        $objFormParam->addParam('住所1', $prefix . 'addr01', MTEXT_LEN, 'aKV', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     407        $objFormParam->addParam('住所2', $prefix . 'addr02', MTEXT_LEN, 'aKV', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     408        $objFormParam->addParam('お電話番号1', $prefix . 'tel01', TEL_ITEM_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     409        $objFormParam->addParam('お電話番号2', $prefix . 'tel02', TEL_ITEM_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     410        $objFormParam->addParam('お電話番号3', $prefix . 'tel03', TEL_ITEM_LEN, 'n', array('EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     411        $objFormParam->addParam('FAX番号1', $prefix . 'fax01', TEL_ITEM_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     412        $objFormParam->addParam('FAX番号2', $prefix . 'fax02', TEL_ITEM_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     413        $objFormParam->addParam('FAX番号3', $prefix . 'fax03', TEL_ITEM_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    400414    } 
    401415 
     
    406420     * @param boolean $isAdmin true:管理者画面 false:会員向け 
    407421     * @param boolean $is_mypage マイページの場合 true 
     422     * @param string $prefix キー名にprefixを付ける場合に指定 
    408423     * @return void 
    409424     */ 
    410     function sfCustomerRegisterParam(&$objFormParam, $isAdmin = false, $is_mypage = false) 
    411     { 
    412         $objFormParam->addParam('パスワード', 'password', PASSWORD_MAX_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK', 'GRAPH_CHECK')); 
    413         $objFormParam->addParam('パスワード確認用の質問の答え', 'reminder_answer', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    414         $objFormParam->addParam('パスワード確認用の質問', 'reminder', STEXT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    415         $objFormParam->addParam('性別', 'sex', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    416         $objFormParam->addParam('職業', 'job', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     425    function sfCustomerRegisterParam(&$objFormParam, $isAdmin = false, $is_mypage = false, $prefix = '') 
     426    { 
     427        $objFormParam->addParam('パスワード', $prefix . 'password', PASSWORD_MAX_LEN, '', array('EXIST_CHECK', 'SPTAB_CHECK', 'ALNUM_CHECK')); 
     428        $objFormParam->addParam('パスワード確認用の質問の答え', $prefix . 'reminder_answer', STEXT_LEN, '', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     429        $objFormParam->addParam('パスワード確認用の質問', $prefix . 'reminder', STEXT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     430        $objFormParam->addParam('性別', $prefix . 'sex', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     431        $objFormParam->addParam('職業', $prefix . 'job', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     432        // XXX: year,month,dayはprefix付けないのが今のところ共通 
    417433        $objFormParam->addParam('年', 'year', 4, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); 
    418434        $objFormParam->addParam('月', 'month', 2, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); 
    419435        $objFormParam->addParam('日', 'day', 2, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); 
    420         $objFormParam->addParam('メールマガジン', 'mailmaga_flg', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     436 
     437        $objFormParam->addParam('メールマガジン', $prefix . 'mailmaga_flg', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    421438 
    422439        if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE) { 
    423             $objFormParam->addParam('メールアドレス', 'email', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK', 'SPTAB_CHECK' ,'EMAIL_CHAR_CHECK')); 
    424             $objFormParam->addParam('パスワード(確認)', 'password02', PASSWORD_MAX_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK' ,'GRAPH_CHECK'), '', false); 
     440            $objFormParam->addParam('メールアドレス', $prefix . 'email', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK', 'SPTAB_CHECK' ,'EMAIL_CHAR_CHECK')); 
     441            $objFormParam->addParam('パスワード(確認)', $prefix . 'password02', PASSWORD_MAX_LEN, '', array('EXIST_CHECK', 'SPTAB_CHECK' ,'ALNUM_CHECK'), '', false); 
    425442            if (!$isAdmin) { 
    426                 $objFormParam->addParam('メールアドレス(確認)', 'email02', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK','SPTAB_CHECK' , 'EMAIL_CHAR_CHECK'), '', false); 
     443                $objFormParam->addParam('メールアドレス(確認)', $prefix . 'email02', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK','SPTAB_CHECK' , 'EMAIL_CHAR_CHECK'), '', false); 
    427444            } 
    428445        } else { 
    429446            if (!$is_mypage) { 
    430                 $objFormParam->addParam('メールアドレス', 'email', null, 'a', array('EXIST_CHECK', 'EMAIL_CHECK', 'NO_SPTAB' ,'EMAIL_CHAR_CHECK', 'MOBILE_EMAIL_CHECK')); 
     447                $objFormParam->addParam('メールアドレス', $prefix . 'email', null, 'a', array('EXIST_CHECK', 'EMAIL_CHECK', 'NO_SPTAB' ,'EMAIL_CHAR_CHECK', 'MOBILE_EMAIL_CHECK')); 
    431448            } 
    432449        } 
     
    494511     * 
    495512     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    496      * @access private 
     513     * @param string $prefix キー名にprefixを付ける場合に指定 
     514     * @access public 
    497515     * @return array エラー情報の配列 
    498516     */ 
    499     function sfCustomerCommonErrorCheck(&$objFormParam) 
     517    function sfCustomerCommonErrorCheck(&$objFormParam, $prefix = '') 
    500518    { 
    501519        $objFormParam->convParam(); 
    502         $objFormParam->toLower('email'); 
    503         $objFormParam->toLower('email02'); 
     520        $objFormParam->toLower($prefix . 'email'); 
     521        $objFormParam->toLower($prefix . 'email02'); 
    504522        $arrParams = $objFormParam->getHashArray(); 
    505523 
     
    508526        $objErr->arrErr = $objFormParam->checkError(); 
    509527 
    510         $objErr->doFunc(array('お電話番号', 'tel01', 'tel02', 'tel03'),array('TEL_CHECK')); 
    511         $objErr->doFunc(array('FAX番号', 'fax01', 'fax02', 'fax03') ,array('TEL_CHECK')); 
    512         $objErr->doFunc(array('郵便番号', 'zip01', 'zip02'), array('ALL_EXIST_CHECK')); 
     528        $objErr->doFunc(array('電話番号', $prefix . 'tel01', $prefix . 'tel02', $prefix . 'tel03'),array('TEL_CHECK')); 
     529        $objErr->doFunc(array('FAX番号', $prefix . 'fax01', $prefix . 'fax02', $prefix . 'fax03') ,array('TEL_CHECK')); 
     530        $objErr->doFunc(array('郵便番号', $prefix . 'zip01', $prefix . 'zip02'), array('ALL_EXIST_CHECK')); 
    513531 
    514532        return $objErr; 
  • branches/version-2_13-dev/data/class/helper/SC_Helper_Purchase.php

    r22857 r22976  
    3434class SC_Helper_Purchase 
    3535{ 
     36 
    3637    var $arrShippingKey = array( 
    3738        'name01', 'name02', 'kana01', 'kana02', 
    38         'sex', 'zip01', 'zip02', 'country_id','pref', 'addr01', 'addr02', 
     39        'sex', 'zip01', 'zip02', 'country_id', 'zipcode', 'pref', 'addr01', 'addr02', 
    3940        'tel01', 'tel02', 'tel03', 'fax01', 'fax02', 'fax03', 
    4041    ); 
     
    771772 
    772773        // 詳細情報を取得 
    773         $cartItems = $objCartSession->getCartList($cartKey); 
     774        $cartItems = $objCartSession->getCartList($cartKey, $orderParams['order_pref'], $orderParams['order_country_id']); 
    774775 
    775776        // 詳細情報を生成 
     
    789790            $arrDetail[$i]['price'] = $item['price']; 
    790791            $arrDetail[$i]['quantity'] = $item['quantity']; 
    791             $arrDetail[$i]['tax_rate'] = $orderParams['order_tax_rate']; 
    792             $arrDetail[$i]['tax_rule'] = $orderParams['order_tax_rule']; 
     792            $arrDetail[$i]['tax_rate'] = $item['tax_rate']; 
     793            $arrDetail[$i]['tax_rule'] = $item['tax_rule']; 
     794            $arrDetail[$i]['tax_adjuts'] = $item['tax_adjust']; 
    793795 
    794796            // 在庫の減少処理 
  • branches/version-2_13-dev/data/class/helper/SC_Helper_TaxRule.php

    r22927 r22976  
    129129        $pref_id = $pref_id > 0 ? $pref_id : 0; 
    130130        $country_id = $country_id > 0 ? $country_id : 0; 
    131  
    132         $objCustomer = new SC_Customer_Ex(); 
    133         if ($objCustomer->isLoginSuccess(true)) { 
    134             if ($country_id == 0) { 
    135                 $objCustomer->getValue('country_id'); 
     131        // ログイン済み会員で国と地域指定が無い場合は、会員情報をデフォルトで利用。管理画面では利用しない 
     132        if (!(defined('ADMIN_FUNCTION') && ADMIN_FUNCTION == true)) { 
     133            $objCustomer = new SC_Customer_Ex(); 
     134            if ($objCustomer->isLoginSuccess(true)) { 
     135                if ($country_id == 0) { 
     136                    $country_id = $objCustomer->getValue('country_id'); 
     137                } 
     138                if ($pref_id == 0) { 
     139                    $pref_id = $objCustomer->getValue('pref'); 
     140                } 
    136141            } 
    137             if ($pref_id == 0) { 
    138                 $objCustomer->getValue('pref'); 
    139             } 
    140         } 
    141  
    142         // リクエストの配列化 
    143         $arrRequest = array('product_id' => $product_id, 
    144                         'product_class_id' => $product_class_id, 
    145                         'pref_id' => $pref_id, 
    146                         'country_id' => $country_id); 
    147  
    148         // 地域設定を優先するが、システムパラメーターなどに設定を持っていくか 
    149         // 後に書いてあるほど優先される、詳細後述MEMO参照 
    150         $arrPriorityKeys = array('product_id', 'product_class_id', 'pref_id', 'country_id');    // TODO: パラメーター設定に持っていく 
    151         $cache_key = "$product_id,$product_class_id,$pref_id,$country_id"; 
     142        } 
     143 
     144        // 一覧画面の速度向上のため商品単位税率設定がOFFの時はキャッシュキーを丸めてしまう 
     145        if (OPTION_PRODUCT_TAX_RULE == 1) { 
     146            $cache_key = "$product_id,$product_class_id,$pref_id,$country_id"; 
     147        } else { 
     148            $cache_key = "$pref_id,$country_id"; 
     149        } 
    152150 
    153151        // 複数回呼出があるのでキャッシュ化 
     
    156154        if (empty($data_c[$cache_key])) { 
    157155            $arrRet = array(); 
     156            // リクエストの配列化 
     157            $arrRequest = array('product_id' => $product_id, 
     158                            'product_class_id' => $product_class_id, 
     159                            'pref_id' => $pref_id, 
     160                            'country_id' => $country_id); 
     161 
     162            // 地域設定を優先するが、システムパラメーターなどに設定を持っていくか 
     163            // 後に書いてあるほど優先される、詳細後述MEMO参照 
     164            $arrPriorityKeys = explode(',', TAX_RULE_PRIORITY); 
    158165 
    159166            // 条件に基づいて税の設定情報を取得 
    160167            $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    161168            $table = 'dtb_tax_rule'; 
    162             $cols = '*, CASE WHEN apply_date IS NULL THEN 1 ELSE 0 END as nullorder'; 
     169            $cols = '*'; 
    163170            $where = '((product_id = 0 OR product_id = ?)' 
    164171                        . ' OR (product_class_id = 0 OR product_class_id = ?))' 
    165172                        . ' AND (pref_id = 0 OR pref_id = ?)' 
    166173                        . ' AND (country_id = 0 OR country_id = ?)' 
    167                         . ' AND (apply_date < CURRENT_TIMESTAMP OR apply_date IS NULL)' 
     174                        . ' AND apply_date < CURRENT_TIMESTAMP' 
    168175                        . ' AND del_flg = 0'; 
    169176 
    170177            $arrVal = array($product_id, $product_class_id, $pref_id, $country_id); 
    171             $order = 'nullorder ASC, apply_date DESC'; 
     178            $order = 'apply_date DESC'; 
    172179            $objQuery->setOrder($order); 
    173180            $arrData = $objQuery->select($cols, $table, $where, $arrVal); 
     
    176183            //       キーの優先度により、利用する税設定を判断する 
    177184            //       優先度が同等の場合、適用日付で判断する 
    178  
    179             // XXXX: ビット演算で優先順位を判断という雑な事してます。すいません 
    180185            foreach ($arrData as $data_key => $data) { 
    181186                $res = 0; 
     
    197202                } 
    198203            } 
     204            // XXXX: 互換性のためtax_ruleにもcalc_ruleを設定 
     205            $arrRet['tax_rule'] = $arrRet['calc_rule']; 
    199206            $data_c[$cache_key] = $arrRet; 
    200207        } 
    201208 
     209        GC_Utils_Ex::gfDebugLog('tax_key=' . $cache_key . ' result_tax=' . print_r($data_c[$cache_key],true)); 
    202210        return $data_c[$cache_key]; 
    203211    } 
     
    217225    { 
    218226        // 基本設定を取得 
    219         $arrRet = SC_Helper_taxRule_Ex::getTaxRule(); 
     227        $arrRet = SC_Helper_TaxRule_Ex::getTaxRule($product_id, $product_class_id); 
     228 
    220229        // 基本設定の消費税率と一緒であれば設定しない 
    221230        if( $arrRet['tax_rate'] != $tax_rate ) { 
    222231            // 課税規則は基本設定のものを使用 
    223232            $calc_rule = $arrRet['calc_rule']; 
     233            // 日付は登録時点を設定 
     234            $apply_date = date('Y/m/d H:i:s'); 
    224235            // 税情報を設定 
    225236            SC_Helper_TaxRule_Ex::setTaxRule($calc_rule, $tax_rate, $apply_date, $tax_rule_id=NULL, $tax_adjust=0, $product_id, $product_class_id, $pref_id, $country_id); 
     
    280291        } 
    281292        $table = 'dtb_tax_rule'; 
    282         // 適用日時順に更新 
     293        // 適用日時順に更新 
    283294        $objQuery->setOrder('apply_date DESC'); 
    284295        $arrRet = $objQuery->select($col, $table, $where); 
Note: See TracChangeset for help on using the changeset viewer.