Author: surajk
Date: Sat May 25 06:13:21 2019 New Revision: 1859910 URL: http://svn.apache.org/viewvc?rev=1859910&view=rev Log: Applied fix from trunk for revision: 1859909 === Fixed: Drop-ship process behaves incorrectly when a combination of drop-ship and non-drop-ship products are added into the cart. (OFBIZ-11021) RequirementMethodEnumId should be decided in the order of property set at ProductStore -> Facility -> Product for each order item which was not working if the non-drop shippable product(s) is added after the drop shippable product(s). Original Flow: requirementMethodEnumId was initialized outside the loop and once it is initialized with Product level information it never gets re-initialized if Product is non-drop shippable. We have updated the code to use the storeRequirementMethodEnumId variable for store level information which is defined outside the loop and this will be used to initialize requirementMethodEnumId for each order item and then product level information can override it. That means for each product ProductStore -> Facility -> Product this rule will work properly. Thanks Pawan Verma for reporting the issue and providing the patch and Jacques Le Roux for review. Modified: ofbiz/ofbiz-framework/branches/release18.12/ (props changed) ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java Propchange: ofbiz/ofbiz-framework/branches/release18.12/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sat May 25 06:13:21 2019 @@ -10,4 +10,4 @@ /ofbiz/branches/json-integration-refactoring:1634077-1635900 /ofbiz/branches/multitenant20100310:921280-927264 /ofbiz/branches/release13.07:1547657 -/ofbiz/ofbiz-framework/trunk:1849931,1850015,1850023,1850530,1850647,1850685,1850694,1850711,1850914,1850918,1850921,1850948,1850953,1851006,1851013,1851068,1851074,1851130,1851158,1851200,1851224,1851247,1851254,1851315,1851319,1851350,1851353,1851433,1851500,1851805,1851885,1851998,1852503,1852587,1852818,1852882,1853070,1853109,1853691,1853745,1853750,1854306,1854457,1854683,1855078,1855083,1855287,1855371,1855403,1855488,1855492,1855497,1855501,1855898,1856212,1856405,1856455,1856459-1856460,1856484,1856598,1856610,1856613,1856617,1856667,1857088,1857099,1857152,1857154,1857173,1857180,1857213,1857392,1857617,1857692,1857813,1858035,1858092,1858180,1858250,1858256,1858275,1858319,1858347,1858432,1858444,1858483,1858523,1858539,1858965,1858980,1859033,1859055,1859087,1859255,1859263,1859268,1859543,1859571,1859576,1859691,1859694,1859698,1859704,1859708,1859735,1859796,1859800,1859807,1859871,1859877,1859882 +/ofbiz/ofbiz-framework/trunk:1849931,1850015,1850023,1850530,1850647,1850685,1850694,1850711,1850914,1850918,1850921,1850948,1850953,1851006,1851013,1851068,1851074,1851130,1851158,1851200,1851224,1851247,1851254,1851315,1851319,1851350,1851353,1851433,1851500,1851805,1851885,1851998,1852503,1852587,1852818,1852882,1853070,1853109,1853691,1853745,1853750,1854306,1854457,1854683,1855078,1855083,1855287,1855371,1855403,1855488,1855492,1855497,1855501,1855898,1856212,1856405,1856455,1856459-1856460,1856484,1856598,1856610,1856613,1856617,1856667,1857088,1857099,1857152,1857154,1857173,1857180,1857213,1857392,1857617,1857692,1857813,1858035,1858092,1858180,1858250,1858256,1858275,1858319,1858347,1858432,1858444,1858483,1858523,1858539,1858965,1858980,1859033,1859055,1859087,1859255,1859263,1859268,1859543,1859571,1859576,1859691,1859694,1859698,1859704,1859708,1859735,1859796,1859800,1859807,1859871,1859877,1859882,1859909 Modified: ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java?rev=1859910&r1=1859909&r2=1859910&view=diff ============================================================================== --- ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java (original) +++ ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java Sat May 25 06:13:21 2019 @@ -4235,12 +4235,12 @@ public class ShoppingCart implements Ite // Retrieve the facilityId from the cart's productStoreId because ShoppingCart.setFacilityId() doesn't seem to be used anywhere String facilityId = null; - String requirementMethodEnumId = null; + String storeRequirementMethodEnumId = null; if (UtilValidate.isNotEmpty(this.getProductStoreId())) { try { GenericValue productStore = this.getDelegator().findOne("ProductStore", UtilMisc.toMap("productStoreId", this.getProductStoreId()), true); facilityId = productStore.getString("inventoryFacilityId"); - requirementMethodEnumId = productStore.getString("requirementMethodEnumId"); + storeRequirementMethodEnumId = productStore.getString("requirementMethodEnumId"); } catch (GenericEntityException gee) { Debug.logError(UtilProperties.getMessage(resource_error,"OrderProblemGettingProductStoreRecords", locale) + gee.getMessage(), module); return; @@ -4288,7 +4288,9 @@ public class ShoppingCart implements Ite Debug.logError("Error :" +e.getMessage(), module); e.printStackTrace(); } - + + String requirementMethodEnumId = storeRequirementMethodEnumId; + if (productFacility != null && UtilValidate.isNotEmpty(productFacility.getString("requirementMethodEnumId"))){ requirementMethodEnumId = productFacility.getString("requirementMethodEnumId"); } |
Free forum by Nabble | Edit this page |