This is an automated email from the ASF dual-hosted git repository. jleroux pushed a commit to branch release22.01 in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/release22.01 by this push: new 966f21d750 Fixed: Tax calculation not considering productStoreGroup (OFBIZ-12686) 966f21d750 is described below commit 966f21d750e08d2de51e7fc13733a665951a8c25 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(); + } } /**