svn commit: r518349 - in /ofbiz/trunk/applications/product: servicedef/services_shipment.xml webapp/facility/WEB-INF/controller.xml webapp/facility/shipment/ReceiveInventoryAgainstPurchaseOrder.ftl

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

svn commit: r518349 - in /ofbiz/trunk/applications/product: servicedef/services_shipment.xml webapp/facility/WEB-INF/controller.xml webapp/facility/shipment/ReceiveInventoryAgainstPurchaseOrder.ftl

sichen
Author: sichen
Date: Wed Mar 14 15:02:11 2007
New Revision: 518349

URL: http://svn.apache.org/viewvc?view=rev&rev=518349
Log:
When receiving inventory against a PO, issue order item quantity and receive the same inventory quantity in sequence via a service group, to eliminate redundant steps

Modified:
    ofbiz/trunk/applications/product/servicedef/services_shipment.xml
    ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml
    ofbiz/trunk/applications/product/webapp/facility/shipment/ReceiveInventoryAgainstPurchaseOrder.ftl

Modified: ofbiz/trunk/applications/product/servicedef/services_shipment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_shipment.xml?view=diff&rev=518349&r1=518348&r2=518349
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services_shipment.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services_shipment.xml Wed Mar 14 15:02:11 2007
@@ -523,6 +523,14 @@
         <override name="facilityId" optional="false"/>
     </service>
 
+    <service name="issueOrderItemToShipmentAndReceiveAgainstPO" engine="group" auth="true">
+        <description>Issues order item quantity specified to the shipment, then receives inventory for that item and quantity</description>
+        <group>
+            <invoke name="issueOrderItemToShipment" result-to-context="true"/>
+            <invoke name="receiveInventoryProduct" result-to-context="true"/>
+        </group>
+    </service>
+
     <service name="quickReceiveReturn" engine="simple"
             location="org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml" invoke="quickReceiveReturn" auth="true">
         <attribute name="returnId" type="String" mode="IN" optional="false"/>

Modified: ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml?view=diff&rev=518349&r1=518348&r2=518349
==============================================================================
--- ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml Wed Mar 14 15:02:11 2007
@@ -1007,6 +1007,12 @@
         <security https="true" auth="true"/>
         <response name="success" type="view" value="ReceiveInventoryAgainstPurchaseOrder"/>
     </request-map>
+    <request-map uri="issueOrderItemToShipmentAndReceiveAgainstPO">
+        <security https="true" auth="true"/>
+        <event type="service-multi" path="" invoke="issueOrderItemToShipmentAndReceiveAgainstPO"/>
+        <response name="success" type="view" value="ReceiveInventoryAgainstPurchaseOrder"/>
+        <response name="error" type="view" value="ReceiveInventoryAgainstPurchaseOrder"/>
+    </request-map>
     <!-- ================ Shipment Items From Order Requests ================= -->
     <request-map uri="EditShipmentPlan">
         <security https="true" auth="true"/>

Modified: ofbiz/trunk/applications/product/webapp/facility/shipment/ReceiveInventoryAgainstPurchaseOrder.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/shipment/ReceiveInventoryAgainstPurchaseOrder.ftl?view=diff&rev=518349&r1=518348&r2=518349
==============================================================================
--- ofbiz/trunk/applications/product/webapp/facility/shipment/ReceiveInventoryAgainstPurchaseOrder.ftl (original)
+++ ofbiz/trunk/applications/product/webapp/facility/shipment/ReceiveInventoryAgainstPurchaseOrder.ftl Wed Mar 14 15:02:11 2007
@@ -18,6 +18,19 @@
 -->
 <#if shipment?exists>
 
+    <#-- JS to populate the quantity_o_# field required by the chained issueOrderItemToShipment service -->
+    <script type="text/javascript">
+      function populateQuantities(rowCount) {
+        for (var x = 0; x <= rowCount; x++) {
+          var quantityAcceptedInput = document.getElementById('quantityAccepted_o_' + x);
+          var quantityInput = document.getElementById('quantity_o_' + x);
+          if (quantityAcceptedInput != null && quantityInput != null) {
+            quantityInput.value = quantityAcceptedInput.value;
+          }
+        }
+      }
+    </script>
+
     <#assign productId = parameters.productId?if_exists/>
     <div class="head3">${uiLabelMap.ProductReceiveInventoryAgainstPurchaseOrder}</div>
 
@@ -64,7 +77,7 @@
         <#if orderItemDatas?exists>
             <#assign rowCount = 0>
             <#assign totalReadyToReceive = 0/>
-            <form action="<@ofbizUrl>receiveInventoryProduct/ReceiveInventoryAgainstPurchaseOrder?clearAll=Y</@ofbizUrl>" method="post" name="selectAllForm">
+            <form action="<@ofbizUrl>issueOrderItemToShipmentAndReceiveAgainstPO?clearAll=Y</@ofbizUrl>" method="post" name="selectAllForm">
                 <input type="hidden" name="facilityId" value="${facilityId}"/>
                 <input type="hidden" name="purchaseOrderId" value="${orderId}"/>
                 <input type="hidden" name="shipmentId" value="${shipmentId}">
@@ -124,13 +137,15 @@
                                     <input type="hidden" name="ownerPartyId_o_${rowCount}" value="${(facility.ownerPartyId)?if_exists}"/>
                                     <input type="hidden" name="datetimeReceived_o_${rowCount}" value="${now}"/>
                                     <input type="hidden" name="quantityRejected_o_${rowCount}" value="0"/>
+                                    <#-- quantity field required by the chained issueOrderItemToShipment service -->
+                                    <input type="hidden" name="quantity_o_${rowCount}" id="quantity_o_${rowCount}" value=""/>
                                     <#if itemQuantitiesToReceive?exists && itemQuantitiesToReceive.get(orderItemAndShipGroupAssoc.orderItemSeqId)?exists>
                                         <#assign quantityToReceive = itemQuantitiesToReceive.get(orderItemAndShipGroupAssoc.orderItemSeqId)>
                                     <#else>
                                         <#assign quantityToReceive = 0>
                                     </#if>
                                     <#assign totalReadyToReceive = totalReadyToReceive + quantityToReceive/>
-                                    <input type="text" class='inputBox' size="5" name="quantityAccepted_o_${rowCount}" value="${quantityToReceive}"/>
+                                    <input type="text" class='inputBox' size="5" name="quantityAccepted_o_${rowCount}" id="quantityAccepted_o_${rowCount}" value="${quantityToReceive}"/>
                                 </td>
                                 <td>              
                                     <select name="inventoryItemTypeId_o_${rowCount}" class="selectBox">
@@ -159,7 +174,7 @@
                                 <a href="<@ofbizUrl>ReceiveInventoryAgainstPurchaseOrder?shipmentId=${shipmentId}&purchaseOrderId=${orderId}&clearAll=Y</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonClearAll}</a>
                             </td>
                             <td align="right">
-                                <input type="submit" class="smallSubmit" value="${uiLabelMap.ProductReceiveItem}"/>
+                                <a class="smallSubmit" href="javascript:populateQuantities(${rowCount - 1});document.selectAllForm.submit();">${uiLabelMap.ProductReceiveItem}</a>
                             </td>
                         </tr>
                     </#if>