You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2009/09/25 06:34:58 UTC

svn commit: r818715 - in /ofbiz/trunk/applications/order: script/org/ofbiz/order/order/OrderServices.xml servicedef/services.xml webapp/ordermgr/WEB-INF/controller.xml webapp/ordermgr/entry/cart/showcart.ftl

Author: jleroux
Date: Fri Sep 25 04:34:57 2009
New Revision: 818715

URL: http://svn.apache.org/viewvc?rev=818715&view=rev
Log:
A patch from Prateek Jain "Make ATP/QOH button in purchase order independent of productStore" (https://issues.apache.org/jira/browse/OFBIZ-2967) - OFBIZ-2967

When we click on ATP/'Qoh button in purchase order for a particular order item it gives error that facility id is not present.Ideally in case of purchase order it should not be dependent on productStore. 

Modified:
    ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderServices.xml
    ofbiz/trunk/applications/order/servicedef/services.xml
    ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml
    ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcart.ftl

Modified: ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderServices.xml?rev=818715&r1=818714&r2=818715&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderServices.xml (original)
+++ ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderServices.xml Fri Sep 25 04:34:57 2009
@@ -1351,4 +1351,22 @@
         </else>
         </if-compare-field>
     </simple-method>
+    <simple-method method-name="productAvailabalityByFacility" short-description="Calculate ATP and Qoh According For each facility">
+        <set field="facilityMap.ownerPartyId" from-field="parameters.ownerPartyId"/>
+        <find-by-and map="facilityMap" list="facilityList" entity-name="Facility"/>
+        <iterate entry="facility" list="facilityList">
+            <set field="getInventoryAvailableByFacilityMap.facilityId" from-field="facility.facilityId"/>
+            <set field="getInventoryAvailableByFacilityMap.productId" from-field="parameters.productId"/>
+            <call-service service-name="getInventoryAvailableByFacility" in-map-name="getInventoryAvailableByFacilityMap">
+                <result-to-field result-name="quantityOnHandTotal"/>
+                <result-to-field result-name="availableToPromiseTotal"/>
+            </call-service>
+            <set field="availabalityMap.facilityId" from-field="facility.facilityId"/>
+            <set field="availabalityMap.quantityOnHandTotal" from-field="quantityOnHandTotal"/>
+            <set field="availabalityMap.availableToPromiseTotal" from-field="availableToPromiseTotal"/>
+            <field-to-list field="availabalityMap" list="availabalityList"/>
+            <clear-field field="availabalityMap"/>
+        </iterate>
+        <field-to-result field="availabalityList"/>
+    </simple-method>
 </simple-methods>

Modified: ofbiz/trunk/applications/order/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services.xml?rev=818715&r1=818714&r2=818715&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/services.xml Fri Sep 25 04:34:57 2009
@@ -1034,4 +1034,13 @@
         </description>
         <attribute name="orderId" mode="IN" type="String" optional="false"/>
     </service>
+    <service name="productAvailabalityByFacility" engine="simple" location="component://order/script/org/ofbiz/order/order/OrderServices.xml"
+            invoke="productAvailabalityByFacility" auth="true">
+        <description>
+            Calculate ATP and QOH According For each facility
+        </description>
+        <attribute name="productId" type="String" mode="IN" optional="false"/>
+        <attribute name="ownerPartyId" type="String" mode="IN" optional="true"/>
+        <attribute name="availabalityList" type="List" mode="OUT"/>
+    </service>
 </services>
\ No newline at end of file

Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml?rev=818715&r1=818714&r2=818715&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml Fri Sep 25 04:34:57 2009
@@ -1650,6 +1650,12 @@
     </request-map>
 
     <request-map uri="LookupContent"><security auth="true" https="true"/><response name="success" type="view" value="LookupContent"/></request-map>
+    <request-map uri="productAvailabalityByFacility">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="productAvailabalityByFacility"/>
+        <response name="success" type="view" value="showcart"/>
+        <response name="error" type="view" value="showcart"/>
+    </request-map>
     <!--
         These are just examples of reports developed using JasperReport and not really
         useful reports. In order to run them you'll have to follow the notes in the

Modified: ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcart.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcart.ftl?rev=818715&r1=818714&r2=818715&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcart.ftl (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcart.ftl Fri Sep 25 04:34:57 2009
@@ -23,28 +23,52 @@
         document.qohAtpForm.submit();
     }
 </script>
-
+<#if shoppingCart.getOrderType() == "PURCHASE_ORDER">
+  <#assign target="productAvailabalityByFacility">
+<#else>
+  <#assign target="getProductInventoryAvailable">
+</#if>
 <div class="screenlet">
     <div class="screenlet-body">
-      <div>
-        <#if quantityOnHandTotal?exists && availableToPromiseTotal?exists && (productId)?exists>
-          <ul>
-            <li>
-              <label>${uiLabelMap.ProductQuantityOnHand}</label>: ${quantityOnHandTotal}
-            </li>
-            <li>
-              <label>${uiLabelMap.ProductAvailableToPromise}</label>: ${availableToPromiseTotal}
-            </li>
-          </ul>
+      <#if shoppingCart.getOrderType() == "SALES_ORDER">
+        <div>
+          <#if quantityOnHandTotal?exists && availableToPromiseTotal?exists && (productId)?exists>
+            <ul>
+              <li>
+                <label>${uiLabelMap.ProductQuantityOnHand}</label>: ${quantityOnHandTotal}
+              </li>
+              <li>
+                <label>${uiLabelMap.ProductAvailableToPromise}</label>: ${availableToPromiseTotal}
+              </li>
+            </ul>
+          </#if>
+        </div>
+      <#else>
+        <#if parameters.availabalityList?has_content>
+          <table>
+            <tr>
+              <td>${uiLabelMap.Facility}</td>
+              <td>${uiLabelMap.ProductQuantityOnHand}</td>
+              <td>${uiLabelMap.ProductAvailableToPromise}</td>
+            </tr>
+            <#list parameters.availabalityList as availabality>
+               <tr>
+                 <td>${availabality.facilityId}</td>
+                 <td>${availabality.quantityOnHandTotal}</td>
+                 <td>${availabality.availableToPromiseTotal}</td>
+               </tr>
+            </#list>
+          </table>
         </#if>
-      </div>
+      </#if>
       <table border="0" cellspacing="0" cellpadding="0">
         <tr>
           <td>
-            <form name="qohAtpForm" method="post" action="<@o...@ofbizUrl>">
+            <form name="qohAtpForm" method="post" action="<@o...@ofbizUrl>">
               <fieldset>
                 <input type="hidden" name="facilityId" value="${facilityId?if_exists}"/>
                 <input type="hidden" name="productId"/>
+                <input type="hidden" id="ownerPartyId" name="ownerPartyId" value="${shoppingCart.getBillToCustomerPartyId()?if_exists}" />
               </fieldset>
             </form>
             <form method="post" action="<@o...@ofbizUrl>" name="quickaddform" style="margin: 0;">