Author: apatel
Date: Thu Sep 20 12:58:03 2007 New Revision: 577898 URL: http://svn.apache.org/viewvc?rev=577898&view=rev Log: added two report to get value of stock Inventory Added: ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/InventoryItemTotals.bsh Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.properties ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml ofbiz/trunk/applications/product/widget/facility/FacilityScreens.xml Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.properties URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.properties?rev=577898&r1=577897&r2=577898&view=diff ============================================================================== --- ofbiz/trunk/applications/product/config/ProductUiLabels.properties (original) +++ ofbiz/trunk/applications/product/config/ProductUiLabels.properties Thu Sep 20 12:58:03 2007 @@ -434,6 +434,7 @@ ProductCopyProductCategoryMembersToAnotherCategory=Copy Product Category Members to Another Category ProductCostPrice=Cost Price ProductCosts=Costs +ProductCostPrice=Cost Price ProductCouldNotFindFacilityWithId=Could Not Find Facility with ID ProductCouldNotFindProduct=Could Not Find Product with ID ProductCouldNotFindProductCategoryWithId=Could not Find Product Category with Id @@ -705,6 +706,8 @@ ProductInventoryItems=Inventory Items ProductInventoryItemsFor=Inventory Items for ProductInventoryItemsToPick=Inventory Items to Pick +ProductInventoryItemTotals=Inventory Item Totals +ProductInventoryItemGrandTotals=Inventory Item Grand Totals ProductInventoryMessage=Inventory Message ProductInventoryReceive=Receive Inventory ProductInventoryRequiredProduct=Should inventory be required to purchase this product? If not specified defaults to the Catalog setting. Added: ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/InventoryItemTotals.bsh URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/InventoryItemTotals.bsh?rev=577898&view=auto ============================================================================== --- ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/InventoryItemTotals.bsh (added) +++ ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/inventory/InventoryItemTotals.bsh Thu Sep 20 12:58:03 2007 @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.util.*; +import javolution.util.FastList; +import org.ofbiz.base.util.UtilMisc; +import org.ofbiz.entity.*; +import org.ofbiz.entity.condition.*; +import org.ofbiz.entity.transaction.*; + +delegator = request.getAttribute("delegator"); +dispatcher = request.getAttribute("dispatcher"); + +action = request.getParameter("action"); + +inventoryItemTotals = FastList.newInstance(); +qohGrandTotal = 0.0; +atpGrandTotal = 0.0; +costPriceGrandTotal = 0.0; +retailPriceGrandTotal = 0.0; +totalCostPriceGrandTotal = 0.0; +totalRetailPriceGrandTotal = 0.0; +boolean beganTransaction = false; +if (action != null) { + conditions = UtilMisc.toList(new EntityExpr("statusId", EntityOperator.NOT_EQUAL, "INV_DELIVERED")); + conditions.add(new EntityExpr("statusId", EntityOperator.EQUALS, null)); + conditionList = new EntityConditionList(conditions, EntityOperator.OR); + try { + beganTransaction = TransactionUtil.begin(); + invItemListItr = delegator.findListIteratorByCondition("InventoryItem", conditionList, null, UtilMisc.toList("productId")); + while ((inventoryItem = invItemListItr.next()) != null) { + productId = inventoryItem.getString("productId"); + product = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", productId)); + productFacility = delegator.findByPrimaryKey("ProductFacility", UtilMisc.toMap("productId", productId, "facilityId", facilityId)); + if (productFacility != null) { + quantityOnHandTotal = inventoryItem.getDouble("quantityOnHandTotal"); + availableToPromiseTotal = inventoryItem.getDouble("availableToPromiseTotal"); + costPrice = inventoryItem.getDouble("unitCost"); + retailPrice = 0.0; + productPrices = product.getRelated("ProductPrice"); + if (productPrices != null) { + productPriceItr = productPrices.iterator(); + while (productPriceItr.hasNext()) { + productPrice = productPriceItr.next(); + if (("DEFAULT_PRICE").equals(productPrice.getString("productPriceTypeId"))) { + retailPrice = productPrice.getDouble("price"); + } + } + } + + totalCostPrice = costPrice * quantityOnHandTotal; + totalRetailPrice = retailPrice * availableToPromiseTotal; + qohGrandTotal += quantityOnHandTotal; + atpGrandTotal += availableToPromiseTotal; + costPriceGrandTotal += costPrice; + retailPriceGrandTotal += retailPrice; + totalCostPriceGrandTotal += totalCostPrice; + totalRetailPriceGrandTotal += totalRetailPrice; + + resultMap = UtilMisc.toMap("productId", product.getString("productId"), "quantityOnHand", quantityOnHandTotal, "availableToPromise", availableToPromiseTotal, + "costPrice", costPrice, "retailPrice", retailPrice); + resultMap.put("totalCostPrice", totalCostPrice); + resultMap.put("totalRetailPrice", totalRetailPrice); + inventoryItemTotals.add(resultMap); + } + } + invItemListItr.close(); + } catch (GenericEntityException e) { + String errMsg = "Failure in operation, rolling back transaction"; + Debug.logError(e, errMsg, "findInventoryItemsByLabels"); + try { + // only rollback the transaction if we started one... + TransactionUtil.rollback(beganTransaction, errMsg, e); + } catch (GenericEntityException e2) { + Debug.logError(e2, "Could not rollback transaction: " + e2.toString(), "findInventoryItemsByLabels"); + } + // after rolling back, rethrow the exception + throw e; + } finally { + // only commit the transaction if we started one... this will throw an exception if it fails + TransactionUtil.commit(beganTransaction); + } + +} + +inventoryItemGrandTotals = FastList.newInstance(); +inventoryItemGrandTotals.add(UtilMisc.toMap("qohGrandTotal", qohGrandTotal, "atpGrandTotal", atpGrandTotal, + "totalCostPriceGrandTotal", totalCostPriceGrandTotal, "totalRetailPriceGrandTotal", totalRetailPriceGrandTotal)); + +context.put("inventoryItemTotals", inventoryItemTotals); +context.put("inventoryItemGrandTotals", inventoryItemGrandTotals); 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?rev=577898&r1=577897&r2=577898&view=diff ============================================================================== --- ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/product/webapp/facility/WEB-INF/controller.xml Thu Sep 20 12:58:03 2007 @@ -1127,6 +1127,14 @@ <security https="true" auth="true"/> <response name="success" type="view" value="InventoryReports"/> </request-map> + <request-map uri="InventoryItemTotals"> + <security https="true" auth="true"/> + <response name="success" type="view" value="InventoryItemTotals"/> + </request-map> + <request-map uri="InventoryItemGrandTotals"> + <security https="true" auth="true"/> + <response name="success" type="view" value="InventoryItemGrandTotals"/> + </request-map> <!-- ================ Lookup Requests ================= --> <request-map uri="LookupOrderHeaderAndShipInfo"><security https="true" auth="true"/><response name="success" type="view" value="LookupOrderHeaderAndShipInfo"/></request-map> @@ -1211,6 +1219,8 @@ <view-map name="QuickShipOrder" type="screen" page="component://product/widget/facility/ShipmentScreens.xml#QuickShipOrder"/> <view-map name="InventoryReports" type="screen" page="component://product/widget/facility/ReportScreens.xml#InventoryReports"/> + <view-map name="InventoryItemTotals" type="screen" page="component://product/widget/facility/FacilityScreens.xml#InventoryItemTotals"/> + <view-map name="InventoryItemGrandTotals" type="screen" page="component://product/widget/facility/FacilityScreens.xml#InventoryItemGrandTotals"/> <view-map name="LookupOrderHeaderAndShipInfo" type="screen" page="component://order/widget/ordermgr/LookupScreens.xml#LookupOrderHeaderAndShipInfo"/> <view-map name="LookupPurchaseOrderHeaderAndShipInfo" type="screen" page="component://order/widget/ordermgr/LookupScreens.xml#LookupPurchaseOrderHeaderAndShipInfo"/> 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?rev=577898&r1=577897&r2=577898&view=diff ============================================================================== --- ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml (original) +++ ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml Thu Sep 20 12:58:03 2007 @@ -343,4 +343,23 @@ </field> <field name="submitButton" title="${uiLabelMap.CommonSubmit}"><submit button-type="button"/></field> </form> + <form name="ListInventoryItemTotals" type="list" target="" title="" list-name="inventoryItemTotals" + default-title-style="tableheadtext" default-widget-style="tabletext" default-tooltip-style="tabletext" + paginate-target="InventoryItemTotals" override-list-size="${overrideListSize}"> + + <field name="inventoryItemGrandTotals"><hidden/></field> + <field name="productId" title="${uiLabelMap.ProductProductId}"><display/></field> + <field name="quantityOnHand" title="${uiLabelMap.ProductQoh}" widget-area-style="tabletextright"><display/></field> + <field name="availableToPromise" title="${uiLabelMap.ProductAtp}" widget-area-style="tabletextright"><display/></field> + <field name="costPrice" title="${uiLabelMap.ProductCostPrice}" widget-area-style="tabletextright"><display/></field> + <field name="retailPrice" title="${uiLabelMap.ProductRetailPrice}" widget-area-style="tabletextright"><display/></field> + <field name="totalCostPrice" title="${uiLabelMap.CommonTotal} ${uiLabelMap.ProductCostPrice}" widget-area-style="tabletextright"><display/></field> + <field name="totalRetailPrice" title="${uiLabelMap.CommonTotal} ${uiLabelMap.ProductRetailPrice}" widget-area-style="tabletextright"><display/></field> + </form> + <form name="ListInventoryItemGrandTotals" type="list" list-name="inventoryItemGrandTotals"> + <field name="qohGrandTotal" title="${uiLabelMap.ProductQoh} ${uiLabelMap.CommonTotal} ${uiLabelMap.CommonQty}" widget-area-style="tabletextright"><display/></field> + <field name="atpGrandTotal" title="${uiLabelMap.ProductAtp} ${uiLabelMap.CommonTotal} ${uiLabelMap.CommonQty}" widget-area-style="tabletextright"><display/></field> + <field name="totalCostPriceGrandTotal" title="${uiLabelMap.CommonTotal} ${uiLabelMap.ProductCostPrice}" widget-area-style="tabletextright"><display/></field> + <field name="totalRetailPriceGrandTotal" title="${uiLabelMap.CommonTotal} ${uiLabelMap.ProductRetailPrice}" widget-area-style="tabletextright"><display/></field> + </form> </forms> Modified: ofbiz/trunk/applications/product/widget/facility/FacilityScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/facility/FacilityScreens.xml?rev=577898&r1=577897&r2=577898&view=diff ============================================================================== --- ofbiz/trunk/applications/product/widget/facility/FacilityScreens.xml (original) +++ ofbiz/trunk/applications/product/widget/facility/FacilityScreens.xml Thu Sep 20 12:58:03 2007 @@ -244,6 +244,8 @@ <!--<link target="ViewFacilityInventoryByProductSimple?facilityId=${facilityId}" text="${uiLabelMap.CommonPrint}" style="buttontext"/>--> <link target="ViewFacilityInventoryByProductReport?${searchParameterString}" text="${uiLabelMap.CommonPrint}" style="buttontext"/> <link target="ViewFacilityInventoryByProductExport?${searchParameterString}" text="${uiLabelMap.CommonExport}" style="buttontext"/> + <link target="InventoryItemTotals?facilityId=${facilityId}&action=Y" text="${uiLabelMap.ProductInventoryItemTotals}" style="buttontext"/> + <link target="InventoryItemGrandTotals?facilityId=${facilityId}&action=Y" text="${uiLabelMap.ProductInventoryItemGrandTotals}" style="buttontext"/> </container> <include-form name="FindFacilityInventoryByProduct" location="component://product/webapp/facility/facility/FacilityForms.xml"/> @@ -364,6 +366,56 @@ </section> </screen> + <screen name="InventoryItemTotals"> + <section> + <actions> + <set field="titleProperty" value="PageTitleEditFacilityInventoryItems"/> + <set field="headerItem" value="facility"/> + <set field="tabButtonItem" value="ViewFacilityInventoryByProduct"/> + <set field="facilityId" from-field="parameters.facilityId"/> + <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/> + <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="50"/> + + <entity-one entity-name="Facility" value-name="facility" use-cache="true"/> + <script location="component://product/webapp/facility/WEB-INF/actions/inventory/InventoryItemTotals.bsh"/> + </actions> + <widgets> + <decorator-screen name="CommonFacilityDecorator" location="${parameters.commonFacilityDecoratorLocation}"> + <decorator-section name="body"> + <container> + <label style="head2" text="${uiLabelMap.ProductInventoryItemTotals} ${uiLabelMap.CommonFor} ${facility.facilityName}"/> + </container> + <include-form name="ListInventoryItemTotals" location="component://product/webapp/facility/facility/FacilityForms.xml"/> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="InventoryItemGrandTotals"> + <section> + <actions> + <set field="titleProperty" value="PageTitleEditFacilityInventoryItems"/> + <set field="headerItem" value="facility"/> + <set field="tabButtonItem" value="ViewFacilityInventoryByProduct"/> + <set field="facilityId" from-field="parameters.facilityId"/> + + <entity-one entity-name="Facility" value-name="facility" use-cache="true"/> + <script location="component://product/webapp/facility/WEB-INF/actions/inventory/InventoryItemTotals.bsh"/> + </actions> + <widgets> + <decorator-screen name="CommonFacilityDecorator" location="${parameters.commonFacilityDecoratorLocation}"> + <decorator-section name="body"> + <container> + <label style="head2" text="${uiLabelMap.ProductInventoryItemGrandTotals} ${uiLabelMap.CommonFor} ${facility.facilityName}"/> + </container> + <include-form name="ListInventoryItemGrandTotals" location="component://product/webapp/facility/facility/FacilityForms.xml"/> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="EditFacilityGroups"> <section> <actions> |
Free forum by Nabble | Edit this page |