Ignore:
Timestamp:
2012/04/04 04:43:31 (12 years ago)
Author:
Seasoft
Message:

#852 (税計算の改善)
#1731 (商品RSS 税金の二重加算)
#1613 (typo修正・ソース整形・ソースコメントの改善)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/SC_Product.php

    r21684 r21708  
    3535    /** 規格分類名一覧 */ 
    3636    var $arrClassCatName; 
     37    /** このプロパティが保持する price01 及び price02 は、税金付与した金額である。 */ 
    3738    var $classCategories = array(); 
    3839    var $stock_find; 
     
    197198        } 
    198199 
     200        // 税込金額を設定する 
     201        SC_Product_Ex::setIncTaxToProducts($arrProducts); 
     202 
    199203        return $arrProducts; 
    200204    } 
     
    208212    function getDetail($productId) { 
    209213        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    210         $result = $objQuery->getRow('*', $this->alldtlSQL('product_id = ?'), 
     214        $arrProduct = $objQuery->getRow('*', $this->alldtlSQL('product_id = ?'), 
    211215                                    'product_id = ?', 
    212216                                    array($productId, $productId)); 
    213         return (array)$result; 
     217        $arrProduct = (array)$arrProduct; 
     218 
     219        // 税込金額を設定する 
     220        SC_Product_Ex::setIncTaxToProduct($arrProduct); 
     221 
     222        return $arrProduct; 
    214223    } 
    215224 
     
    539548     */ 
    540549    function setPriceTaxTo($arrProducts) { 
    541         foreach ($arrProducts as $key=>$val) { 
     550        foreach ($arrProducts as $key => $val) { 
    542551            $arrProducts[$key]['price01_min_format'] = number_format($arrProducts[$key]['price01_min']); 
    543552            $arrProducts[$key]['price01_max_format'] = number_format($arrProducts[$key]['price01_max']); 
     
    556565        } 
    557566        return $arrProducts; 
     567    } 
     568 
     569    /** 
     570     * 商品情報の配列に税込金額を設定する 
     571     * 
     572     * @param array $arrProducts 商品情報の配列 
     573     * @return void 
     574     */ 
     575    static function setIncTaxToProducts(&$arrProducts) { 
     576        foreach ($arrProducts as &$arrProduct) { 
     577            SC_Product_Ex::setIncTaxToProduct($arrProduct); 
     578        } 
     579    } 
     580 
     581    /** 
     582     * 商品情報の配列に税込金額を設定する 
     583     * 
     584     * @param array $arrProducts 商品情報の配列 
     585     * @return void 
     586     */ 
     587    static function setIncTaxToProduct(&$arrProduct) { 
     588        $arrProduct['price01_min_inctax'] = isset($arrProduct['price01_min']) ? SC_Helper_DB::sfCalcIncTax($arrProduct['price01_min']) : null; 
     589        $arrProduct['price01_max_inctax'] = isset($arrProduct['price01_max']) ? SC_Helper_DB::sfCalcIncTax($arrProduct['price01_max']) : null; 
     590        $arrProduct['price02_min_inctax'] = isset($arrProduct['price02_min']) ? SC_Helper_DB::sfCalcIncTax($arrProduct['price02_min']) : null; 
     591        $arrProduct['price02_max_inctax'] = isset($arrProduct['price02_max']) ? SC_Helper_DB::sfCalcIncTax($arrProduct['price02_max']) : null; 
    558592    } 
    559593 
Note: See TracChangeset for help on using the changeset viewer.