This is an automated email from the ASF dual-hosted git repository.

jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new af7c476fe5 Fixed: Tax calculation not considering productStoreGroup 
(OFBIZ-12686)
af7c476fe5 is described below

commit af7c476fe5eca70302ddf9fddcbc2844219a037b
Author: Jacques Le Roux <jacques.le.r...@les7arts.com>
AuthorDate: Sat Aug 27 10:13:23 2022 +0200

    Fixed: Tax calculation not considering productStoreGroup (OFBIZ-12686)
    
    By default OOTB there is no primaryStoreGroupId. So a test fails because of 
that.
    This checks that it's present before searching for it.
    
    I did not check it's related but maybe a look at how it's handled in
    PriceServices::calculateProductPrice might help to possibly enhance.
---
 .../ofbiz/accounting/tax/TaxAuthorityServices.java | 23 +++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git 
a/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java
 
b/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java
index daafda3ceb..3e791f4f02 100644
--- 
a/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java
+++ 
b/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java
@@ -656,13 +656,22 @@ public class TaxAuthorityServices {
      */
     private static GenericValue getProductPrice(Delegator delegator, 
GenericValue product, GenericValue productStore, String taxAuthGeoId,
             String taxAuthPartyId) throws GenericEntityException {
-        return EntityQuery.use(delegator).from("ProductPrice")
-                .where("productId", product.get("productId"),
-                        "taxAuthPartyId", taxAuthPartyId,
-                        "taxAuthGeoId", taxAuthGeoId,
-                        "productPricePurposeId", "PURCHASE",
-                        "productStoreId", 
productStore.get("primaryStoreGroupId"))
-                .orderBy("-fromDate").filterByDate().queryFirst();
+        if 
(UtilValidate.isNotEmpty(productStore.getString("primaryStoreGroupId"))) {
+            return EntityQuery.use(delegator).from("ProductPrice")
+                    .where("productId", product.get("productId"),
+                            "taxAuthPartyId", taxAuthPartyId,
+                            "taxAuthGeoId", taxAuthGeoId,
+                            "productPricePurposeId", "PURCHASE",
+                            "productStoreId", 
productStore.get("primaryStoreGroupId"))
+                    .orderBy("-fromDate").filterByDate().queryFirst();
+        } else {
+            return EntityQuery.use(delegator).from("ProductPrice")
+                    .where("productId", product.get("productId"),
+                            "taxAuthPartyId", taxAuthPartyId,
+                            "taxAuthGeoId", taxAuthGeoId,
+                            "productPricePurposeId", "PURCHASE")
+                            .orderBy("-fromDate").filterByDate().queryFirst();
+        }
     }
 
     /**

Reply via email to