You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by si...@apache.org on 2007/01/11 00:52:09 UTC

svn commit: r495042 - in /ofbiz/trunk/applications/product: config/ProductUiLabels.properties webapp/facility/WEB-INF/actions/inventory/FindFacilityPhysicalInventory.bsh webapp/facility/facility/FacilityForms.xml

Author: sichen
Date: Wed Jan 10 15:52:08 2007
New Revision: 495042

URL: http://svn.apache.org/viewvc?view=rev&rev=495042
Log:
Improve mass inventory variance form to show total product ATP/QOH.  Add some labels for the form.

Modified:
    ofbiz/trunk/applications/product/config/ProductUiLabels.properties
    ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/FindFacilityPhysicalInventory.bsh
    ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml

Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.properties?view=diff&rev=495042&r1=495041&r2=495042
==============================================================================
--- ofbiz/trunk/applications/product/config/ProductUiLabels.properties (original)
+++ ofbiz/trunk/applications/product/config/ProductUiLabels.properties Wed Jan 10 15:52:08 2007
@@ -665,12 +665,14 @@
 ProductIssuedQuantity=Issued Quantity
 ProductIssuedReservedTotalOrdered=[Issued + Reserved=Total]=Ordered
 ProductItem=Item
+ProductItemATP=Item ATP
 ProductItemDescription=Item Description
 ProductItemId=Item ID
 ProductItemIdGiftPurchaseFreeShipping=The Item ID on an action is a Product ID for Gift With Purchase actions or for Free Shipping actions it is Shipment Method Type ID to give free shipping on (if blank any Shipment Method Types may receive free shipping)
 ProductItemOutofStock=This item is out of stock
 ProductItemPrc=Item Prc
 ProductItemProduct=Item : Product
+ProductItemQOH=Item QOH
 ProductItemType=Item Type
 ProductItems=Items
 ProductItemsIssued=Items Issued
@@ -945,6 +947,8 @@
 ProductPrimaryShipGroupSeqId=Primary Ship Group Seq Id
 ProductProdCatContentTypeId=Prod Cat Content Type Id
 ProductProduct=Product
+ProductProductATP=Product ATP
+ProductProductATPVar=ATP Var
 ProductProductCatalogsList=Product Catalogs List
 ProductProductCategory=Product Category
 ProductProductCategoryId=Product Category ID
@@ -969,6 +973,8 @@
 ProductProductNotReviewedYet=This product hasn't been reviewed yet
 ProductProductNotYetMadeAvailable=This product has not yet been made available for sale
 ProductProductPage=Product Page
+ProductProductQOH=Product QOH
+ProductProductQOHVar=QOH Var
 ProductProductPromotionsList=Product Promotions List
 ProductProductStore=Product Store
 ProductProductStoreEmailSettings=Product Store Email Settings

Modified: ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/FindFacilityPhysicalInventory.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/FindFacilityPhysicalInventory.bsh?view=diff&rev=495042&r1=495041&r2=495042
==============================================================================
--- ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/FindFacilityPhysicalInventory.bsh (original)
+++ ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/FindFacilityPhysicalInventory.bsh Wed Jan 10 15:52:08 2007
@@ -15,16 +15,23 @@
  * under the License.
  */
 
+import java.util.HashSet;
+import javolution.util.FastList;
+import javolution.util.FastMap;
+
 import org.ofbiz.base.util.*;
+import org.ofbiz.service.ServiceUtil;
 import org.ofbiz.entity.condition.*;
 
+facilityId = parameters.get("facilityId");
+
 // fields to search by
 productId = parameters.get("productId");
 internalName = parameters.get("internalName");
 
 // build conditions
 conditions = UtilMisc.toList(
-        new EntityExpr("facilityId", EntityOperator.EQUALS, parameters.get("facilityId")),
+        new EntityExpr("facilityId", EntityOperator.EQUALS, facilityId),
         new EntityExpr("inventoryItemTypeId", EntityOperator.EQUALS, "NON_SERIAL_INV_ITEM")
         );
 if (productId != null && productId.trim().length() != 0) {
@@ -36,5 +43,34 @@
 
 if (conditions.size() > 2) {
     physicalInventory = delegator.findByAnd("ProductInventoryItem", conditions, UtilMisc.toList("productId"));
-    context.put("physicalInventory", physicalInventory);
+
+    // also need the overal product QOH and ATP for each product
+    atpMap = FastMap.newInstance();
+    qohMap = FastMap.newInstance();
+    
+    // build a list of productIds
+    productIds = new HashSet();
+    for (iter = physicalInventory.iterator(); iter.hasNext(); ) {
+        productIds.add(iter.next().get("productId"));
+    }
+
+    // for each product, call the inventory counting service
+    for (iter = productIds.iterator(); iter.hasNext(); ) {
+        productId = iter.next();
+        result = dispatcher.runSync("getInventoryAvailableByFacility", UtilMisc.toMap("facilityId", facilityId, "productId", productId));
+        if (!ServiceUtil.isError(result)) {
+            atpMap.put(productId, result.get("availableToPromiseTotal"));
+            qohMap.put(productId, result.get("quantityOnHandTotal"));
+        }
+    }
+
+    // associate the quantities to each row and store the combined data as our list
+    physicalInventoryCombined = FastList.newInstance();
+    for (iter = physicalInventory.iterator(); iter.hasNext(); ) {
+        row = iter.next().getAllFields();
+        row.put("productATP", atpMap.get(row.get("productId")));
+        row.put("productQOH", qohMap.get(row.get("productId")));
+        physicalInventoryCombined.add(row);
+    }
+    context.put("physicalInventory", physicalInventoryCombined);
 }

Modified: ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml?view=diff&rev=495042&r1=495041&r2=495042
==============================================================================
--- ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml (original)
+++ ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml Wed Jan 10 15:52:08 2007
@@ -219,15 +219,17 @@
             <hyperlink description="${productId}" target="/catalog/control/EditProductInventoryItems?productId=${productId}" target-type="inter-app"/>
         </field>
         <field name="internalName"><display/></field>
-        <field name="availableToPromiseTotal"><display/></field>
-        <field name="quantityOnHandTotal"><display/></field>
+        <field name="availableToPromiseTotal" title="${uiLabelMap.ProductItemATP}"><display/></field>
+        <field name="quantityOnHandTotal" title="${uiLabelMap.ProductItemQOH}"><display/></field>
+        <field name="productATP" title="${uiLabelMap.ProductProductATP}"><display/></field>
+        <field name="productQOH" title="${uiLabelMap.ProductProductQOH}"><display/></field>
         <field name="varianceReasonId">
             <drop-down allow-empty="false">
                 <entity-options entity-name="VarianceReason" description="${description}"/>
             </drop-down>
         </field>
-        <field name="availableToPromiseVar"><text/></field>
-        <field name="quantityOnHandVar"><text/></field>
+        <field name="availableToPromiseVar" title="${uiLabelMap.ProductProductATPVar}"><text size="6"/></field>
+        <field name="quantityOnHandVar" title="${uiLabelMap.ProductProductQOHVar}"><text size="6"/></field>
         <field name="_rowSubmit" title="${uiLabelMap.CommonSelect}"><check/></field>
         <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit">
             <submit/>