svn commit: r501970 - in /ofbiz/trunk/applications/order: entitydef/entitymodel_view.xml src/org/ofbiz/order/requirement/RequirementServices.java webapp/ordermgr/requirement/RequirementForms.xml

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

svn commit: r501970 - in /ofbiz/trunk/applications/order: entitydef/entitymodel_view.xml src/org/ofbiz/order/requirement/RequirementServices.java webapp/ordermgr/requirement/RequirementForms.xml

sichen
Author: sichen
Date: Wed Jan 31 12:00:42 2007
New Revision: 501970

URL: http://svn.apache.org/viewvc?view=rev&rev=501970
Log:
Approved requirements list now shows the quantity sold of each product.  It reports the last 6 months of sales.

Modified:
    ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml
    ofbiz/trunk/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java
    ofbiz/trunk/applications/order/webapp/ordermgr/requirement/RequirementForms.xml

Modified: ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml?view=diff&rev=501970&r1=501969&r2=501970
==============================================================================
--- ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml (original)
+++ ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml Wed Jan 31 12:00:42 2007
@@ -766,6 +766,7 @@
       <member-entity entity-alias="II" entity-name="ItemIssuance"/>
       <alias entity-alias="OH" name="orderTypeId" group-by="true"/>
       <alias entity-alias="OH" name="orderStatusId" field="statusId" group-by="false"/>
+      <alias entity-alias="OH" name="orderDate" group-by="false"/>
       <alias entity-alias="OI" name="orderItemStatusId" field="statusId" group-by="false"/>
       <alias entity-alias="OI" name="productId" group-by="true"/>
       <alias entity-alias="II" name="issuedDateTime" group-by="false"/>

Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java?view=diff&rev=501970&r1=501969&r2=501970
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java Wed Jan 31 12:00:42 2007
@@ -19,6 +19,7 @@
 package org.ofbiz.order.requirement;
 
 import java.util.*;
+import java.sql.Timestamp;
 
 import javolution.util.FastList;
 import javolution.util.FastMap;
@@ -77,11 +78,15 @@
             Map suppliers = FastMap.newInstance();
             Map gids = FastMap.newInstance();
             Map inventories = FastMap.newInstance();
+            Map productsSold = FastMap.newInstance();
 
             // to count quantity and distinct products in list
             double quantity = 0.0;
             Set products = new HashSet();
 
+            // time period to count products ordered from, six months ago and the 1st of that month
+            Timestamp timePeriodStart = UtilDateTime.getMonthStart(UtilDateTime.nowTimestamp(), 0, -6);
+
             // join in fields with extra data about the suppliers and products
             List requirements = FastList.newInstance();
             for (Iterator iter = requirementAndRoles.iterator(); iter.hasNext(); ) {
@@ -128,6 +133,26 @@
                         union.put("qoh", inventory.get("quantityOnHandTotal"));
                         union.put("atp", inventory.get("availableToPromiseTotal"));
                     }
+                }
+
+                // how many of the products were sold (note this is for a fixed time period across all product stores)
+                Double sold = (Double) productsSold.get(productId);
+                if (sold == null) {
+                    EntityCondition prodConditions = new EntityConditionList( UtilMisc.toList(
+                                new EntityExpr("productId", EntityOperator.EQUALS, productId),
+                                new EntityExpr("orderTypeId", EntityOperator.EQUALS, "SALES_ORDER"),
+                                new EntityExpr("orderStatusId", EntityOperator.NOT_IN, UtilMisc.toList("ORDER_REJECTED", "ORDER_CANCELLED")),
+                                new EntityExpr("orderItemStatusId", EntityOperator.NOT_IN, UtilMisc.toList("ITEM_REJECTED", "ITEM_CANCELLED")),
+                                new EntityExpr("orderDate", EntityOperator.GREATER_THAN_EQUAL_TO, timePeriodStart)
+                                ), EntityOperator.AND);
+                    GenericValue count = EntityUtil.getFirst( delegator.findByCondition("OrderItemQuantityReportGroupByProduct", prodConditions, UtilMisc.toList("quantityOrdered"), null) );
+                    if (count != null) {
+                        sold = count.getDouble("quantityOrdered");
+                        if (sold != null) productsSold.put(productId, sold);
+                    }
+                }
+                if (sold != null) {
+                    union.put("qtySold", sold);
                 }
 
                 // keep a running total of distinct products and quantity to order

Modified: ofbiz/trunk/applications/order/webapp/ordermgr/requirement/RequirementForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/requirement/RequirementForms.xml?view=diff&rev=501970&r1=501969&r2=501970
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/requirement/RequirementForms.xml (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/requirement/RequirementForms.xml Wed Jan 31 12:00:42 2007
@@ -306,11 +306,12 @@
         <field name="partyId" title="${uiLabelMap.ProductSupplier}"><display/></field>
         <field name="supplierProductId" title="${uiLabelMap.ProductSupplierProductId}"><display/></field>
         <field name="idValue" title="UPCA"><display/></field>
-        <field name="minimumOrderQuantity" widget-area-style="tabletextright"><display/></field>
+        <field name="minimumOrderQuantity" title="${uiLabelMap.FormFieldTitle_minimumOrderQuantity}" widget-area-style="tabletextright"><display/></field>
         <field name="lastPrice" widget-area-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
         <field name="requiredByDate"><display/></field>
         <field name="atp" title="${uiLabelMap.ProductAtp}" widget-area-style="tabletextright"><display/></field>
         <field name="qoh" title="${uiLabelMap.ProductQoh}" widget-area-style="tabletextright"><display/></field>
+        <field name="qtySold" title="${uiLabelMap.OrderQuantitySold}" widget-area-style="tabletextright"><display/></field>
         <field name="quantity"><text size="4"/></field>
         <field name="comments"><display/></field>
         <field name="_rowSubmit" title="${uiLabelMap.CommonSelect}"><check/></field>