|
Author: jleroux
Date: Tue Jan 11 08:28:57 2011 New Revision: 1057519 URL: http://svn.apache.org/viewvc?rev=1057519&view=rev Log: A patch from Paul Foxworthy "findOrdersToPickMove: EntityListIterator not closed if no Picklist generated" (https://issues.apache.org/jira/browse/OFBIZ-4105) - OFBIZ-4105 Go to ordermgr/control/orderview for an order that doesn't have stock ready for picking. Click on Prink Pick Sheet You'll get a Pick Sheet PDF with the message "Order not ready for picking, needs stock move" Look at logs, you'll see an EntityListIterator was created and never closed, so a warning message was logged when the finalize was executed. The problem is in the findOrdersToPickMove simple method in applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml . There's a <use-iterator/> for the OrderHeaderAndItemFacilityLocation entity. After the entity-condition element, there's an <if> element, and the iterator is only used when the "if" condition is false, i.e. the <else> part is executed. My fix is simply to move the <entity-condition>, complete with <use-iterator>, within the <else> element so the condition is evaluated and the iterator created only when the iterator will be used. Modified: ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml Modified: ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml?rev=1057519&r1=1057518&r2=1057519&view=diff ============================================================================== --- ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml (original) +++ ofbiz/trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml Tue Jan 11 08:28:57 2011 @@ -103,18 +103,6 @@ under the License. <condition-expr field-name="orderId" from-field="orderHeader.orderId"/> </entity-count> - <entity-condition entity-name="OrderHeaderAndItemFacilityLocation" list="OrderHeaderAndItemFacilityLocationList" distinct="true"> - <condition-list combine="and"> - <condition-expr field-name="orderId" from-field="orderHeader.orderId"/> - <condition-list combine="or"> - <condition-expr field-name="locationTypeEnumId" operator="equals" value="FLT_PICKLOC"/> - <condition-expr field-name="locationTypeEnumId" operator="equals" from-field="nullField"/> - </condition-list> - </condition-list> - <select-field field-name="shipmentMethodTypeId"/> - <select-field field-name="areaId"/> - <use-iterator/> - </entity-condition> <set field="groupName"/> <set field="groupName1"/> <!-- Group by Shipping Method --> <set field="groupName2"/> <!-- Group by Warehouse Area --> @@ -133,6 +121,18 @@ under the License. <set field="groupName" from-field="orderHeader.orderId"/> </then> <else> + <entity-condition entity-name="OrderHeaderAndItemFacilityLocation" list="OrderHeaderAndItemFacilityLocationList" distinct="true"> + <condition-list combine="and"> + <condition-expr field-name="orderId" from-field="orderHeader.orderId"/> + <condition-list combine="or"> + <condition-expr field-name="locationTypeEnumId" operator="equals" value="FLT_PICKLOC"/> + <condition-expr field-name="locationTypeEnumId" operator="equals" from-field="nullField"/> + </condition-list> + </condition-list> + <select-field field-name="shipmentMethodTypeId"/> + <select-field field-name="areaId"/> + <use-iterator/> + </entity-condition> <iterate list="OrderHeaderAndItemFacilityLocationList" entry="orderHeaderAndItemFacilityLocation"> <!-- set groupName for order according to the options selected by the user --> |
| Free forum by Nabble | Edit this page |
