|
Author: hansbak
Date: Tue Dec 22 07:05:57 2009 New Revision: 893090 URL: http://svn.apache.org/viewvc?rev=893090&view=rev Log: add a 'coupon' report to the order reports option. help screen to follow Added: ofbiz/trunk/applications/order/webapp/ordermgr/reports/CouponSalesReport.rptdesign Modified: ofbiz/trunk/applications/order/data/OrderPortletData.xml ofbiz/trunk/applications/order/data/SalesOrderDemoData.xml ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml ofbiz/trunk/applications/order/widget/ordermgr/ReportForms.xml ofbiz/trunk/applications/order/widget/ordermgr/ReportScreens.xml Modified: ofbiz/trunk/applications/order/data/OrderPortletData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/data/OrderPortletData.xml?rev=893090&r1=893089&r2=893090&view=diff ============================================================================== --- ofbiz/trunk/applications/order/data/OrderPortletData.xml (original) +++ ofbiz/trunk/applications/order/data/OrderPortletData.xml Tue Dec 22 07:05:57 2009 @@ -162,4 +162,12 @@ description=""/> <PortletPortletCategory portalPortletId="Last3MSalesReport" portletCategoryId="REPORT"/> <PortalPagePortlet portalPageId="OrderReportPage" portalPortletId="Last3MSalesReport" portletSeqId="00001" columnSeqId="00002" sequenceNum="9"/> + + <PortalPortlet portalPortletId="CouponSalesReport" + portletName="Coupon Sales Report" + screenName="CouponSalesReport" + screenLocation="component://order/widget/ordermgr/ReportScreens.xml" + description=""/> + <PortletPortletCategory portalPortletId="CouponSalesReport" portletCategoryId="REPORT"/> + <PortalPagePortlet portalPageId="OrderReportPage" portalPortletId="CouponSalesReport" portletSeqId="00001" columnSeqId="00002" sequenceNum="10"/> </entity-engine-xml> Modified: ofbiz/trunk/applications/order/data/SalesOrderDemoData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/data/SalesOrderDemoData.xml?rev=893090&r1=893089&r2=893090&view=diff ============================================================================== --- ofbiz/trunk/applications/order/data/SalesOrderDemoData.xml (original) +++ ofbiz/trunk/applications/order/data/SalesOrderDemoData.xml Tue Dec 22 07:05:57 2009 @@ -1321,5 +1321,34 @@ <OrderStatus orderStatusId="DEMO_B2B_IT03_05" statusId="ITEM_APPROVED" orderId="DEMO_B2B_IT03" orderItemSeqId="00001"/> <OrderContactMech orderId="DEMO_B2B_IT03" contactMechPurposeTypeId="SHIPPING_LOCATION" contactMechId="9015"/> <OrderContactMech orderId="DEMO_B2B_IT03" contactMechPurposeTypeId="ORDER_EMAIL" contactMechId="9026"/> - + + <!-- Promotion --> + <ProductPromo productPromoId="DEMO_PROMO001" promoName="Demo Promotion 1" promoText="With special code [9021] get products in the Featured Products category for their special promotion price." userEntered="Y" showToCustomer="Y" requireCode="Y" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromo productPromoId="DEMO_PROMO002" promoName="Demo Promotion 2" promoText="With special code [9021] get products in the Featured Products category for their special promotion price." userEntered="Y" showToCustomer="Y" requireCode="Y" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromo productPromoId="DEMO_PROMO003" promoName="Demo Promotion 3" promoText="With special code [9021] get products in the Featured Products category for their special promotion price." userEntered="Y" showToCustomer="Y" requireCode="Y" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromo productPromoId="DEMO_PROMO004" promoName="Demo Promotion 4" promoText="With special code [9021] get products in the Featured Products category for their special promotion price." userEntered="Y" showToCustomer="Y" requireCode="Y" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromo productPromoId="DEMO_PROMO005" promoName="Demo Promotion 5" promoText="With special code [9021] get products in the Featured Products category for their special promotion price." userEntered="Y" showToCustomer="Y" requireCode="Y" createdDate="2001-05-13 12:00:00.0"/> + + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE001" productPromoId="DEMO_PROMO001" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE002" productPromoId="DEMO_PROMO002" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE003" productPromoId="DEMO_PROMO003" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE004" productPromoId="DEMO_PROMO003" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE005" productPromoId="DEMO_PROMO003" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE006" productPromoId="DEMO_PROMO004" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE007" productPromoId="DEMO_PROMO004" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE008" productPromoId="DEMO_PROMO004" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE009" productPromoId="DEMO_PROMO004" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + <ProductPromoCode productPromoCodeId="DEMO_PROMOCODE010" productPromoId="DEMO_PROMO005" userEntered="Y" requireEmailOrParty="N" createdDate="2001-05-13 12:00:00.0"/> + + <OrderProductPromoCode orderId="DEMO_VV_AU01" productPromoCodeId="DEMO_PROMOCODE001"/> + <OrderProductPromoCode orderId="DEMO_VV_CA01" productPromoCodeId="DEMO_PROMOCODE002"/> + <OrderProductPromoCode orderId="DEMO_VV_IE01" productPromoCodeId="DEMO_PROMOCODE003"/> + <OrderProductPromoCode orderId="DEMO_VV_SG01" productPromoCodeId="DEMO_PROMOCODE004"/> + <OrderProductPromoCode orderId="DEMO_VV_UK01" productPromoCodeId="DEMO_PROMOCODE005"/> + <OrderProductPromoCode orderId="DEMO_VV_US01" productPromoCodeId="DEMO_PROMOCODE006"/> + <OrderProductPromoCode orderId="DEMO_VV_DE01" productPromoCodeId="DEMO_PROMOCODE007"/> + <OrderProductPromoCode orderId="DEMO_VV_ES01" productPromoCodeId="DEMO_PROMOCODE008"/> + <OrderProductPromoCode orderId="DEMO_VV_FR01" productPromoCodeId="DEMO_PROMOCODE009"/> + <OrderProductPromoCode orderId="DEMO_VV_IT01" productPromoCodeId="DEMO_PROMOCODE010"/> + </entity-engine-xml> Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml?rev=893090&r1=893089&r2=893090&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml Tue Dec 22 07:05:57 2009 @@ -1098,7 +1098,10 @@ </request-map> <request-map uri="Last3MonthsSalesReport.pdf"><security https="true" auth="true"/> <response name="success" type="view" value="Last3MonthsSalesReport"/> - </request-map> + </request-map> + <request-map uri="CouponSalesReport.pdf"><security https="true" auth="true"/> + <response name="success" type="view" value="CouponSalesReport"/> + </request-map> <!-- Requirement request mappings --> <request-map uri="FindRequirements"> @@ -1782,6 +1785,7 @@ <view-map name="OrdersByChannelReport" type="birt" page="component://order/webapp/ordermgr/reports/OrdersByChannel.rptdesign" content-type="application/pdf"/> <view-map name="SaleOrderDiscountCodeReport" type="birt" page="component://order/webapp/ordermgr/reports/OrderDiscountCodeReport.rptdesign" content-type="application/pdf"/> <view-map name="Last3MonthsSalesReport" type="birt" page="component://order/webapp/ordermgr/reports/Last3MonthsSalesReport.rptdesign" content-type="application/pdf"/> + <view-map name="CouponSalesReport" type="birt" page="component://order/webapp/ordermgr/reports/CouponSalesReport.rptdesign" content-type="application/pdf"/> <view-map name="FindRequirements" type="screen" page="component://order/widget/ordermgr/RequirementScreens.xml#FindRequirements"/> <view-map name="EditRequirement" type="screen" page="component://order/widget/ordermgr/RequirementScreens.xml#EditRequirement"/> Added: ofbiz/trunk/applications/order/webapp/ordermgr/reports/CouponSalesReport.rptdesign URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/reports/CouponSalesReport.rptdesign?rev=893090&view=auto ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/reports/CouponSalesReport.rptdesign (added) +++ ofbiz/trunk/applications/order/webapp/ordermgr/reports/CouponSalesReport.rptdesign Tue Dec 22 07:05:57 2009 @@ -0,0 +1,827 @@ +<?xml version="1.0" encoding="UTF-8"?> +<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.20" id="1"> + <property name="createdBy">Eclipse BIRT Designer Version 2.5.1.v20090903 Build <2.5.1.v20090917-1447></property> + <property name="units">in</property> + <method name="initialize"><![CDATA[importPackage(Packages.org.ofbiz.base.util) +importPackage(Packages.javolution.util) +importPackage(Packages.org.ofbiz.entity.util) +importPackage(Packages.java.util) +importPackage(Packages.java.lang) +importPackage(Packages.org.ofbiz.entity.condition) +importPackage(Packages.java.math) +module = "CouponSalesReport.rptdesign";]]></method> + <property name="iconFile">/templates/blank_report.gif</property> + <property name="layoutPreference">fixed layout</property> + <property name="bidiLayoutOrientation">ltr</property> + <data-sources> + <script-data-source name="OFBIZ" id="7"/> + </data-sources> + <data-sets> + <script-data-set name="CouponSalesReport" id="8"> + <list-property name="resultSetHints"> + <structure> + <property name="position">1</property> + <property name="name">productPromoId</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">promoName</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">3</property> + <property name="name">totalOrders</property> + <property name="dataType">integer</property> + </structure> + <structure> + <property name="position">4</property> + <property name="name">totalOrdersAmount</property> + <property name="dataType">float</property> + </structure> + <structure> + <property name="position">5</property> + <property name="name">totalShippingAmount</property> + <property name="dataType">float</property> + </structure> + <structure> + <property name="position">6</property> + <property name="name">totalShippingCharge</property> + <property name="dataType">float</property> + </structure> + <structure> + <property name="position">7</property> + <property name="name">totalShippingBalance</property> + <property name="dataType">float</property> + </structure> + </list-property> + <list-property name="columnHints"> + <structure> + <property name="columnName">productPromoId</property> + </structure> + <structure> + <property name="columnName">promoName</property> + </structure> + <structure> + <property name="columnName">totalOrders</property> + </structure> + <structure> + <property name="columnName">totalOrdersAmount</property> + </structure> + <structure> + <property name="columnName">totalShippingAmount</property> + </structure> + <structure> + <property name="columnName">totalShippingCharge</property> + </structure> + <structure> + <property name="columnName">totalShippingBalance</property> + </structure> + </list-property> + <structure name="cachedMetaData"> + <list-property name="resultSet"> + <structure> + <property name="position">1</property> + <property name="name">productPromoId</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">promoName</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">3</property> + <property name="name">totalOrders</property> + <property name="dataType">integer</property> + </structure> + <structure> + <property name="position">4</property> + <property name="name">totalOrdersAmount</property> + <property name="dataType">float</property> + </structure> + <structure> + <property name="position">5</property> + <property name="name">totalShippingAmount</property> + <property name="dataType">float</property> + </structure> + <structure> + <property name="position">6</property> + <property name="name">totalShippingCharge</property> + <property name="dataType">float</property> + </structure> + <structure> + <property name="position">7</property> + <property name="name">totalShippingBalance</property> + <property name="dataType">float</property> + </structure> + </list-property> + </structure> + <property name="dataSource">OFBIZ</property> + <method name="open"><![CDATA[couponSalesOrders = null +try { + couponSalesOrders = delegator.findAll("ProductPromo"); +} catch (e) { + Debug.logError(e, module); +} +totalRow = 0; +countOfRow = 0; +if (couponSalesOrders) { + totalRow = couponSalesOrders.size(); +}]]></method> + <method name="fetch"><![CDATA[if (countOfRow == totalRow - 1) return false; +userLogin = null; +input = FastMap.newInstance(); +try { + userLogin = delegator.findByPrimaryKey("UserLogin",UtilMisc.toMap("userLoginId","admin")); +} catch(e) { + Debug.logError(e,""); +} +couponSalesOrder = couponSalesOrders.get(countOfRow); +productPromoId = couponSalesOrder.getString("productPromoId"); +promoName = couponSalesOrder.getString("promoName"); +//Total Orders, Amount amd Shipping +amount = 0 +totalOrders = 0; +totalOrdersAmount = 0; +totalShippingAmount = 0; +totalShippingCharge = 0; +totalShippingBalance = 0; +productPromoCodes = delegator.findList("ProductPromoCode", EntityCondition.makeCondition("productPromoId", EntityOperator.EQUALS, productPromoId), null, null, null, false); +if(productPromoCodes.size()>0){ + productPromoCodeId = productPromoCodes.get(0).getString("productPromoCodeId"); + orderProductPromoCodes = delegator.findList("OrderProductPromoCode", EntityCondition.makeCondition("productPromoCodeId", EntityOperator.EQUALS, productPromoCodeId), null, null, null, false); + totalOrders = orderProductPromoCodes.size(); + for(i = 0; i < totalOrders; i++){ + orderId = orderProductPromoCodes.get(i).getString("orderId"); + input.put("userLogin",userLogin); + input.put("orderId",orderId); + //Order Total + orderInfo = dispatcher.runSync("getOrderHeaderInformation", input); + amount = orderInfo.get("grandTotal"); + totalOrdersAmount = totalOrdersAmount + amount; + //Shipping Total + cond = FastList.newInstance(); + cond.add(EntityCondition.makeCondition("orderId", EntityOperator.EQUALS, orderId)); + cond.add(EntityCondition.makeCondition("orderAdjustmentTypeId", EntityOperator.EQUALS, "SHIPPING_CHARGES")); + orderAdjustments = delegator.findList("OrderAdjustment", EntityCondition.makeCondition(cond, EntityOperator.AND), null, null, null, false); + orderAdjustmentSize = orderAdjustments.size(); + for(j = 0; j < orderAdjustmentSize; j++){ + shippingCharge = 0; + shippingCharge = orderAdjustments.get(j).get("amount"); + if(shippingCharge){ + shippingCharge = shippingCharge.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + } + totalShippingCharge = totalShippingCharge + shippingCharge; + } + shippingAmount = dispatcher.runSync("getOrderShippingAmount", input); + amount = shippingAmount.get("shippingAmount"); + if(amount){ + amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + } + totalShippingAmount = totalShippingAmount + amount; + } +} +row["productPromoId"] = productPromoId; +row["promoName"] = promoName; +row["totalOrders"] = totalOrders; +row["totalOrdersAmount"] = totalOrdersAmount; +row["totalShippingCharge"] = totalShippingCharge; +row["totalShippingAmount"] = totalShippingAmount; +row["totalShippingBalance"] = totalShippingAmount - totalShippingCharge; +countOfRow ++; +return true;]]></method> + </script-data-set> + </data-sets> + <cubes> + <tabular-cube name="CouponSalesReport" id="9"> + <property name="dimensions"> + <tabular-dimension name="Group" id="10"> + <property name="defaultHierarchy">NewTabularHierarchy</property> + <property name="hierarchies"> + <tabular-hierarchy name="NewTabularHierarchy" id="11"> + <property name="levels"> + <tabular-level name="productPromoId" id="12"> + <property name="dataType">string</property> + <property name="columnName">productPromoId</property> + </tabular-level> + <tabular-level name="promoName" id="13"> + <property name="dataType">string</property> + <property name="columnName">promoName</property> + </tabular-level> + </property> + </tabular-hierarchy> + </property> + </tabular-dimension> + </property> + <property name="measureGroups"> + <tabular-measure-group name="Summary Field" id="14"> + <property name="measures"> + <tabular-measure name="totalOrders" id="15"> + <expression name="measureExpression">dataSetRow["totalOrders"]</expression> + <property name="dataType">integer</property> + </tabular-measure> + </property> + </tabular-measure-group> + <tabular-measure-group name="Summary Field1" id="62"> + <property name="measures"> + <tabular-measure name="totalOrdersAmount" id="63"> + <expression name="measureExpression">dataSetRow["totalOrdersAmount"]</expression> + <property name="dataType">float</property> + </tabular-measure> + </property> + </tabular-measure-group> + <tabular-measure-group name="Summary Field2" id="201"> + <property name="measures"> + <tabular-measure name="totalShippingCharge" id="202"> + <expression name="measureExpression">dataSetRow["totalShippingCharge"]</expression> + <property name="dataType">float</property> + </tabular-measure> + </property> + </tabular-measure-group> + <tabular-measure-group name="Summary Field3" id="203"> + <property name="measures"> + <tabular-measure name="totalShippingAmount" id="204"> + <expression name="measureExpression">dataSetRow["totalShippingAmount"]</expression> + <property name="dataType">float</property> + </tabular-measure> + </property> + </tabular-measure-group> + <tabular-measure-group name="Summary Field4" id="206"> + <property name="measures"> + <tabular-measure name="totalShippingBalance" id="207"> + <expression name="measureExpression">dataSetRow["totalShippingBalance"]</expression> + <property name="dataType">float</property> + </tabular-measure> + </property> + </tabular-measure-group> + </property> + <property name="dataSet">CouponSalesReport</property> + </tabular-cube> + </cubes> + <styles> + <style name="report" id="4"> + <property name="fontFamily">sans-serif</property> + <property name="fontSize">10pt</property> + </style> + <style name="crosstab-cell" 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> + <style name="crosstab" id="6"> + <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="orientation">landscape</property> + <property name="leftMargin">0.25in</property> + <page-footer> + <grid id="365"> + <property name="height">0.4777777777777778in</property> + <column id="366"/> + <column id="367"/> + <row id="368"> + <property name="height">0.4777777777777778in</property> + <cell id="369"> + <text id="382"> + <property name="contentType">html</property> + <text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property> + </text> + </cell> + <cell id="370"> + <property name="textAlign">right</property> + <grid id="371"> + <property name="height">0.2777777777777778in</property> + <property name="width">2.3777777777777778in</property> + <column id="372"> + <property name="width">1.788888888888889in</property> + </column> + <column id="373"> + <property name="width">0.14444444444444443in</property> + </column> + <column id="374"> + <property name="width">0.4444444444444444in</property> + </column> + <row id="375"> + <property name="height">0.2777777777777778in</property> + <cell id="376"> + <auto-text id="377"> + <property name="type">page-number</property> + </auto-text> + </cell> + <cell id="378"> + <text id="379"> + <property name="contentType">plain</property> + <text-property name="content"><![CDATA[/]]></text-property> + </text> + </cell> + <cell id="380"> + <auto-text id="381"> + <property name="textAlign">left</property> + <property name="type">total-page</property> + </auto-text> + </cell> + </row> + </grid> + </cell> + </row> + </grid> + </page-footer> + </simple-master-page> + </page-setup> + <body> + <text id="60"> + <property name="fontSize">16pt</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <property name="contentType">auto</property> + <text-property name="content"><![CDATA[Coupon Sales Report +]]></text-property> + </text> + <text id="61"/> + <extended-item extensionName="Crosstab" extensionVersion="2.5.0" id="301"> + <property name="measures"> + <extended-item extensionName="MeasureView" id="311"> + <property name="measure">totalOrders</property> + <property name="detail"> + <extended-item extensionName="AggregationCell" id="312"> + <property name="aggregationOnRow">Group/promoName</property> + <property name="content"> + <data id="313"> + <property name="textAlign">center</property> + <property name="resultSetColumn">totalOrders_Group/promoName</property> + </data> + </property> + <property name="height">0.3333333333333333in</property> + <property name="width">0.5555555555555556in</property> + </extended-item> + </property> + <property name="aggregations"> + <extended-item extensionName="AggregationCell" id="337"> + <property name="backgroundColor">#BFBFBF</property> + <property name="content"> + <data id="338"> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <property name="resultSetColumn">totalOrders</property> + </data> + </property> + <property name="height">0.23333333333333334in</property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="314"> + <property name="content"> + <label id="315"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">Orders</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + <property name="height">0.3in</property> + </extended-item> + </property> + </extended-item> + <extended-item extensionName="ComputedMeasureView" name="totalOrdersPercent" id="348"> + <property name="detail"> + <extended-item extensionName="AggregationCell" id="349"> + <property name="aggregationOnRow">Group/promoName</property> + <property name="content"> + <data name="totalOrdersPercent1" id="353"> + <structure name="numberFormat"> + <property name="category">Fixed</property> + <property name="pattern">Fixed</property> + </structure> + <property name="textAlign">center</property> + <property name="resultSetColumn">totalOrdersPercent</property> + </data> + </property> + <property name="width">0.45555555555555555in</property> + </extended-item> + </property> + <property name="aggregations"> + <extended-item extensionName="AggregationCell" id="350"> + <property name="backgroundColor">#BFBFBF</property> + <property name="content"> + <label id="362"> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">100</text-property> + </label> + </property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="351"> + <property name="content"> + <label id="352"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">%</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + </extended-item> + </property> + </extended-item> + <extended-item extensionName="MeasureView" id="316"> + <property name="measure">totalOrdersAmount</property> + <property name="detail"> + <extended-item extensionName="AggregationCell" id="317"> + <property name="aggregationOnRow">Group/promoName</property> + <property name="content"> + <data id="318"> + <structure name="numberFormat"> + <property name="category">Fixed</property> + <property name="pattern">#,##0.00</property> + </structure> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalOrdersAmount_Group/promoName</property> + </data> + </property> + <property name="width">0.7555555555555555in</property> + </extended-item> + </property> + <property name="aggregations"> + <extended-item extensionName="AggregationCell" id="339"> + <property name="backgroundColor">#BFBFBF</property> + <property name="content"> + <data id="340"> + <property name="fontWeight">bold</property> + <structure name="numberFormat"> + <property name="category">Fixed</property> + <property name="pattern">#,##0.00</property> + </structure> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalOrdersAmount</property> + </data> + </property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="319"> + <property name="content"> + <label id="320"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">Orders $</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + </extended-item> + </property> + </extended-item> + <extended-item extensionName="ComputedMeasureView" name="totalOrdersAmountPercent" id="354"> + <property name="detail"> + <extended-item extensionName="AggregationCell" id="355"> + <property name="aggregationOnRow">Group/promoName</property> + <property name="content"> + <data name="totalOrdersAmountPercent1" id="359"> + <structure name="numberFormat"> + <property name="category">Fixed</property> + <property name="pattern">Fixed</property> + </structure> + <property name="textAlign">center</property> + <property name="resultSetColumn">totalOrdersAmountPercent</property> + </data> + </property> + <property name="width">0.4222222222222222in</property> + </extended-item> + </property> + <property name="aggregations"> + <extended-item extensionName="AggregationCell" id="356"> + <property name="backgroundColor">#BFBFBF</property> + <property name="content"> + <label id="363"> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">100</text-property> + </label> + </property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="357"> + <property name="content"> + <label id="358"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">%</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + </extended-item> + </property> + </extended-item> + <extended-item extensionName="MeasureView" id="321"> + <property name="measure">totalShippingCharge</property> + <property name="detail"> + <extended-item extensionName="AggregationCell" id="322"> + <property name="aggregationOnRow">Group/promoName</property> + <property name="content"> + <data id="323"> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalShippingCharge_Group/promoName</property> + </data> + </property> + <property name="width">1.6in</property> + </extended-item> + </property> + <property name="aggregations"> + <extended-item extensionName="AggregationCell" id="341"> + <property name="backgroundColor">#BFBFBF</property> + <property name="content"> + <data id="342"> + <property name="fontWeight">bold</property> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalShippingCharge</property> + </data> + </property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="324"> + <property name="content"> + <label id="325"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">Ship from Customer $</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + </extended-item> + </property> + </extended-item> + <extended-item extensionName="MeasureView" id="326"> + <property name="measure">totalShippingAmount</property> + <property name="detail"> + <extended-item extensionName="AggregationCell" id="327"> + <property name="aggregationOnRow">Group/promoName</property> + <property name="content"> + <data id="328"> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalShippingAmount_Group/promoName</property> + </data> + </property> + <property name="width">1.6555555555555554in</property> + </extended-item> + </property> + <property name="aggregations"> + <extended-item extensionName="AggregationCell" id="343"> + <property name="backgroundColor">#BFBFBF</property> + <property name="content"> + <data id="344"> + <property name="fontWeight">bold</property> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalShippingAmount</property> + </data> + </property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="329"> + <property name="content"> + <label id="330"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">Ship to Wherehouse $</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + </extended-item> + </property> + </extended-item> + <extended-item extensionName="MeasureView" id="331"> + <property name="measure">totalShippingBalance</property> + <property name="detail"> + <extended-item extensionName="AggregationCell" id="332"> + <property name="aggregationOnRow">Group/promoName</property> + <property name="content"> + <data id="333"> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalShippingBalance_Group/promoName</property> + </data> + </property> + <property name="width">1.1777777777777778in</property> + </extended-item> + </property> + <property name="aggregations"> + <extended-item extensionName="AggregationCell" id="345"> + <property name="backgroundColor">#BFBFBF</property> + <property name="content"> + <data id="346"> + <property name="fontWeight">bold</property> + <property name="textAlign">right</property> + <property name="resultSetColumn">totalShippingBalance</property> + </data> + </property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="334"> + <property name="content"> + <label id="335"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">Ship Balance $</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + </extended-item> + </property> + </extended-item> + </property> + <property name="rows"> + <extended-item extensionName="CrosstabView" id="303"> + <property name="grandTotal"> + <extended-item extensionName="CrosstabCell" id="336"> + <property name="content"> + <label id="347"> + <property name="fontWeight">bold</property> + <property name="textAlign">right</property> + <text-property name="text">Grand Total</text-property> + </label> + </property> + </extended-item> + </property> + <property name="views"> + <extended-item extensionName="DimensionView" id="304"> + <property name="dimension">Group</property> + <property name="levels"> + <extended-item extensionName="LevelView" name="NewLevel View" id="305"> + <property name="level">Group/productPromoId</property> + <property name="member"> + <extended-item extensionName="CrosstabCell" id="306"> + <property name="content"> + <data name="productPromoId" id="307"> + <property name="textAlign">center</property> + <property name="resultSetColumn">productPromoId</property> + </data> + </property> + <property name="width">1.3777777777777778in</property> + </extended-item> + </property> + </extended-item> + <extended-item extensionName="LevelView" name="NewLevel View1" id="308"> + <property name="level">Group/promoName</property> + <property name="member"> + <extended-item extensionName="CrosstabCell" id="309"> + <property name="content"> + <data name="promoName" id="310"> + <property name="resultSetColumn">promoName</property> + </data> + </property> + <property name="width">2.3666666666666667in</property> + </extended-item> + </property> + </extended-item> + </property> + </extended-item> + </property> + <property name="grandTotalLocation">after</property> + </extended-item> + </property> + <property name="header"> + <extended-item extensionName="CrosstabCell" id="302"> + <property name="content"> + <label id="364"> + <property name="backgroundColor">#BFBFBF</property> + <property name="fontWeight">bold</property> + <property name="textAlign">center</property> + <text-property name="text">Coupon</text-property> + </label> + </property> + <property name="backgroundColor">#BFBFBF</property> + </extended-item> + </property> + <property name="cube">CouponSalesReport</property> + <list-property name="boundDataColumns"> + <structure> + <property name="name">productPromoId</property> + <expression name="expression">dimension["Group"]["productPromoId"]</expression> + <property name="dataType">string</property> + </structure> + <structure> + <property name="name">promoName</property> + <expression name="expression">dimension["Group"]["promoName"]</expression> + <property name="dataType">string</property> + </structure> + <structure> + <property name="name">totalOrders_Group/promoName</property> + <expression name="expression">measure["totalOrders"]</expression> + <property name="dataType">integer</property> + <simple-property-list name="aggregateOn"> + <value>Group/promoName</value> + </simple-property-list> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalOrdersAmount_Group/promoName</property> + <expression name="expression">measure["totalOrdersAmount"]</expression> + <property name="dataType">float</property> + <simple-property-list name="aggregateOn"> + <value>Group/promoName</value> + </simple-property-list> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalShippingCharge_Group/promoName</property> + <expression name="expression">measure["totalShippingCharge"]</expression> + <property name="dataType">float</property> + <simple-property-list name="aggregateOn"> + <value>Group/promoName</value> + </simple-property-list> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalShippingAmount_Group/promoName</property> + <expression name="expression">measure["totalShippingAmount"]</expression> + <property name="dataType">float</property> + <simple-property-list name="aggregateOn"> + <value>Group/promoName</value> + </simple-property-list> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalShippingBalance_Group/promoName</property> + <expression name="expression">measure["totalShippingBalance"]</expression> + <property name="dataType">float</property> + <simple-property-list name="aggregateOn"> + <value>Group/promoName</value> + </simple-property-list> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalOrders</property> + <expression name="expression">measure["totalOrders"]</expression> + <property name="dataType">integer</property> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalOrdersAmount</property> + <expression name="expression">measure["totalOrdersAmount"]</expression> + <property name="dataType">float</property> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalShippingCharge</property> + <expression name="expression">measure["totalShippingCharge"]</expression> + <property name="dataType">float</property> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalShippingAmount</property> + <expression name="expression">measure["totalShippingAmount"]</expression> + <property name="dataType">float</property> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalShippingBalance</property> + <expression name="expression">measure["totalShippingBalance"]</expression> + <property name="dataType">float</property> + <property name="aggregateFunction">SUM</property> + </structure> + <structure> + <property name="name">totalOrdersPercent</property> + <expression name="expression" type="javascript">Finance.percent(data["totalOrders"], measure["totalOrders"])</expression> + <property name="dataType">float</property> + </structure> + <structure> + <property name="name">totalOrdersAmountPercent</property> + <expression name="expression" type="javascript">Finance.percent(data["totalOrdersAmount"], measure["totalOrdersAmount"])</expression> + <property name="dataType">float</property> + </structure> + </list-property> + </extended-item> + </body> +</report> Modified: ofbiz/trunk/applications/order/widget/ordermgr/ReportForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/ReportForms.xml?rev=893090&r1=893089&r2=893090&view=diff ============================================================================== --- ofbiz/trunk/applications/order/widget/ordermgr/ReportForms.xml (original) +++ ofbiz/trunk/applications/order/widget/ordermgr/ReportForms.xml Tue Dec 22 07:05:57 2009 @@ -254,4 +254,7 @@ <form name="Last3MonthsSalesReport" type="single" target="Last3MonthsSalesReport.pdf" target-window="_BLANK"> <field name="submit" title="${uiLabelMap.CommonRun}"><submit button-type="button"/></field> </form> + <form name="CouponSalesReport" type="single" target="CouponSalesReport.pdf" target-window="_BLANK"> + <field name="submit" title="${uiLabelMap.CommonRun}"><submit button-type="button"/></field> + </form> </forms> \ No newline at end of file Modified: ofbiz/trunk/applications/order/widget/ordermgr/ReportScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/ReportScreens.xml?rev=893090&r1=893089&r2=893090&view=diff ============================================================================== --- ofbiz/trunk/applications/order/widget/ordermgr/ReportScreens.xml (original) +++ ofbiz/trunk/applications/order/widget/ordermgr/ReportScreens.xml Tue Dec 22 07:05:57 2009 @@ -350,4 +350,14 @@ </widgets> </section> </screen> + <!-- Coupon Sales Report --> + <screen name="CouponSalesReport"> + <section> + <widgets> + <screenlet title="Coupon Sales Report"> + <include-form name="CouponSalesReport" location="component://order/widget/ordermgr/ReportForms.xml"/> + </screenlet> + </widgets> + </section> + </screen> </screens> |
| Free forum by Nabble | Edit this page |
