You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by di...@apache.org on 2016/06/19 00:52:31 UTC

svn commit: r1749113 - in /ofbiz/branches/release15.12: ./ applications/order/servicedef/ applications/order/src/org/ofbiz/order/order/ applications/order/webapp/ordermgr/order/

Author: diveshdutta
Date: Sun Jun 19 00:52:31 2016
New Revision: 1749113

URL: http://svn.apache.org/viewvc?rev=1749113&view=rev
Log:
Applied fix from trunk for revision: 1749111 
===

[OFBIZ-7190] Now CSR should be able to cancel order items of multiple ship groups. Also CSR should be able to cancel quantities less than ordered quantity. This should also fix OFBIZ-7255. Thanks Ankush Upadhyay for your patch. Thanks Mohammad Kathawala and Ratnesh Upadhyay for reporting the issues.

Modified:
    ofbiz/branches/release15.12/   (props changed)
    ofbiz/branches/release15.12/applications/order/servicedef/services.xml
    ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderEvents.java
    ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderServices.java
    ofbiz/branches/release15.12/applications/order/webapp/ordermgr/order/editorderitems.ftl

Propchange: ofbiz/branches/release15.12/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Jun 19 00:52:31 2016
@@ -9,4 +9,4 @@
 /ofbiz/branches/json-integration-refactoring:1634077-1635900
 /ofbiz/branches/multitenant20100310:921280-927264
 /ofbiz/branches/release13.07:1547657
-/ofbiz/trunk:1722712,1723007,1723248,1724402,1724411,1724566,1724689,1724763,1724916,1724918,1724925,1724930,1724940,1724943,1724946,1724951,1724957,1724975,1724978,1725006,1725217,1725257,1725561,1725574,1726388,1726486,1726493,1726828,1727894,1728398,1728411,1729005,1729078,1729609,1729809,1730035,1730456,1730735-1730736,1730747,1730758,1730882,1730889,1731382,1731396,1732454,1732570,1732721,1733951,1733956,1734246,1734269,1734276,1734912,1734918,1735021,1735244,1735385,1735398,1735569,1735731,1735734,1735750,1735753,1735756,1735759,1735773,1736083,1736087,1736272,1736434,1736628,1736851,1736854,1736890,1737156,1737440,1738235,1738303,1738407,1738902,1739438,1739448,1739571,1740008,1740442,1740629,1741146,1741563,1741684,1741925,1741930,1741960,1742018,1742097,1742103,1742712,1742737,1742741,1743025,1743027,1743230,1743411-1743412,1743656,1743937,1744117,1744198,1744396,1744662,1744768,1744773,1744873,1744911,1745111,1745264,1745428,1745438,1745573,1745577,1745592,1745751,1746228,
 1746422,1746459,1746524,1746527,1746536,1746601,1746676,1746714,1746755,1746805,1746832,1746890,1747223,1747349,1747498,1747639,1747642,1747646,1747650,1747661,1747956,1747959,1747963,1748121,1748133,1748206,1748218,1748223,1748260,1748357,1748394,1748401,1748543,1748559,1748628,1748689,1748693,1748703,1748837,1748854,1748907,1748925,1748929,1748944,1748972,1749026,1749083,1749092
+/ofbiz/trunk:1722712,1723007,1723248,1724402,1724411,1724566,1724689,1724763,1724916,1724918,1724925,1724930,1724940,1724943,1724946,1724951,1724957,1724975,1724978,1725006,1725217,1725257,1725561,1725574,1726388,1726486,1726493,1726828,1727894,1728398,1728411,1729005,1729078,1729609,1729809,1730035,1730456,1730735-1730736,1730747,1730758,1730882,1730889,1731382,1731396,1732454,1732570,1732721,1733951,1733956,1734246,1734269,1734276,1734912,1734918,1735021,1735244,1735385,1735398,1735569,1735731,1735734,1735750,1735753,1735756,1735759,1735773,1736083,1736087,1736272,1736434,1736628,1736851,1736854,1736890,1737156,1737440,1738235,1738303,1738407,1738902,1739438,1739448,1739571,1740008,1740442,1740629,1741146,1741563,1741684,1741925,1741930,1741960,1742018,1742097,1742103,1742712,1742737,1742741,1743025,1743027,1743230,1743411-1743412,1743656,1743937,1744117,1744198,1744396,1744662,1744768,1744773,1744873,1744911,1745111,1745264,1745428,1745438,1745573,1745577,1745592,1745751,1746228,
 1746422,1746459,1746524,1746527,1746536,1746601,1746676,1746714,1746755,1746805,1746832,1746890,1747223,1747349,1747498,1747639,1747642,1747646,1747650,1747661,1747956,1747959,1747963,1748121,1748133,1748206,1748218,1748223,1748260,1748357,1748394,1748401,1748543,1748559,1748628,1748689,1748693,1748703,1748837,1748854,1748907,1748925,1748929,1748944,1748972,1749026,1749083,1749092,1749111

