You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by si...@apache.org on 2006/11/23 02:08:06 UTC

svn commit: r478417 - in /incubator/ofbiz/trunk/applications/order: script/org/ofbiz/order/order/OrderReturnServices.xml servicedef/services_return.xml src/org/ofbiz/order/order/OrderReturnServices.java

Author: sichen
Date: Wed Nov 22 17:08:05 2006
New Revision: 478417

URL: http://svn.apache.org/viewvc?view=rev&rev=478417
Log:
introduced a new parameter countNewReturnItems to getOrderAvailableReturnedTotal which controls whether newly created return items are counted, so that quick refund order works again

Modified:
    incubator/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
    incubator/ofbiz/trunk/applications/order/servicedef/services_return.xml
    incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java

Modified: incubator/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml?view=diff&rev=478417&r1=478416&r2=478417
==============================================================================
--- incubator/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml (original)
+++ incubator/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml Wed Nov 22 17:08:05 2006
@@ -688,6 +688,7 @@
             </if-compare>
         </iterate>
         <set field="orderAvailableCtx.orderId" from-field="orderHeader.orderId"/>
+        <set field="orderAvailableCtx.countNewReturnItems" value="true" type="Boolean"/> <!-- very important: if this is not set, getOrderAvailableReturnedTotal would not count the return items we just created -->
         <call-service service-name="getOrderAvailableReturnedTotal" in-map-name="orderAvailableCtx">
             <result-to-field result-name="availableReturnTotal" field-name="availableReturnTotal"/>
             <result-to-field result-name="returnTotal" field-name="returnTotal"/>

Modified: incubator/ofbiz/trunk/applications/order/servicedef/services_return.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/servicedef/services_return.xml?view=diff&rev=478417&r1=478416&r2=478417
==============================================================================
--- incubator/ofbiz/trunk/applications/order/servicedef/services_return.xml (original)
+++ incubator/ofbiz/trunk/applications/order/servicedef/services_return.xml Wed Nov 22 17:08:05 2006
@@ -235,9 +235,10 @@
 
     <service name="getOrderAvailableReturnedTotal" engine="java"
             location="org.ofbiz.order.order.OrderReturnServices" invoke="getOrderAvailableReturnedTotal">
-        <description>Get the total amount of all returns for an order: orderTotal, returnTotal - totals so far.  availableReturnTotal = orderTotal - returnTotal - adjustment.  Used for checking if the return total has gone over the order total.</description>
+        <description>Get the total amount of all returns for an order: orderTotal, returnTotal - totals so far.  availableReturnTotal = orderTotal - returnTotal - adjustment.  Used for checking if the return total has gone over the order total.  If countNewReturnItems is set to Boolean.TRUE then return items in the CREATED state will be counted.  This should only be the case during quickRefundEntireOrder.</description>
         <attribute name="orderId" type="String" mode="IN" optional="false"/>
         <attribute name="adjustment" type="Double" mode="IN" optional="true"/>
+        <attribute name="countNewReturnItems" type="Boolean" mode="IN" optional="true"/>
         <attribute name="orderTotal" type="Double" mode="OUT" optional="false"/>
         <attribute name="returnTotal" type="Double" mode="OUT" optional="false"/>
         <attribute name="availableReturnTotal" type="Double" mode="OUT" optional="false"/>

Modified: incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java?view=diff&rev=478417&r1=478416&r2=478417
==============================================================================
--- incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java (original)
+++ incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java Wed Nov 22 17:08:05 2006
@@ -102,7 +102,11 @@
             adj = new Double(0);
         }
 
-        double returnTotal = orh.getOrderReturnedTotal(false);
+        Boolean countNewReturnItems = (Boolean) context.get("countNewReturnItems");
+        if (countNewReturnItems == null) {
+            countNewReturnItems = Boolean.FALSE;
+        }
+        double returnTotal = orh.getOrderReturnedTotal(countNewReturnItems.booleanValue());
         double orderTotal = orh.getOrderGrandTotal();
         double available = orderTotal - returnTotal - adj.doubleValue();
 
@@ -816,7 +820,7 @@
             }                                    
 
             groupReturnItemsByOrder(returnItems, itemsByOrder, totalByOrder, delegator, returnId);
-
+            
             // process each one by order
             Set itemSet = itemsByOrder.entrySet();
             Iterator itemByOrderIt = itemSet.iterator();
@@ -1455,7 +1459,7 @@
                 }
             }
         }
-
+        
         // We may also have some order-level adjustments, so we need to go through each order again and add those as well
         if ((totalByOrder != null) && (totalByOrder.keySet() != null)) {
             Iterator orderIterator = totalByOrder.keySet().iterator();