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(); + } } /**