| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| 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. |
| --> |
| <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15" id="1"> |
| <property name="createdBy">Eclipse BIRT Designer Version 2.2.2.r222_v20071226 Build <2.2.2.v20080226-1155></property> |
| <property name="units">in</property> |
| <property name="comments">Copyright (c) 2007 <<Your Company Name here>></property> |
| <html-property name="description">Creates a blank report with no predefined content.</html-property> |
| <list-property name="userProperties"> |
| <structure> |
| <property name="name">Data Cube.Inventory.x</property> |
| <property name="type">integer</property> |
| <property name="isVisible">false</property> |
| </structure> |
| <structure> |
| <property name="name">Data Cube.Inventory.y</property> |
| <property name="type">integer</property> |
| <property name="isVisible">false</property> |
| </structure> |
| <structure> |
| <property name="name">Data Cube.productOrd.NewTabularHierarchy1.x</property> |
| <property name="type">integer</property> |
| <property name="isVisible">false</property> |
| </structure> |
| <structure> |
| <property name="name">Data Cube.productOrd.NewTabularHierarchy1.y</property> |
| <property name="type">integer</property> |
| <property name="isVisible">false</property> |
| </structure> |
| <structure> |
| <property name="name">Data Cube.Inventory.width</property> |
| <property name="type">integer</property> |
| <property name="isVisible">false</property> |
| </structure> |
| <structure> |
| <property name="name">Data Cube.Inventory.height</property> |
| <property name="type">integer</property> |
| <property name="isVisible">false</property> |
| </structure> |
| </list-property> |
| <property name="Data Cube.Inventory.x">239</property> |
| <property name="Data Cube.Inventory.y">50</property> |
| <property name="Data Cube.productOrd.NewTabularHierarchy1.x">20</property> |
| <property name="Data Cube.productOrd.NewTabularHierarchy1.y">3</property> |
| <property name="Data Cube.Inventory.width">150</property> |
| <property name="Data Cube.Inventory.height">200</property> |
| <method name="initialize"><![CDATA[importPackage(Packages.org.apache.ofbiz.base.util) |
| |
| |
| module = "InventoryReport.rptdesign";]]></method> |
| <text-property name="displayName">Blank Report</text-property> |
| <property name="iconFile">/templates/blank_report.gif</property> |
| <parameters> |
| <scalar-parameter name="facilityId" id="186"> |
| <property name="valueType">static</property> |
| <property name="dataType">string</property> |
| <property name="paramType">simple</property> |
| <property name="isRequired">false</property> |
| <property name="controlType">text-box</property> |
| <property name="distinct">true</property> |
| <structure name="format"> |
| <property name="category">Unformatted</property> |
| </structure> |
| </scalar-parameter> |
| </parameters> |
| <data-sources> |
| <script-data-source name="OFBiz" id="8"/> |
| </data-sources> |
| <data-sets> |
| <script-data-set name="Inventory" id="9"> |
| <list-property name="resultSetHints"> |
| <structure> |
| <property name="position">1</property> |
| <property name="name">productId</property> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="position">2</property> |
| <property name="name">quantityOnHand</property> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="position">3</property> |
| <property name="name">availableToPromise</property> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="position">4</property> |
| <property name="name">retailPrice</property> |
| <property name="dataType">float</property> |
| </structure> |
| <structure> |
| <property name="position">5</property> |
| <property name="name">productName</property> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="position">6</property> |
| <property name="name">datetimeReceived</property> |
| <property name="dataType">date-time</property> |
| </structure> |
| </list-property> |
| <list-property name="columnHints"> |
| <structure> |
| <property name="columnName">productId</property> |
| </structure> |
| <structure> |
| <property name="columnName">quantityOnHand</property> |
| </structure> |
| <structure> |
| <property name="columnName">availableToPromise</property> |
| </structure> |
| <structure> |
| <property name="columnName">retailPrice</property> |
| </structure> |
| <structure> |
| <property name="columnName">productName</property> |
| </structure> |
| <structure> |
| <property name="columnName">datetimeReceived</property> |
| </structure> |
| </list-property> |
| <structure name="cachedMetaData"> |
| <list-property name="resultSet"> |
| <structure> |
| <property name="position">1</property> |
| <property name="name">productId</property> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="position">2</property> |
| <property name="name">quantityOnHand</property> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="position">3</property> |
| <property name="name">availableToPromise</property> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="position">4</property> |
| <property name="name">retailPrice</property> |
| <property name="dataType">float</property> |
| </structure> |
| <structure> |
| <property name="position">5</property> |
| <property name="name">productName</property> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="position">6</property> |
| <property name="name">datetimeReceived</property> |
| <property name="dataType">date-time</property> |
| </structure> |
| </list-property> |
| </structure> |
| <property name="dataSource">OFBiz</property> |
| <method name="open"><![CDATA[inventories = null; |
| userLogin = null; |
| try { |
| userLogin = delegator.findOne("UserLogin",UtilMisc.toMap("userLoginId","admin"), false); |
| } catch(e) { |
| Debug.logError(e,""); |
| } |
| |
| inputInvent = new HashMap(); |
| inputInventFields = new HashMap(); |
| if(params!=null){ |
| inputInventFields.put("facilityId", params["facilityId"]); |
| inputInventFields.put("noConditionFind", "Y"); |
| //inputFields.put("productInternalName", params["internalName"]); |
| /* |
| inputFields.put("quantityOnHandTotal", params["offsetQOHQty"]); |
| inputFields.put("availableToPromiseTotal", params["offsetATPQty"]); |
| inputFields.put("productId", params["productId"]); |
| inputFields.put("productTypeId", params["productTypeId"]); |
| inputFields.put("searchInProductCategoryId", params["searchInProductCategoryId"]); |
| inputFields.put("productSupplierId", params["productSupplierId"]); |
| inputFields.put("productsSoldThruTimestamp", params["productsSoldThruTimestamp"]); |
| inputFields.put("statusId", params["statusId"]); |
| inputFields.put("VIEW_SIZE", params["VIEW_SIZE"]); |
| inputFields.put("monthsInPastLimit", params["monthsInPastLimit"]); |
| inputFields.put("fromDateSellThrough", params["fromDateSellThrough"]); |
| inputFields.put("thruDateSellThrough", params["thruDateSellThrough"]);*/ |
| } |
| inputInvent.put("userLogin",userLogin); |
| inputInvent.put("inputFields",inputInventFields); |
| inputInvent.put("entityName","InventoryItemSchema"); |
| inputInvent.put("orderBy","inventoryDateDateValue DESC"); |
| |
| try { |
| result = dispatcher.runSync("performFind", inputInvent); |
| inventories = result.get("listIt"); |
| } catch (e) { |
| Debug.logError(e, module); |
| }]]></method> |
| <method name="fetch"><![CDATA[if(inventories == null)return false; |
| if(inventory = inventories.next()){ |
| row["productId"] = inventory.getString("productProductId"); |
| row["productName"] = inventory.getString("productInternalName"); |
| row["quantityOnHand"] = inventory.getString("quantityOnHandTotal"); |
| row["availableToPromise"] = inventory.getString("availableToPromiseTotal"); |
| row["retailPrice"] = inventory.getString("unitCost"); |
| row["datetimeReceived"] = inventory.getString("inventoryDateDateValue"); |
| Debug.logInfo("-----------inventory---------"+inventory.getString("productProductId"),module); |
| return true; |
| }else{ |
| inventories.close(); |
| return false; |
| }]]></method> |
| </script-data-set> |
| <script-data-set name="Order" id="191"> |
| <list-property name="resultSetHints"> |
| <structure> |
| <property name="position">1</property> |
| <property name="name">quantity</property> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="position">2</property> |
| <property name="name">productOrderId</property> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="position">3</property> |
| <property name="name">orderDate</property> |
| <property name="dataType">any</property> |
| </structure> |
| </list-property> |
| <list-property name="columnHints"> |
| <structure> |
| <property name="columnName">quantity</property> |
| </structure> |
| <structure> |
| <property name="columnName">productOrderId</property> |
| </structure> |
| <structure> |
| <property name="columnName">orderDate</property> |
| </structure> |
| </list-property> |
| <structure name="cachedMetaData"> |
| <list-property name="resultSet"> |
| <structure> |
| <property name="position">1</property> |
| <property name="name">quantity</property> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="position">2</property> |
| <property name="name">productOrderId</property> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="position">3</property> |
| <property name="name">orderDate</property> |
| <property name="dataType">any</property> |
| </structure> |
| </list-property> |
| </structure> |
| <property name="dataSource">OFBiz</property> |
| <method name="open"><![CDATA[inputOrder = new HashMap(); |
| userLogin = null; |
| try { |
| userLogin = delegator.findOne("UserLogin",UtilMisc.toMap("userLoginId","admin"), false); |
| } catch(e) { |
| Debug.logError(e,""); |
| } |
| inputOrderFields = new HashMap(); |
| if(params!=null){ |
| inputOrderFields.put("orderDateDateValue_fld0_op", params["orderDateDateValue_fld0_op"]); |
| inputOrderFields.put("noConditionFind", "Y"); |
| } |
| |
| orders = null; |
| |
| inputOrder.put("userLogin",userLogin); |
| inputOrder.put("inputFields",inputOrderFields); |
| inputOrder.put("entityName","SalesOrderItemStarSchema"); |
| inputOrder.put("orderBy","orderDateDateValue DESC"); |
| try { |
| results = dispatcher.runSync("performFind", inputOrder); |
| orders = results.get("listIt"); |
| } catch (e) { |
| Debug.logError(e, module); |
| }]]></method> |
| <method name="fetch"><![CDATA[if(orders == null)return false; |
| if(order = orders.next()){ |
| row["productOrderId"] = order.getString("productProductId"); |
| row["quantity"] = order.getString("quantity"); |
| row["orderDate"] = order.getString("orderDateDescription"); |
| Debug.logInfo("++++++++++++order++++++++"+order.getString("quantity"),module); |
| return true; |
| }else{ |
| orders.close(); |
| return false; |
| }]]></method> |
| </script-data-set> |
| </data-sets> |
| <styles> |
| <style name="crosstab-cell" id="4"> |
| <property name="borderBottomColor">#CCCCCC</property> |
| <property name="borderBottomStyle">solid</property> |
| <property name="borderBottomWidth">1pt</property> |
| <property name="borderLeftColor">#CCCCCC</property> |
| <property name="borderLeftStyle">solid</property> |
| <property name="borderLeftWidth">1pt</property> |
| <property name="borderRightColor">#CCCCCC</property> |
| <property name="borderRightStyle">solid</property> |
| <property name="borderRightWidth">1pt</property> |
| <property name="borderTopColor">#CCCCCC</property> |
| <property name="borderTopStyle">solid</property> |
| <property name="borderTopWidth">1pt</property> |
| </style> |
| <style name="crosstab" id="5"> |
| <property name="borderBottomColor">#CCCCCC</property> |
| <property name="borderBottomStyle">solid</property> |
| <property name="borderBottomWidth">1pt</property> |
| <property name="borderLeftColor">#CCCCCC</property> |
| <property name="borderLeftStyle">solid</property> |
| <property name="borderLeftWidth">1pt</property> |
| <property name="borderRightColor">#CCCCCC</property> |
| <property name="borderRightStyle">solid</property> |
| <property name="borderRightWidth">1pt</property> |
| <property name="borderTopColor">#CCCCCC</property> |
| <property name="borderTopStyle">solid</property> |
| <property name="borderTopWidth">1pt</property> |
| </style> |
| </styles> |
| <page-setup> |
| <simple-master-page name="Simple MasterPage" id="2"> |
| <property name="leftMargin">1.2333333333in</property> |
| <property name="rightMargin">1.3111111111in</property> |
| <page-footer> |
| <text id="3"> |
| <property name="contentType">html</property> |
| <text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property> |
| </text> |
| </page-footer> |
| </simple-master-page> |
| </page-setup> |
| <body> |
| <table id="68"> |
| <property name="marginTop">0pt</property> |
| <property name="textAlign">justify</property> |
| <property name="width">100%</property> |
| <property name="dataSet">Inventory</property> |
| <list-property name="boundDataColumns"> |
| <structure> |
| <property name="name">productId</property> |
| <expression name="expression">dataSetRow["productId"]</expression> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="name">quantityOnHand</property> |
| <expression name="expression">dataSetRow["quantityOnHand"]</expression> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="name">availableToPromise</property> |
| <expression name="expression">dataSetRow["availableToPromise"]</expression> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="name">retailPrice</property> |
| <expression name="expression">dataSetRow["retailPrice"]</expression> |
| <property name="dataType">float</property> |
| </structure> |
| <structure> |
| <property name="name">productName</property> |
| <expression name="expression">dataSetRow["productName"]</expression> |
| <property name="dataType">string</property> |
| </structure> |
| <structure> |
| <property name="name">datetimeReceived</property> |
| <expression name="expression">dataSetRow["datetimeReceived"]</expression> |
| <property name="dataType">date-time</property> |
| </structure> |
| <structure> |
| <property name="name">Column Binding</property> |
| <property name="displayName">Qoh</property> |
| <expression name="expression">dataSetRow["quantityOnHand"]</expression> |
| <property name="dataType">integer</property> |
| </structure> |
| <structure> |
| <property name="name">QoH</property> |
| <expression name="expression">dataSetRow["quantityOnHand"]</expression> |
| <property name="dataType">any</property> |
| <simple-property-list name="aggregateOn"> |
| <value>productId</value> |
| </simple-property-list> |
| <property name="aggregateFunction">SUM</property> |
| </structure> |
| <structure> |
| <property name="name">AtP</property> |
| <expression name="expression">dataSetRow["availableToPromise"]</expression> |
| <property name="dataType">integer</property> |
| <simple-property-list name="aggregateOn"> |
| <value>productId</value> |
| </simple-property-list> |
| <property name="aggregateFunction">SUM</property> |
| </structure> |
| <structure> |
| <property name="name">TotalSold</property> |
| <expression name="expression">dataSetRow["quantityOnHand"]-dataSetRow["availableToPromise"]</expression> |
| <property name="dataType">integer</property> |
| <simple-property-list name="aggregateOn"> |
| <value>productId</value> |
| </simple-property-list> |
| <property name="aggregateFunction">SUM</property> |
| </structure> |
| </list-property> |
| <property name="repeatHeader">false</property> |
| <property name="sortByGroups">true</property> |
| <column id="87"> |
| <property name="width">1.1111111111in</property> |
| </column> |
| <column id="88"> |
| <property name="width">1.1222222222in</property> |
| </column> |
| <column id="89"> |
| <property name="width">1.0777777778in</property> |
| </column> |
| <column id="90"> |
| <property name="width">1.3in</property> |
| </column> |
| <column id="91"/> |
| <header> |
| <row id="69"> |
| <property name="fontSize">small</property> |
| <property name="fontWeight">bold</property> |
| <property name="color">green</property> |
| <property name="borderBottomColor">#808080</property> |
| <property name="borderBottomStyle">solid</property> |
| <property name="borderBottomWidth">thin</property> |
| <property name="textAlign">center</property> |
| <cell id="70"> |
| <label id="92"> |
| <property name="color">gray</property> |
| <text-property name="text">Product Id</text-property> |
| </label> |
| </cell> |
| <cell id="71"> |
| <label id="94"> |
| <property name="color">gray</property> |
| <text-property name="text">Quantiy on hand</text-property> |
| </label> |
| </cell> |
| <cell id="72"> |
| <label id="95"> |
| <property name="color">gray</property> |
| <text-property name="text">Available to promise</text-property> |
| </label> |
| </cell> |
| <cell id="73"> |
| <label id="96"> |
| <property name="color">gray</property> |
| <text-property name="text">Retail Price</text-property> |
| </label> |
| </cell> |
| <cell id="74"/> |
| </row> |
| </header> |
| <group id="168"> |
| <property name="groupName">productId</property> |
| <property name="interval">none</property> |
| <property name="sortDirection">asc</property> |
| <expression name="keyExpr">row["productId"]</expression> |
| <structure name="toc"> |
| <expression name="expressionValue">row["productId"]</expression> |
| </structure> |
| <property name="repeatHeader">true</property> |
| <property name="hideDetail">false</property> |
| <property name="pageBreakAfter">auto</property> |
| <property name="pageBreakBefore">auto</property> |
| <property name="pageBreakInside">auto</property> |
| <list-property name="sort"> |
| <structure> |
| <expression name="key">row["productId"]</expression> |
| <property name="direction">asc</property> |
| </structure> |
| </list-property> |
| <header> |
| <row id="169"> |
| <property name="height">1cm</property> |
| <property name="fontSize">small</property> |
| <property name="fontWeight">bold</property> |
| <property name="textAlign">center</property> |
| <property name="verticalAlign">middle</property> |
| <property name="pageBreakAfter">auto</property> |
| <cell id="170"> |
| <data id="181"> |
| <property name="resultSetColumn">productId</property> |
| </data> |
| </cell> |
| <cell id="171"> |
| <data id="380"> |
| <property name="resultSetColumn">QoH</property> |
| </data> |
| </cell> |
| <cell id="172"> |
| <data id="381"> |
| <property name="resultSetColumn">AtP</property> |
| </data> |
| </cell> |
| <cell id="173"> |
| <data id="384"> |
| <property name="resultSetColumn">retailPrice</property> |
| </data> |
| </cell> |
| <cell id="174"/> |
| </row> |
| </header> |
| <footer> |
| <row id="175"> |
| <cell id="176"/> |
| <cell id="177"/> |
| <cell id="178"/> |
| <cell id="179"/> |
| <cell id="180"/> |
| </row> |
| </footer> |
| </group> |
| <detail> |
| <row id="75"> |
| <property name="fontSize">small</property> |
| <property name="textAlign">center</property> |
| <cell id="76"/> |
| <cell id="77"/> |
| <cell id="78"/> |
| <cell id="79"/> |
| <cell id="80"/> |
| </row> |
| </detail> |
| <footer> |
| <row id="81"> |
| <property name="height">1cm</property> |
| <property name="fontSize">medium</property> |
| <property name="color">maroon</property> |
| <property name="textAlign">center</property> |
| <property name="verticalAlign">middle</property> |
| <cell id="82"/> |
| <cell id="83"/> |
| <cell id="84"/> |
| <cell id="85"/> |
| <cell id="86"/> |
| </row> |
| </footer> |
| </table> |
| <table id="193"> |
| <property name="width">100%</property> |
| <property name="dataSet">Order</property> |
| <list-property name="boundDataColumns"> |
| <structure> |
| <property name="name">quantity</property> |
| <expression name="expression">dataSetRow["quantity"]</expression> |
| <property name="dataType">any</property> |
| </structure> |
| <structure> |
| <property name="name">productOrderId</property> |
| <expression name="expression">dataSetRow["productOrderId"]</expression> |
| <property name="dataType">any</property> |
| </structure> |
| <structure> |
| <property name="name">sumSoldOutQty</property> |
| <expression name="expression">dataSetRow["quantity"]</expression> |
| <property name="dataType">any</property> |
| <simple-property-list name="aggregateOn"> |
| <value>productOrderId</value> |
| </simple-property-list> |
| <property name="aggregateFunction">SUM</property> |
| </structure> |
| <structure> |
| <property name="name">orderDate</property> |
| <expression name="expression">dataSetRow["orderDate"]</expression> |
| <property name="dataType">any</property> |
| </structure> |
| </list-property> |
| <column id="212"> |
| <property name="width">1.3333333333in</property> |
| </column> |
| <column id="213"> |
| <property name="width">0.2666666667in</property> |
| </column> |
| <column id="214"> |
| <property name="width">2.2444444444in</property> |
| </column> |
| <column id="215"> |
| <property name="width">0.8111111111in</property> |
| </column> |
| <column id="216"/> |
| <header> |
| <row id="194"> |
| <property name="height">0.367in</property> |
| <property name="borderBottomColor">#000000</property> |
| <property name="borderBottomStyle">solid</property> |
| <property name="borderBottomWidth">thin</property> |
| <property name="textAlign">center</property> |
| <cell id="195"> |
| <label id="416"> |
| <property name="color">gray</property> |
| <text-property name="text">Order Date</text-property> |
| </label> |
| </cell> |
| <cell id="196"/> |
| <cell id="197"> |
| <label id="413"> |
| <property name="fontWeight">bold</property> |
| <property name="color">gray</property> |
| <text-property name="text">Item sold out summary</text-property> |
| </label> |
| </cell> |
| <cell id="198"/> |
| <cell id="199"> |
| <label id="287"> |
| <property name="fontWeight">bold</property> |
| <property name="color">gray</property> |
| <text-property name="text">Sold out qty</text-property> |
| </label> |
| </cell> |
| </row> |
| </header> |
| <group id="291"> |
| <property name="groupName">productOrderId</property> |
| <property name="interval">none</property> |
| <property name="sortDirection">asc</property> |
| <expression name="keyExpr">row["productOrderId"]</expression> |
| <structure name="toc"> |
| <expression name="expressionValue">row["productOrderId"]</expression> |
| </structure> |
| <property name="repeatHeader">true</property> |
| <property name="hideDetail">false</property> |
| <property name="pageBreakAfter">auto</property> |
| <property name="pageBreakBefore">auto</property> |
| <property name="pageBreakInside">auto</property> |
| <header> |
| <row id="292"> |
| <property name="height">0.344in</property> |
| <property name="textAlign">center</property> |
| <property name="verticalAlign">middle</property> |
| <cell id="293"> |
| <data id="415"> |
| <property name="resultSetColumn">orderDate</property> |
| </data> |
| </cell> |
| <cell id="294"/> |
| <cell id="295"> |
| <data id="304"> |
| <property name="fontWeight">bold</property> |
| <property name="resultSetColumn">productOrderId</property> |
| </data> |
| </cell> |
| <cell id="296"/> |
| <cell id="297"> |
| <data id="305"> |
| <property name="marginTop">0pt</property> |
| <property name="paddingTop">1pt</property> |
| <property name="resultSetColumn">sumSoldOutQty</property> |
| </data> |
| </cell> |
| </row> |
| </header> |
| <footer> |
| <row id="298"> |
| <cell id="299"/> |
| <cell id="300"/> |
| <cell id="301"/> |
| <cell id="302"/> |
| <cell id="303"/> |
| </row> |
| </footer> |
| </group> |
| <detail> |
| <row id="200"> |
| <cell id="201"/> |
| <cell id="202"/> |
| <cell id="203"/> |
| <cell id="204"/> |
| <cell id="205"/> |
| </row> |
| </detail> |
| <footer> |
| <row id="206"> |
| <cell id="207"/> |
| <cell id="208"/> |
| <cell id="209"/> |
| <cell id="210"/> |
| <cell id="211"/> |
| </row> |
| </footer> |
| </table> |
| </body> |
| </report> |