[OFBiz] SVN: r6630 - trunk/applications/product/script/org/ofbiz/shipment/picklist

jaz@svn.ofbiz.org jaz at svn.ofbiz.org
Tue Jan 31 12:12:59 CST 2006


Author: jaz
Date: 2006-01-31 12:12:57 -0600 (Tue, 31 Jan 2006)
New Revision: 6630

Modified:
   trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml
Log:
fixed bug in picklist limiting doing string compare on max number of orders


Modified: trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml
===================================================================
--- trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml	2006-01-31 15:54:36 UTC (rev 6629)
+++ trunk/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml	2006-01-31 18:12:57 UTC (rev 6630)
@@ -89,8 +89,10 @@
         </else>
         </if-empty>
 
-        <calculate field-name="numberSoFar" type="Long"><number value="0"/></calculate>
+        <set field="maxNumberOfOrders" type="Long" from-field="parameters.maxNumberOfOrders" set-if-empty="true"/>
+        <set field="numberSoFar" type="Long" value="0"/>
         <iterate entry-name="orderHeader" list-name="orderHeaderList">
+            <log level="always" message="Checking order #${orderHeader.orderId} to add to picklist"/>
             <!-- get all ship groups, and iterate over them for each order -->
             <entity-and entity-name="OrderItemShipGroup" list-name="orderItemShipGroupList">
                 <field-map field-name="orderId" env-name="orderHeader.orderId"/>
@@ -145,9 +147,10 @@
                                         <condition-expr field-name="statusId" operator="not-equals" value="PICKLIST_CANCELLED"/>
                                     </condition-list>
                                 </entity-condition>
-
+                                <log level="always" message="Pick list ITEMS - ${picklistItemList}"/>
                                 <!-- if all picklistItemList are not empty, don't include order as a pick candidate; keep a flag to see -->
                                 <if-empty field-name="picklistItemList">
+                                    <log level="always" message="The pick list item list is empty!"/>
                                     <!-- note that this is separate because we can't really use it as a break condition, must check all of them before any useful information is to be had -->
                                     <set value="N" field="allPickStarted"/>
 
@@ -191,12 +194,24 @@
                         <if>
                             <condition>
                                 <and>
+                                    <not><if-empty field-name="parameters.maxNumberOfOrders"/></not>
+                                    <if-compare-field field-name="numberSoFar" type="Long" operator="greater-equals" to-field-name="maxNumberOfOrders"/>
+                                </and>
+                            </condition>
+                            <then>
+                                <log level="always" message="We have passed the max number of orders!"/>
+                                <set value="N" field="pickThisOrder"/>
+                            </then>
+                            <else>
+                                <log level="always" message="We have not passed the max number of orders yet..."/>
+                            </else>
+                        </if>
+
+                        <if>
+                            <condition>
+                                <and>
                                     <if-compare field-name="pickThisOrder" operator="equals" value="Y"/>
                                     <if-compare field-name="allPickStarted" operator="equals" value="N"/>
-                                    <or>
-                                        <if-empty field-name="parameters.maxNumberOfOrders"/>
-                                        <if-compare-field field-name="numberSoFar" operator="less" to-field-name="parameters.maxNumberOfOrders"></if-compare-field>
-                                    </or>
                                 </and>
                             </condition>
                             <then>
@@ -230,12 +245,19 @@
                                 <calculate field-name="numberSoFar" type="Long">
                                     <calcop field-name="numberSoFar" operator="add"><number value="1"/></calcop>
                                 </calculate>
+                                <log level="always" message="Added order #${orderHeader.orderId} to pick list [${numberSoFar} of ${parameters.maxNumberOfOrders}] - ${pickThisOrder} / ${allPickStarted}"/>
                             </then>
+                            <else>
+                                <log level="always" message="Order #${orderHeader.orderId} was not added to pick list [${numberSoFar} of ${parameters.maxNumberOfOrders}] - ${pickThisOrder} / ${allPickStarted}"/>
+                            </else>
                         </if>
 
                         <clear-field field-name="orderItemAndShipGroupAssocList"/>
                         <clear-field field-name="orderItemShipGrpInvResInfoList"/>
                     </then>
+                    <else>
+                        <log level="always" message="Order is not a member of the requested shipment method: ${parameters.shipmentMethodTypeId}"/>
+                    </else>
                 </if>
             </iterate>
 
@@ -263,6 +285,7 @@
         <!-- This creates orderHeaderInfoList, wrongQuantityReservedList, insufficientQohList and inventoryItems, inventoryItemOrderItems, inventoryItemQuantities -->
 
         <!-- if maxNumberOfOrders is passed, get at most that many orders and go over them -->
+        <!-- moved above in findOrdersToPickMove
         <calculate field-name="numberSoFar" type="Long"><number value="0"/></calculate>
         <iterate entry-name="pickMoveByShipmentMethodInfo" list-name="pickMoveByShipmentMethodInfoList">
             <if>
@@ -281,8 +304,9 @@
                 <calcop field-name="numberSoFar" operator="add"><number value="1"/></calcop>
             </calculate>
         </iterate>
+        -->
 
-        <iterate entry-name="pickMoveByShipmentMethodInfo" list-name="limitedPickMoveByShipmentMethodInfoList">
+        <iterate entry-name="pickMoveByShipmentMethodInfo" list-name="pickMoveByShipmentMethodInfoList">
             <iterate entry-name="orderReadyToPickInfo" list-name="pickMoveByShipmentMethodInfo.orderReadyToPickInfoList">
                 <iterate entry-name="orderItemAndShipGroupAssoc" list-name="orderReadyToPickInfo.orderItemAndShipGroupAssocList">
                     <if-compare value="ITEM_APPROVED" operator="equals" field-name="orderItemAndShipGroupAssoc.statusId">



More information about the Svn mailing list