Ignore:
Timestamp:
2013/03/15 19:12:17 (8 years ago)
Author:
h_yoshimoto
Message:

#2193 税率チームのコミットをマージ(from camp/camp-2_13-tax)

Location:
branches/version-2_13-dev
Files:
9 edited
2 copied

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev

  • branches/version-2_13-dev/data/class/SC_CartSession.php

    r22567 r22736  
    2828 * @version $Id$ 
    2929 */ 
    30 class SC_CartSession  
     30class SC_CartSession 
    3131{ 
    3232    /** ユニークIDを指定する. */ 
     
    127127                $price = $this->cartSession[$productTypeId][$i]['price']; 
    128128                $quantity = $this->cartSession[$productTypeId][$i]['quantity']; 
    129                 $incTax = SC_Helper_DB_Ex::sfCalcIncTax($price); 
     129                $incTax = SC_Helper_TaxRule_Ex::sfCalcIncTax($price, 0, $id[0]); 
    130130                $total = $incTax * $quantity; 
    131131                return $total; 
     
    194194            $quantity = $this->cartSession[$productTypeId][$i]['quantity']; 
    195195 
    196             $incTax = SC_Helper_DB_Ex::sfCalcIncTax($price); 
     196            $incTax = SC_Helper_TaxRule_Ex::sfCalcIncTax($price, 
     197                $this->cartSession[$productTypeId][$i]['productsClass']['product_id'], 
     198                $this->cartSession[$productTypeId][$i]['id'][0]); 
    197199            $total+= ($incTax * $quantity); 
    198200        } 
     
    209211            $price = $this->cartSession[$productTypeId][$i]['price']; 
    210212            $quantity = $this->cartSession[$productTypeId][$i]['quantity']; 
    211             $tax = SC_Helper_DB_Ex::sfTax($price); 
     213            $tax = SC_Helper_TaxRule_Ex::sfTax($price, 
     214                $this->cartSession[$productTypeId][$i]['productsClass']['product_id'], 
     215                $this->cartSession[$productTypeId][$i]['id'][0]); 
    212216            $total+= ($tax * $quantity); 
    213217        } 
     
    374378 
    375379                $quantity = $this->cartSession[$productTypeId][$i]['quantity']; 
    376                 $incTax = SC_Helper_DB_Ex::sfCalcIncTax($price); 
     380                $incTax = SC_Helper_TaxRule_Ex::sfCalcIncTax($price, 
     381                    $this->cartSession[$productTypeId][$i]['productsClass']['product_id'], 
     382                    $this->cartSession[$productTypeId][$i]['id'][0]); 
     383 
    377384                $total = $incTax * $quantity; 
    378385 
     386                $this->cartSession[$productTypeId][$i]['price_inctax'] = $incTax; 
    379387                $this->cartSession[$productTypeId][$i]['total_inctax'] = $total; 
    380388 
     
    571579                    if ($limit > 0) { 
    572580                        $this->setProductValue($arrItem['id'], 'quantity', $limit, $productTypeId); 
    573                         $total_inctax = SC_Helper_DB_Ex::sfCalcIncTax($arrItem['price']) * $limit; 
     581                        $total_inctax = $limit * SC_Helper_TaxRule_Ex::sfCalcIncTax($arrItem['price'], 
     582                            $product['product_id'], 
     583                            $arrItem['id'][0]); 
    574584                        $this->setProductValue($arrItem['id'], 'total_inctax', $total_inctax, $productTypeId); 
    575585                        $tpl_message .= '※「' . $product['name'] . '」は販売制限(または在庫が不足)しております。'; 
     
    652662        $results['deliv_fee'] = 0; 
    653663 
    654         $arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); 
    655         $results['order_tax_rate'] = $arrInfo['tax']; 
    656         $results['order_tax_rule'] = $arrInfo['tax_rule']; 
     664        $arrTaxInfo = SC_Helper_TaxRule_Ex::getTaxRule(); 
     665        $results['order_tax_rate'] = $arrTaxInfo['tax_rate']; 
     666        $results['order_tax_rule'] = $arrTaxInfo['calc_rule']; 
    657667 
    658668        // 商品ごとの送料を加算 
  • branches/version-2_13-dev/data/class/SC_Product.php

    r22593 r22736  
    2929 * @version $Id$ 
    3030 */ 
    31 class SC_Product  
     31class SC_Product 
    3232{ 
    3333 
     
    304304                $arrClassCats2['price01'] 
    305305                    = strlen($arrProductsClass['price01']) 
    306                     ? number_format(SC_Helper_DB_Ex::sfCalcIncTax($arrProductsClass['price01'])) 
     306                    ? number_format(SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProductsClass['price01'], $productId, $arrProductsClass['product_class_id'])) 
    307307                    : ''; 
    308308 
    309309                $arrClassCats2['price02'] 
    310310                    = strlen($arrProductsClass['price02']) 
    311                     ? number_format(SC_Helper_DB_Ex::sfCalcIncTax($arrProductsClass['price02'])) 
     311                    ? number_format(SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProductsClass['price02'], $productId, $arrProductsClass['product_class_id'])) 
    312312                    : ''; 
    313313 
     
    611611    static function setIncTaxToProduct(&$arrProduct) 
    612612    { 
    613         $arrProduct['price01_min_inctax'] = isset($arrProduct['price01_min']) ? SC_Helper_DB_Ex::sfCalcIncTax($arrProduct['price01_min']) : null; 
    614         $arrProduct['price01_max_inctax'] = isset($arrProduct['price01_max']) ? SC_Helper_DB_Ex::sfCalcIncTax($arrProduct['price01_max']) : null; 
    615         $arrProduct['price02_min_inctax'] = isset($arrProduct['price02_min']) ? SC_Helper_DB_Ex::sfCalcIncTax($arrProduct['price02_min']) : null; 
    616         $arrProduct['price02_max_inctax'] = isset($arrProduct['price02_max']) ? SC_Helper_DB_Ex::sfCalcIncTax($arrProduct['price02_max']) : null; 
     613        $arrProduct['price01_min_inctax'] = isset($arrProduct['price01_min']) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct['price01_min'], $arrProduct['product_id']) : null; 
     614        $arrProduct['price01_max_inctax'] = isset($arrProduct['price01_max']) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct['price01_max'], $arrProduct['product_id']) : null; 
     615        $arrProduct['price02_min_inctax'] = isset($arrProduct['price02_min']) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct['price02_min'], $arrProduct['product_id']) : null; 
     616        $arrProduct['price02_max_inctax'] = isset($arrProduct['price02_max']) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct['price02_max'], $arrProduct['product_id']) : null; 
    617617    } 
    618618 
  • branches/version-2_13-dev/data/class/helper/SC_Helper_Customer.php

    r22569 r22736  
    9696            } 
    9797        } 
     98         
     99        //デフォルト国IDを追加 
     100        $arrData['country_id'] = DEFAULT_COUNTRY_ID; 
    98101 
    99102        //-- 編集登録実行 
  • branches/version-2_13-dev/data/class/helper/SC_Helper_Purchase.php

    r22568 r22736  
    3737    var $arrShippingKey = array( 
    3838        'name01', 'name02', 'kana01', 'kana02', 
    39         'sex', 'zip01', 'zip02', 'pref', 'addr01', 'addr02', 
     39        'sex', 'zip01', 'zip02', 'country_id','pref', 'addr01', 'addr02', 
    4040        'tel01', 'tel02', 'tel03', 'fax01', 'fax02', 'fax03', 
    4141    ); 
     
    289289        } 
    290290        $exists = $this->getOrderTemp($uniqId); 
     291         
     292        //国ID追加 
     293        $sqlval['order_country_id'] = DEFAULT_COUNTRY_ID; 
     294         
    291295        if (SC_Utils_Ex::isBlank($exists)) { 
    292296            $sqlval['order_temp_id'] = $uniqId; 
     
    466470    function copyFromCustomer(&$dest, &$objCustomer, $prefix = 'order', 
    467471        $keys = array('name01', 'name02', 'kana01', 'kana02', 
    468             'sex', 'zip01', 'zip02', 'pref', 'addr01', 'addr02', 
     472            'sex', 'zip01', 'zip02', 'country_id','pref', 'addr01', 'addr02', 
    469473            'tel01', 'tel02', 'tel03', 'fax01', 'fax02', 'fax03', 
    470474            'job', 'birth', 'email', 
     
    665669            $arrValues['create_date'] = 'CURRENT_TIMESTAMP'; 
    666670            $arrValues['update_date'] = 'CURRENT_TIMESTAMP'; 
     671            //国ID追加 
     672            /*いらないかもしれないんでとりあえずコメントアウト 
     673            $arrValues['shipping_country_id'] = DEFAULT_COUNTRY_ID; 
     674            */ 
     675 
    667676            $objQuery->insert($table, $arrValues); 
    668677        } 
  • branches/version-2_13-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis.php

    r22567 r22736  
    179179 
    180180        // その他 
    181         $objFormParam->addParam('消費税率', 'tax', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    182         $objFormParam->addParam('課税規則 ', 'tax_rule', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    183181        $objFormParam->addParam('送料無料条件', 'free_rule', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    184182        $objFormParam->addParam('店舗営業時間', 'business_hour', STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); 
  • branches/version-2_13-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php

    r22618 r22736  
    343343            $objFormParam->addParam(NORMAL_PRICE_TITLE, 'price01', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    344344            $objFormParam->addParam(SALE_PRICE_TITLE, 'price02', PRICE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     345            $objFormParam->addParam('消費税率', 'tax_rate', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    345346            $objFormParam->addParam('在庫数', 'stock', AMOUNT_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    346347            $objFormParam->addParam('在庫無制限', 'stock_unlimited', INT_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     
    609610            $arrForm['product_type_id'] = DEFAULT_PRODUCT_DOWN; 
    610611        } 
     612        // 編集の場合は設定された税率、新規の場合はデフォルトの税率を取得 
     613        if ($arrForm['product_id'] == '') { 
     614            $arrRet = SC_Helper_TaxRule_Ex::getTaxRule(); 
     615        } else { 
     616            $arrRet = SC_Helper_TaxRule_Ex::getTaxRule($arrForm['product_id'], $arrForm['product_class_id']); 
     617        } 
     618        $arrForm['tax_rate'] = $arrRet['tax_rate']; 
    611619        // アップロードファイル情報取得(Hidden用) 
    612620        $arrHidden = $objUpFile->getHiddenFileList(); 
     
    11331141        $objProduct = new SC_Product_Ex(); 
    11341142        $objProduct->setProductStatus($product_id, $arrList['product_status']); 
     1143         
     1144        // 税情報設定 
     1145        SC_Helper_TaxRule_Ex::setTaxRuleForProduct($arrList['tax_rate'], $arrList['product_id'], $arrList['product_class_id']); 
    11351146 
    11361147        // 関連商品登録 
  • branches/version-2_13-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php

    r22567 r22736  
    217217        $objFormParam->addParam(NORMAL_PRICE_TITLE, 'price01', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    218218        $objFormParam->addParam(SALE_PRICE_TITLE, 'price02', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     219        $objFormParam->addParam('消費税率', 'tax_rate', PERCENTAGE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    219220        $objFormParam->addParam('商品種別', 'product_type_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    220221        $objFormParam->addParam('削除フラグ', 'del_flg', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     
    294295 
    295296            $objQuery->insert('dtb_products_class', $arrPC); 
     297             
     298            // 税情報登録/更新 
     299            SC_Helper_TaxRule_Ex::setTaxRuleForProduct($arrList['tax_rate'][$i], $arrPC['product_id'], $arrPC['product_class_id']); 
    296300        } 
    297301 
     
    361365                ) { 
    362366                    $arrErr['stock'][$i] = '※ 在庫数が入力されていません。<br />'; 
     367                } 
     368                /* 
     369                 * 消費税率の必須チェック 
     370                 */ 
     371                if (SC_Utils_Ex::isBlank($arrValues['tax_rate'][$i])) 
     372                { 
     373                    $arrErr['tax_rate'][$i] = '※ 消費税率が入力されていません。<br />'; 
    363374                } 
    364375                /* 
     
    482493            'classcategory_name1', 'classcategory_name2', 'stock', 
    483494            'stock_unlimited', 'price01', 'price02', 
    484             'product_type_id', 'down_filename', 'down_realfilename', 'upload_index', 
     495            'product_type_id', 'down_filename', 'down_realfilename', 'upload_index', 'tax_rate' 
    485496        ); 
    486497        $arrFormValues = $objFormParam->getSwapArray($arrKeys); 
     
    506517                    $arrValues['del_flg'] = '0'; 
    507518                } 
     519                // 消費税率を設定 
     520                $arrRet = SC_Helper_TaxRule_Ex::getTaxRule($arrValues['product_id'], $arrValues['product_class_id']); 
     521                $arrValues['tax_rate'] = $arrRet['tax_rate']; 
     522                 
    508523                $arrMergeProductsClass[] = $arrValues; 
    509524            } 
  • branches/version-2_13-dev/data/class/util/SC_Utils.php

    r22603 r22736  
    274274    } 
    275275 
     276    /* DB用日付日時文字列取得 */ 
     277    function sfGetTimestampistime($year, $month, $day, $hour, $minutes, $last = false) 
     278    { 
     279        if ($year != '' && $month != '' && $day != '' && $hour != '' && $minutes != '') { 
     280            if ($last) { 
     281                $time = $hour.':'.$minutes.':59'; 
     282            } else { 
     283                $time = $hour.':'.$minutes.':00'; 
     284            } 
     285            $date = $year.'-'.$month.'-'.$day.' '.$time; 
     286        } else { 
     287            $date = ''; 
     288        } 
     289        return $date; 
     290    } 
     291 
    276292    /** 
    277293     *  INT型の数値チェック 
Note: See TracChangeset for help on using the changeset viewer.