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"/>