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

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

Location:
branches/version-2_12-dev/data/class
Files:
3 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 
  • branches/version-2_12-dev/data/class/pages/mypage/LC_Page_Mypage_Favorite.php

    r21693 r21708  
    160160        $arrProducts2 = array(); 
    161161        foreach ($arrProducts as $item) { 
    162             $arrProducts2[ $item['product_id'] ] = $item; 
     162            $arrProducts2[$item['product_id']] = $item; 
    163163        } 
    164164        $arrProductsList = array(); 
     
    166166            $arrProductsList[] = $arrProducts2[$product_id]; 
    167167        } 
     168 
     169        // 税込金額を設定する 
     170        SC_Product_Ex::setIncTaxToProducts($arrProductsList); 
    168171 
    169172        return $arrProductsList; 
  • branches/version-2_12-dev/data/class/pages/rss/LC_Page_Rss_Products.php

    r21693 r21708  
    210210        // 値の整形 
    211211        foreach ($arrProduct as $key => $val) { 
    212             //販売価格を税込みに編集 
    213             $arrProduct[$key]['price02_max'] = SC_Helper_DB_Ex::sfCalcIncTax($arrProduct[$key]['price02_max']); 
    214             $arrProduct[$key]['price02_min'] = SC_Helper_DB_Ex::sfCalcIncTax($arrProduct[$key]['price02_min']); 
    215212            // 画像ファイルのURLセット 
    216213            if (file_exists(IMAGE_SAVE_REALDIR . $arrProduct[$key]['main_list_image'])) { 
     
    300297        $arrProductLsit = $objProduct->lists($objQuery); 
    301298        // 各商品のカテゴリIDとランクの取得 
    302         $arrProduct = array(); 
     299        $arrProducts = array(); 
    303300        foreach ($arrProductLsit as $key => $val) { 
    304301            $sql = ''; 
     
    317314            $arrCategory = $objQuery->getAll($sql, array($val['product_id'])); 
    318315            if (!empty($arrCategory)) { 
    319                 $arrProduct[$key] = array_merge($val, $arrCategory[0]); 
    320             } 
    321         } 
    322         return $arrProduct; 
     316                $arrProducts[$key] = array_merge($val, $arrCategory[0]); 
     317            } 
     318        } 
     319 
     320        // 税込金額を設定する 
     321        SC_Product_Ex::setIncTaxToProducts($arrProducts); 
     322 
     323        return $arrProducts; 
    323324    } 
    324325} 
Note: See TracChangeset for help on using the changeset viewer.