svn commit: r633182 - /ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r633182 - /ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java

sichen
Author: sichen
Date: Mon Mar  3 09:17:50 2008
New Revision: 633182

URL: http://svn.apache.org/viewvc?rev=633182&view=rev
Log:
Fix for issue in the cancelRemainingPurchaseOrderItems (used by the completePurchaseOrder service) where the code was getting short-circuited for items which were *not* being cancelled, so that approved items weren't being set to completed when they should have been.

Modified:
    ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java

Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=633182&r1=633181&r2=633182&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java Mon Mar  3 09:17:50 2008
@@ -4259,11 +4259,12 @@
                 }
                 
                 double quantityToCancel = orderItemQuantity - orderItemCancelQuantity - receivedQuantity;
-                if (quantityToCancel <= 0) continue;
-                
+                if (quantityToCancel > 0) {
                 Map cancelOrderItemResult = dispatcher.runSync("cancelOrderItem", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", orderItem.get("orderItemSeqId"), "cancelQuantity", new Double(quantityToCancel), "userLogin", userLogin));
                 if (ServiceUtil.isError(cancelOrderItemResult)) return cancelOrderItemResult;      
-                
+                }
+
+                // If there's nothing to cancel, the item should be set to completed, if it isn't already
                 orderItem.refresh();
                 if ("ITEM_APPROVED".equals(orderItem.getString("statusId"))) {
                     Map changeOrderItemStatusResult = dispatcher.runSync("changeOrderItemStatus", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", orderItem.get("orderItemSeqId"), "statusId", "ITEM_COMPLETED", "userLogin", userLogin));