Ignore:
Timestamp:
2014/05/29 22:48:10 (10 years ago)
Author:
shutta
Message:

#2562 課税規則による端数処理ルーチンの共通関数化
課税規則に応じた端数処理ルーチンを共通関数にまとめた。

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

Legend:

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

    r23415 r23463  
    105105        $real_tax = $tax / 100; 
    106106        $ret = $price * $real_tax; 
    107         switch ($calc_rule) { 
    108             // 四捨五入 
    109             case 1: 
    110                 $ret = round($ret); 
    111                 break; 
    112             // 切り捨て 
    113             case 2: 
    114                 $ret = floor($ret); 
    115                 break; 
    116             // 切り上げ 
    117             case 3: 
    118                 $ret = ceil($ret); 
    119                 break; 
    120             // デフォルト:切り上げ 
    121             default: 
    122                 $ret = ceil($ret); 
    123                 break; 
    124         } 
     107        $ret = SC_Helper_TaxRule_Ex::roundByCalcRule($ret, $calc_rule); 
    125108 
    126109        return $ret + $tax_adjust; 
     
    388371        $objQuery->update('dtb_tax_rule', $sqlval, $where, array($tax_rule_id)); 
    389372    } 
     373 
     374    /** 
     375     * 課税規則に応じて端数処理を行う 
     376     * 
     377     * @param float|integer $value 端数処理を行う数値 
     378     * @param integer $calc_rule 課税規則 
     379     * @return integer 端数処理後の数値 
     380     */ 
     381    public static function roundByCalcRule($value, $calc_rule) 
     382    { 
     383        switch ($calc_rule) { 
     384            // 四捨五入 
     385            case 1: 
     386                $ret = round($value); 
     387                break; 
     388            // 切り捨て 
     389            case 2: 
     390                $ret = floor($value); 
     391                break; 
     392            // 切り上げ 
     393            case 3: 
     394                $ret = ceil($value); 
     395                break; 
     396            // デフォルト:切り上げ 
     397            default: 
     398                $ret = ceil($value); 
     399                break; 
     400        } 
     401 
     402        return $ret; 
     403    } 
    390404} 
  • branches/version-2_13-dev/data/class/util/SC_Utils.php

    r23461 r23463  
    697697        $real_tax = $tax / 100; 
    698698        $ret = $price * $real_tax; 
    699         switch ($tax_rule) { 
    700             // 四捨五入 
    701             case 1: 
    702                 $ret = round($ret); 
    703                 break; 
    704             // 切り捨て 
    705             case 2: 
    706                 $ret = floor($ret); 
    707                 break; 
    708             // 切り上げ 
    709             case 3: 
    710                 $ret = ceil($ret); 
    711                 break; 
    712             // デフォルト:切り上げ 
    713             default: 
    714                 $ret = ceil($ret); 
    715                 break; 
    716         } 
     699        $ret = SC_Helper_TaxRule_Ex::roundByCalcRule($ret, $tax_rule); 
    717700 
    718701        return $ret; 
     
    762745        $real_point = $point_rate / 100; 
    763746        $ret = $price * $real_point; 
    764         switch ($rule) { 
    765             // 四捨五入 
    766             case 1: 
    767                 $ret = round($ret); 
    768                 break; 
    769             // 切り捨て 
    770             case 2: 
    771                 $ret = floor($ret); 
    772                 break; 
    773             // 切り上げ 
    774             case 3: 
    775                 $ret = ceil($ret); 
    776                 break; 
    777             // デフォルト:切り上げ 
    778             default: 
    779                 $ret = ceil($ret); 
    780                 break; 
    781         } 
     747        $ret = SC_Helper_TaxRule_Ex::roundByCalcRule($ret, $rule); 
    782748 
    783749        return $ret; 
Note: See TracChangeset for help on using the changeset viewer.