Modified: ofbiz/branches/release15.12/applications/order/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/applications/order/servicedef/services.xml?rev=1749113&r1=1749112&r2=1749113&view=diff
==============================================================================
--- ofbiz/branches/release15.12/applications/order/servicedef/services.xml (original)
+++ ofbiz/branches/release15.12/applications/order/servicedef/services.xml Sun Jun 19 00:52:31 2016
@@ -293,6 +293,7 @@ under the License.
         <attribute name="cancelQuantity" type="BigDecimal" mode="IN" optional="true"/>
         <attribute name="itemReasonMap" type="Map" mode="IN" string-map-prefix="irm_" optional="true"/>
         <attribute name="itemCommentMap" type="Map" mode="IN" string-map-prefix="icm_" optional="true"/>
+        <attribute name="itemQtyMap" type="Map" mode="IN" string-map-prefix="iqm_" optional="true"/>
     </service>
     <service name="cancelOrderItemNoActions" engine="java" auth="true"
             location="org.ofbiz.order.order.OrderServices" invoke="cancelOrderItem">

Modified: ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderEvents.java?rev=1749113&r1=1749112&r2=1749113&view=diff
==============================================================================
--- ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderEvents.java (original)
+++ ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderEvents.java Sun Jun 19 00:52:31 2016
@@ -34,6 +34,7 @@ import javax.servlet.http.HttpSession;
 import org.apache.commons.io.IOUtils;
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.GeneralException;
+import org.ofbiz.base.util.UtilGenerics;
 import org.ofbiz.base.util.UtilHttp;
 import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.content.data.DataResourceWorker;
@@ -44,6 +45,7 @@ import org.ofbiz.entity.util.EntityQuery
 import org.ofbiz.service.GenericServiceException;
 import org.ofbiz.service.LocalDispatcher;
 import org.ofbiz.service.ServiceUtil;
