svn commit: r1847715 - in /ofbiz/ofbiz-framework/trunk/applications/accounting: config/AccountingUiLabels.xml src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java widget/TaxAuthorityScreens.xml

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1847715 - in /ofbiz/ofbiz-framework/trunk/applications/accounting: config/AccountingUiLabels.xml src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java widget/TaxAuthorityScreens.xml

jleroux@apache.org
Author: jleroux
Date: Thu Nov 29 13:09:53 2018
New Revision: 1847715

URL: http://svn.apache.org/viewvc?rev=1847715&view=rev
Log:
Fixed: Tax not added for order shipping or promotion
(OFBIZ-4160)

Removes AccountingTaxAuthorityCategoryAdvice and usage, now useless

Fixes possible "BigInteger divide by zero" in rateProductTaxCalc

Modified:
    ofbiz/ofbiz-framework/trunk/applications/accounting/config/AccountingUiLabels.xml
    ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java
    ofbiz/ofbiz-framework/trunk/applications/accounting/widget/TaxAuthorityScreens.xml

Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/config/AccountingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=1847715&r1=1847714&r2=1847715&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
+++ ofbiz/ofbiz-framework/trunk/applications/accounting/config/AccountingUiLabels.xml Thu Nov 29 13:09:53 2018
@@ -14811,16 +14811,6 @@
         <value xml:lang="zh">税务机关</value>
         <value xml:lang="zh-TW">稅務機關</value>
     </property>
-    <property key="AccountingTaxAuthorityCategoryAdvice">
-        <value xml:lang="ar">أنتبه: لا تستخدم أكثر من سطر واحد في "شحن الضرائب" و/أو "عروض الضرائب" بالقيمة = "ص"</value>
-        <value xml:lang="de">Achtung: verwenden Sie nicht mehr als eine Zeile mit "Steuer Lieferung" und/oder "Steuer Promotions" Wert = "Y"</value>
-        <value xml:lang="en">Beware: don't use more than one line with "Tax Shipping" and/or "Tax Promotions" value = "Y"</value>
-        <value xml:lang="fr">Attention: n'utilisez pas plus d'une ligne avec "Taxes sur livraison" et/ou "Taxes sur promotions" = "Y"</value>
-        <value xml:lang="ja">注意: "発送税"および/または"プロモーション税"に値="Y"の行を複数使用しないでください</value>
-        <value xml:lang="vi">LÆ°u ý: bạn không sá»­ dụng nhiều hÆ¡n một dòng với "Thuế chuyển hàng" và/hoặc "Thuế khuyến mãi giá trị"= "Y"</value>
-        <value xml:lang="zh">注意:"航运税"不能多于一行,且/或"业务推广税"的值 = "Y"</value>
-        <value xml:lang="zh-TW">注意:"航運稅"不能多於一行,且/或"業務推廣稅"的值 = "Y"</value>
-    </property>
     <property key="AccountingTaxAuthorityGeo">
         <value xml:lang="ar">جيوغرافية مصلحة الضرائب</value>
         <value xml:lang="de">Steuerbehörde Geo</value>

Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java?rev=1847715&r1=1847714&r2=1847715&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java Thu Nov 29 13:09:53 2018
@@ -248,7 +248,7 @@ public class TaxAuthorityServices {
         BigDecimal totalPrice = ZERO_BASE;
         Map<GenericValue,BigDecimal> productWeight = new HashMap<>();
         // Loop through the products; get the taxCategory; and lookup each in the cache.
-        for (int i = 0; i < itemProductList.size(); i++) {  
+        for (int i = 0; i < itemProductList.size(); i++) {
             GenericValue product = itemProductList.get(i);
             BigDecimal itemAmount = itemAmountList.get(i);
             BigDecimal itemPrice = itemPriceList.get(i);
@@ -272,8 +272,10 @@ public class TaxAuthorityServices {
         // converts the totals of the products into percent weights
         for (GenericValue prod : productWeight.keySet()) {
             BigDecimal value = productWeight.get(prod);
-            BigDecimal weight = value.divide(totalPrice, 100, salestaxRounding);
-            productWeight.put(prod, weight);
+            if (totalPrice.compareTo(BigDecimal.ZERO) > 0) {
+                BigDecimal weight = value.divide(totalPrice, 100, salestaxRounding);
+                productWeight.put(prod, weight);
+            }
         }
 
         if (orderShippingAmount != null && orderShippingAmount.compareTo(BigDecimal.ZERO) > 0) {
@@ -391,8 +393,6 @@ public class TaxAuthorityServices {
             EntityCondition productCategoryCond;
             productCategoryCond = setProductCategoryCond(delegator, product);
 
-            // FIXME handles shipping and promo tax. Simple solution, see
-            // https://issues.apache.org/jira/browse/OFBIZ-4160 for a better one
             if (product == null && shippingAmount != null) {
                 EntityCondition taxShippingCond = EntityCondition.makeCondition(
                         EntityCondition.makeCondition("taxShipping", EntityOperator.EQUALS, null),

Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/widget/TaxAuthorityScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/widget/TaxAuthorityScreens.xml?rev=1847715&r1=1847714&r2=1847715&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/accounting/widget/TaxAuthorityScreens.xml (original)
+++ ofbiz/ofbiz-framework/trunk/applications/accounting/widget/TaxAuthorityScreens.xml Thu Nov 29 13:09:53 2018
@@ -193,10 +193,8 @@ under the License.
                 <decorator-screen name="CommonTaxAuthorityDecorator" location="${parameters.taxAuthDecoratorLocation}">
                     <decorator-section name="body">
                         <screenlet id="TaxAuthorityCategoryPanel" title="${uiLabelMap.PageTitleAddTaxAuthorityCategory}" collapsible="true">
-                            <label style="h3">${uiLabelMap.AccountingTaxAuthorityCategoryAdvice}</label>
                             <include-form name="AddTaxAuthorityRateProduct" location="component://accounting/widget/TaxAuthorityForms.xml"/>
                         </screenlet>
-                        <label style="h3">${uiLabelMap.AccountingTaxAuthorityCategoryAdvice}</label>                        
                         <include-form name="ListTaxAuthorityRateProducts" location="component://accounting/widget/TaxAuthorityForms.xml"/>
                     </decorator-section>
                 </decorator-screen>