This is an automated email from the ASF dual-hosted git repository.
surajk 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 d98d9cc Fixed: Picklist is in Input status even after order is completed. (OFBIZ-10883) d98d9cc is described below commit d98d9ccbfa3ff9007c1d828a7a585961afeea254 Author: Suraj Khurana <[hidden email]> AuthorDate: Wed Feb 26 19:22:49 2020 +0530 Fixed: Picklist is in Input status even after order is completed. (OFBIZ-10883) Thanks Rashi Dhagat for reporting, Shikha Jaiswal for the patch and Pawan Verma for review. --- .../datamodel/entitydef/shipment-entitymodel.xml | 11 ++++++++ .../ofbiz/shipment/packing/PackingSession.java | 29 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/applications/datamodel/entitydef/shipment-entitymodel.xml b/applications/datamodel/entitydef/shipment-entitymodel.xml index cf3bc74..354cd6a 100644 --- a/applications/datamodel/entitydef/shipment-entitymodel.xml +++ b/applications/datamodel/entitydef/shipment-entitymodel.xml @@ -193,6 +193,17 @@ under the License. <key-map field-name="picklistBinId"/> </view-link> </view-entity> + <view-entity entity-name="PicklistAndBin" + package-name="org.apache.ofbiz.shipment.picklist" + title="Picklist and PicklistBin View"> + <member-entity entity-alias="PL" entity-name="Picklist"/> + <member-entity entity-alias="PLB" entity-name="PicklistBin"/> + <alias-all entity-alias="PL"/> + <alias-all entity-alias="PLB"/> + <view-link entity-alias="PL" rel-entity-alias="PLB"> + <key-map field-name="picklistId"/> + </view-link> + </view-entity> <entity entity-name="PicklistBin" package-name="org.apache.ofbiz.shipment.picklist" title="Picklist"> diff --git a/applications/product/src/main/java/org/apache/ofbiz/shipment/packing/PackingSession.java b/applications/product/src/main/java/org/apache/ofbiz/shipment/packing/PackingSession.java index a7830b2..2bf0ac2 100644 --- a/applications/product/src/main/java/org/apache/ofbiz/shipment/packing/PackingSession.java +++ b/applications/product/src/main/java/org/apache/ofbiz/shipment/packing/PackingSession.java @@ -674,6 +674,8 @@ public class PackingSession implements java.io.Serializable { this.setShipmentToPacked(); // set role on picklist this.setPickerOnPicklist(); + // set picklist to picked + this.setPicklistToPicked(); // run the complete events this.runEvents(PackingEvent.EVENT_CODE_COMPLETE); @@ -865,6 +867,33 @@ public class PackingSession implements java.io.Serializable { } } + protected void setPicklistToPicked() throws GeneralException { + Delegator delegator = this.getDelegator(); + if (picklistBinId != null) { + GenericValue picklist = EntityQuery.use(delegator).from("PicklistAndBin").where("picklistBinId", picklistBinId).queryFirst(); + if (picklist == null) { + if (!"PICKLIST_PICKED".equals(picklist.getString("statusId")) && !"PICKLIST_COMPLETED".equals(picklist.getString("statusId")) && !"PICKLIST_CANCELLED".equals(picklist.getString("statusId"))) { + Map<String, Object> serviceResult = this.getDispatcher().runSync("updatePicklist", UtilMisc.toMap("picklistId", picklist.getString("picklistId"), "statusId", "PICKLIST_PICKED", "userLogin", userLogin)); + if (!ServiceUtil.isSuccess(serviceResult)) { + throw new GeneralException(ServiceUtil.getErrorMessage(serviceResult)); + } + } + } + } else { + List<GenericValue> picklistBins = EntityQuery.use(delegator).from("PicklistAndBin").where("primaryOrderId", primaryOrderId).queryList(); + if (UtilValidate.isNotEmpty(picklistBins)) { + for (GenericValue picklistBin : picklistBins) { + if (!"PICKLIST_PICKED".equals(picklistBin.getString("statusId")) && !"PICKLIST_COMPLETED".equals(picklistBin.getString("statusId")) && !"PICKLIST_CANCELLED".equals(picklistBin.getString("statusId"))) { + Map<String, Object> serviceResult = this.getDispatcher().runSync("updatePicklist", UtilMisc.toMap("picklistId", picklistBin.getString("picklistId"), "statusId", "PICKLIST_PICKED", "userLogin", userLogin)); + if (!ServiceUtil.isSuccess(serviceResult)) { + throw new GeneralException(ServiceUtil.getErrorMessage(serviceResult)); + } + } + } + } + } + } + protected void setPickerOnPicklist() throws GeneralException { if (picklistBinId != null) { // first find the picklist id |
Free forum by Nabble | Edit this page |