+import java.math.BigDecimal;
 
 /**
  * Order Events
@@ -113,21 +115,21 @@ public class OrderEvents {
 
         Map<String, Object> resultMap = new HashMap<String, Object>();
         String  orderId = request.getParameter("orderId");
-        String[] orderItemSeqIds = request.getParameterValues("selectedItem");
-
-        if (orderItemSeqIds != null) {
-            for (String orderItemSeqId : orderItemSeqIds) {
-                try {
-                    GenericValue orderItem = EntityQuery.use(delegator).from("OrderItem").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryOne();
-                    List<GenericValue> orderItemShipGroupAssocs = orderItem.getRelated("OrderItemShipGroupAssoc", null, null, false);
-                    for (GenericValue orderItemShipGroupAssoc : orderItemShipGroupAssocs) {
-                        GenericValue orderItemShipGroup = orderItemShipGroupAssoc.getRelatedOne("OrderItemShipGroup", false);
-                        String shipGroupSeqId = orderItemShipGroup.getString("shipGroupSeqId");
-
+        String[] selectedItems = request.getParameterValues("selectedItem");
+        
+        
+        
+        if (selectedItems != null) {
+            for (String selectedItem : selectedItems) {
+            	String [] orderItemSeqIdAndOrderItemShipGrpId = selectedItem.split(":");
+            	String orderItemSeqId = orderItemSeqIdAndOrderItemShipGrpId[0];
+            	String shipGroupSeqId = orderItemSeqIdAndOrderItemShipGrpId[1];
+                        BigDecimal cancelQuantity = new BigDecimal(request.getParameter("iqm_"+orderItemSeqId+":"+shipGroupSeqId));
                         Map<String, Object> contextMap = new HashMap<String, Object>();
                         contextMap.put("orderId", orderId);
                         contextMap.put("orderItemSeqId", orderItemSeqId);
                         contextMap.put("shipGroupSeqId", shipGroupSeqId);
+                        contextMap.put("cancelQuantity", cancelQuantity);
                         contextMap.put("userLogin", userLogin);
                         contextMap.put("locale", locale);
                         try {
@@ -145,11 +147,6 @@ public class OrderEvents {
                             request.setAttribute("_ERROR_MESSAGE_", e.getMessage());
                             return "error";
                         }
-                    }
-                } catch (GenericEntityException e) {
-                    Debug.logError(e, module);
-                    return "error";
-                }
             }
             return "success";
         } else {

Modified: ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=1749113&r1=1749112&r2=1749113&view=diff
==============================================================================
--- ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderServices.java (original)
+++ ofbiz/branches/release15.12/applications/order/src/org/ofbiz/order/order/OrderServices.java Sun Jun 19 00:52:31 2016
@@ -2058,7 +2058,14 @@ public class OrderServices {
         String shipGroupSeqId = (String) context.get("shipGroupSeqId");
         Map<String, String> itemReasonMap = UtilGenerics.checkMap(context.get("itemReasonMap"));
         Map<String, String> itemCommentMap = UtilGenerics.checkMap(context.get("itemCommentMap"));
-
+        Map<String, String> itemQuantityMap = UtilGenerics.checkMap(context.get("itemQtyMap"));
+        if ((cancelQuantity == null) && UtilValidate.isNotEmpty(itemQuantityMap)) {
+        	String key = orderItemSeqId+":"+shipGroupSeqId;
+        	if (UtilValidate.isNotEmpty(itemQuantityMap.get(key))) {
+        		cancelQuantity = new BigDecimal(itemQuantityMap.get(key));	
+        	}
+        	
+        }
         // debugging message info
         String itemMsgInfo = orderId + " / " + orderItemSeqId + " / " + shipGroupSeqId;
 
@@ -2157,12 +2164,15 @@ public class OrderServices {
                             "orderId", orderItem.getString("orderId"),
                             "orderItemSeqId", orderItem.getString("orderItemSeqId"),
                             "shipGroupSeqId", orderItemShipGroupAssoc.getString("shipGroupSeqId"));
-                    try {
-                        dispatcher.runSync("deleteOrderItemShipGroupAssoc", localCtx);
-                    } catch (GenericServiceException e) {
-                        Debug.logError(e, module);
-                        return ServiceUtil.returnError(e.getMessage());
+                    if (availableQuantity.compareTo(thisCancelQty) == 0) {
+                    	try {
+                            dispatcher.runSync("deleteOrderItemShipGroupAssoc", localCtx);
+                        } catch (GenericServiceException e) {
+                            Debug.logError(e, module);
+                            return ServiceUtil.returnError(e.getMessage());
+                        }
                     }
+                    
 
                     //  create order item change record
                     if (!"Y".equals(orderItem.getString("isPromo"))) {

Modified: ofbiz/branches/release15.12/applications/order/webapp/ordermgr/order/editorderitems.ftl
URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/applications/order/webapp/ordermgr/order/editorderitems.ftl?rev=1749113&r1=1749112&r2=1749113&view=diff
==============================================================================
--- ofbiz/branches/release15.12/applications/order/webapp/ordermgr/order/editorderitems.ftl (original)
+++ ofbiz/branches/release15.12/applications/order/webapp/ordermgr/order/editorderitems.ftl Sun Jun 19 00:52:31 2016
@@ -257,7 +257,7 @@ under the License.
                                         <td align="center">
                                             <input type="text" name="iqm_${shipGroupAssoc.orderItemSeqId}:${shipGroupAssoc.shipGroupSeqId}" size="6" value="${shipGroupQty?string.number}"/>
                                             <#if itemSelectable>
-                                                <input type="checkbox" name="selectedItem" value="${orderItem.orderItemSeqId}" />
+                                                <input type="checkbox" name="selectedItem" value="${orderItem.orderItemSeqId}:${shipGroupAssoc.shipGroupSeqId}" />
                                             </#if>
                                         </td>
                                     </#if>