You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jo...@apache.org on 2007/09/18 11:20:24 UTC

svn commit: r576793 - /ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml

Author: jonesde
Date: Tue Sep 18 02:20:24 2007
New Revision: 576793

URL: http://svn.apache.org/viewvc?rev=576793&view=rev
Log:
Fixed issue where some orderIds added to this list were for non-backordered items; not sure if I like how this service works, but it cancels and re-reserves ALL reservations for the InventoryItem that has the negative ATP, no wonder it takes a while to run sometimes

Modified:
    ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml

Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml?rev=576793&r1=576792&r2=576793&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml (original)
+++ ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml Tue Sep 18 02:20:24 2007
@@ -728,7 +728,7 @@
         </iterate>
 
         <!-- sort the list by date -->
-        <string-to-list string="reservedDatetime" list-name="orderByList"/>
+        <set field="orderByList[]" value="reservedDatetime"/>
         <set field="orderByList[]" value="sequenceId"/>
         <order-value-list list-name="reservations" order-by-list-name="orderByList"/>
 
@@ -754,6 +754,14 @@
 
         <!-- THEN, re-reserve the cancelled items -->
         <iterate list-name="allReservations" entry-name="oisgir">
+            <!-- maintain a Set (in a Map) of orderIds that we have reallocated for, but only if they had some quantityNotReserved -->
+            <if-not-empty field-name="oisgir.quantityNotAvailable">
+                <if-compare field-name="oisgir.quantityNotAvailable" operator="greater" value="0" type="Double">
+                    <set field="touchedOrderIdMap.${oisgir.orderId}" value="Y"/>
+                    <log level="verbose" message="Adding ${oisgir.orderId} to touchedOrderIdMap"/>
+                </if-compare>
+            </if-not-empty>
+            
             <!-- require inventory is N because it had to be N to begin with to have a negative ATP -->
             <clear-field field-name="resMap"/>
             <set field="resMap.productId" from-field="inventoryItem.productId"/>
@@ -775,13 +783,10 @@
                     <call-service service-name="reserveProductInventoryByFacility" in-map-name="resMap"/>
                 </else>
             </if-empty>
-            
-            <!-- maintain a Set (in a Map) of orderIds that we have reallocated for -->
-            <set field="touchedOrderIdSet.${oisgir.orderId}" value="Y"/>
         </iterate>
         
-        <!-- now go through touchedOrderIdSet keys and make a Set/Map of orderIds that are no longer on back-order -->
-        <iterate-map key-name="touchedOrderId" value-name="throwAwayValue" map-name="touchedOrderIdSet">
+        <!-- now go through touchedOrderIdMap keys and make a Set/Map of orderIds that are no longer on back-order -->
+        <iterate-map key-name="touchedOrderId" value-name="throwAwayValue" map-name="touchedOrderIdMap">
             <set field="checkOrderIsOnBackOrderMap.orderId" from-field="touchedOrderId"/>
             <call-service service-name="checkOrderIsOnBackOrder" in-map-name="checkOrderIsOnBackOrderMap">
                 <result-to-field result-name="isBackOrder"/>