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> |
Free forum by Nabble | Edit this page |