Index: trunk/web-app/reports/reactiveRatio.jrxml
===================================================================
--- trunk/web-app/reports/reactiveRatio.jrxml	(revision 533)
+++ trunk/web-app/reports/reactiveRatio.jrxml	(revision 535)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="name" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="782" leftMargin="30" rightMargin="30" topMargin="20" bottomMargin="20">
+<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="reportName" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="782" leftMargin="30" rightMargin="30" topMargin="20" bottomMargin="20" isSummaryNewPage="true">
 	<property name="ireport.scriptlethandling" value="0"/>
 	<property name="ireport.encoding" value="UTF-8"/>
 	<property name="ireport.zoom" value="1.0"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="0"/>
+	<property name="ireport.y" value="405"/>
 	<import value="java.util.*"/>
 	<import value="net.sf.jasperreports.engine.*"/>
@@ -29,53 +29,305 @@
 		</box>
 	</style>
+	<style name="table 1" isDefault="false">
+		<box>
+			<pen lineWidth="1.0" lineColor="#000000"/>
+		</box>
+	</style>
+	<style name="table 1_TH" isDefault="false" mode="Opaque" backcolor="#F0F8FF">
+		<box>
+			<pen lineWidth="0.5" lineColor="#000000"/>
+		</box>
+	</style>
+	<style name="table 1_CH" isDefault="false" mode="Opaque" backcolor="#BFE1FF">
+		<box>
+			<pen lineWidth="0.5" lineColor="#000000"/>
+		</box>
+	</style>
+	<style name="table 1_TD" isDefault="false" mode="Opaque" backcolor="#FFFFFF">
+		<box>
+			<pen lineWidth="0.5" lineColor="#000000"/>
+		</box>
+	</style>
+	<style name="Crosstab Data Text" isDefault="false" hAlign="Center"/>
 	<subDataset name="dataset1"/>
 	<subDataset name="Table Dataset 1"/>
+	<subDataset name="Table Dataset 2"/>
+	<subDataset name="dataset2"/>
 	<parameter name="reportTitle" class="java.lang.String"/>
 	<parameter name="currentUser" class="java.lang.String"/>
-	<field name="immediateCalloutPercentage" class="java.lang.Integer"/>
-	<field name="totalPreventativePercentage" class="java.lang.Integer"/>
+	<parameter name="logoUrl" class="java.lang.String"/>
+	<parameter name="startDateString" class="java.lang.String"/>
+	<parameter name="endDateString" class="java.lang.String"/>
+	<field name="immediateCalloutPercentage" class="java.math.BigDecimal"/>
+	<field name="totalPreventativePercentage" class="java.math.BigDecimal"/>
+	<field name="immediateCalloutCount" class="java.lang.Integer"/>
+	<field name="totalAssetsOnTasksCount" class="java.lang.Integer"/>
+	<field name="totalPreventativeCount" class="java.lang.Integer"/>
+	<field name="unscheduledBreakinCount" class="java.lang.Integer"/>
+	<field name="preventativeMaintenanceCount" class="java.lang.Integer"/>
+	<field name="taskQuery" class="java.lang.String"/>
+	<field name="summaryOfCalculationMethod" class="java.lang.String"/>
 	<background>
 		<band splitType="Stretch"/>
 	</background>
 	<pageHeader>
-		<band height="60" splitType="Stretch">
-			<textField>
-				<reportElement key="staticText-1" x="0" y="0" width="782" height="35"/>
-				<textElement textAlignment="Center" markup="none">
+		<band height="121" splitType="Stretch">
+			<textField>
+				<reportElement key="staticText-1" x="0" y="57" width="340" height="30"/>
+				<textElement textAlignment="Center" verticalAlignment="Top" markup="none">
 					<font size="20"/>
 				</textElement>
 				<textFieldExpression class="java.lang.String"><![CDATA[$P{reportTitle}]]></textFieldExpression>
 			</textField>
+			<image>
+				<reportElement x="0" y="0" width="340" height="57"/>
+				<imageExpression class="java.net.URL"><![CDATA[new URL($P{logoUrl})]]></imageExpression>
+			</image>
+			<textField pattern="dd-MMM-yyyy" isBlankWhenNull="true">
+				<reportElement x="0" y="87" width="340" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle" markup="none"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$P{startDateString}+" to "+$P{endDateString}]]></textFieldExpression>
+			</textField>
 		</band>
 	</pageHeader>
 	<columnHeader>
-		<band height="17" splitType="Stretch"/>
+		<band splitType="Stretch"/>
 	</columnHeader>
 	<detail>
-		<band height="129" splitType="Stretch">
-			<textField>
+		<band height="394" splitType="Stretch">
+			<textField isBlankWhenNull="true">
+				<reportElement x="0" y="40" width="157" height="20"/>
+				<textElement verticalAlignment="Middle" markup="none"/>
+				<textFieldExpression class="java.lang.String"><![CDATA["Immediate Callout: "]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="0" y="60" width="157" height="20"/>
+				<textElement verticalAlignment="Middle" markup="none"/>
+				<textFieldExpression class="java.lang.String"><![CDATA["Total Preventative: "]]></textFieldExpression>
+			</textField>
+			<textField pattern="#,##0.00 %" isBlankWhenNull="true">
+				<reportElement x="157" y="40" width="79" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{immediateCalloutPercentage}.setScale(2, RoundingMode.HALF_UP)]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="157" y="60" width="79" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{totalPreventativePercentage}.setScale(2, RoundingMode.HALF_UP)]]></textFieldExpression>
+			</textField>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="236" y="40" width="117" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{immediateCalloutCount}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="236" y="60" width="117" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{totalPreventativeCount}]]></textFieldExpression>
+			</textField>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="0" y="80" width="157" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA["Total: "]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="157" y="80" width="79" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="236" y="80" width="117" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{totalAssetsOnTasksCount}]]></textFieldExpression>
+			</textField>
+			<line>
+				<reportElement x="0" y="100" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<line>
+				<reportElement x="0" y="79" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<line>
+				<reportElement x="0" y="60" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<line>
+				<reportElement x="0" y="39" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<textField isBlankWhenNull="true">
+				<reportElement x="0" y="20" width="157" height="20"/>
+				<textElement verticalAlignment="Middle" markup="none"/>
+			</textField>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="236" y="20" width="117" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+			</textField>
+			<textField pattern="#,##0.00 %" isBlankWhenNull="true">
+				<reportElement x="157" y="20" width="79" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+			</textField>
+			<line>
+				<reportElement x="0" y="20" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<pie3DChart>
+				<chart theme="default">
+					<reportElement x="426" y="0" width="356" height="197"/>
+					<chartTitle/>
+					<chartSubtitle/>
+					<chartLegend/>
+				</chart>
+				<pieDataset>
+					<pieSeries>
+						<keyExpression><![CDATA["Immediate"]]></keyExpression>
+						<valueExpression><![CDATA[$F{immediateCalloutPercentage}]]></valueExpression>
+						<labelExpression><![CDATA[$F{immediateCalloutPercentage}.setScale(0, RoundingMode.HALF_UP)]]></labelExpression>
+					</pieSeries>
+					<pieSeries>
+						<keyExpression><![CDATA["Preventative"]]></keyExpression>
+						<valueExpression><![CDATA[$F{totalPreventativePercentage}]]></valueExpression>
+						<labelExpression><![CDATA[$F{totalPreventativePercentage}.setScale(0, RoundingMode.HALF_UP)]]></labelExpression>
+					</pieSeries>
+				</pieDataset>
+				<pie3DPlot depthFactor="0.1" isCircular="false">
+					<plot>
+						<seriesColor seriesOrder="0" color="#FF0000"/>
+						<seriesColor seriesOrder="1" color="#00CC00"/>
+						<seriesColor seriesOrder="2" color="#FFFF66"/>
+					</plot>
+					<itemLabel color="#000000" backgroundColor="#FFFFFF"/>
+				</pie3DPlot>
+			</pie3DChart>
+			<textField isBlankWhenNull="true">
+				<reportElement x="236" y="257" width="117" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{preventativeMaintenanceCount}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="236" y="277" width="117" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression><![CDATA[$F{totalPreventativeCount}]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="157" y="277" width="79" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+			</textField>
+			<line>
+				<reportElement x="0" y="297" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<textField isBlankWhenNull="true">
+				<reportElement x="0" y="257" width="157" height="20"/>
+				<textElement verticalAlignment="Middle" markup="none"/>
+				<textFieldExpression><![CDATA["Preventative Maintenance"]]></textFieldExpression>
+			</textField>
+			<textField pattern="#,##0.00 %" isBlankWhenNull="true">
+				<reportElement x="157" y="237" width="79" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+			</textField>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="236" y="217" width="117" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+			</textField>
+			<line>
+				<reportElement x="0" y="257" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="236" y="197" width="117" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+				<textFieldExpression><![CDATA["Count (Assets on Tasks)"]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="0" y="237" width="157" height="20"/>
+				<textElement verticalAlignment="Middle" markup="none"/>
+				<textFieldExpression class="java.lang.String"><![CDATA["Unscheduled Breaking: "]]></textFieldExpression>
+			</textField>
+			<line>
+				<reportElement x="0" y="276" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<pie3DChart>
+				<chart>
+					<reportElement x="426" y="197" width="356" height="197"/>
+					<chartTitle/>
+					<chartSubtitle/>
+					<chartLegend/>
+				</chart>
+				<pieDataset>
+					<pieSeries>
+						<keyExpression><![CDATA["Immediate"]]></keyExpression>
+						<valueExpression><![CDATA[$F{immediateCalloutCount}]]></valueExpression>
+						<labelExpression><![CDATA[$F{immediateCalloutCount}]]></labelExpression>
+					</pieSeries>
+					<pieSeries>
+						<keyExpression><![CDATA["Preventative Maintenance"]]></keyExpression>
+						<valueExpression><![CDATA[$F{preventativeMaintenanceCount}]]></valueExpression>
+						<labelExpression><![CDATA[$F{preventativeMaintenanceCount}]]></labelExpression>
+					</pieSeries>
+					<pieSeries>
+						<keyExpression><![CDATA["Unscheduled Breakin"]]></keyExpression>
+						<valueExpression><![CDATA[$F{unscheduledBreakinCount}]]></valueExpression>
+						<labelExpression><![CDATA[$F{unscheduledBreakinCount}]]></labelExpression>
+					</pieSeries>
+				</pieDataset>
+				<pie3DPlot depthFactor="0.1" isCircular="false">
+					<plot>
+						<seriesColor seriesOrder="0" color="#FF0000"/>
+						<seriesColor seriesOrder="1" color="#00CC00"/>
+						<seriesColor seriesOrder="2" color="#FFFF66"/>
+					</plot>
+					<itemLabel color="#000000" backgroundColor="#FFFFFF"/>
+				</pie3DPlot>
+			</pie3DChart>
+			<textField isBlankWhenNull="true">
+				<reportElement x="0" y="217" width="157" height="20"/>
+				<textElement verticalAlignment="Middle" markup="none"/>
+			</textField>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="236" y="237" width="117" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{unscheduledBreakinCount}]]></textFieldExpression>
+			</textField>
+			<line>
+				<reportElement x="0" y="217" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<textField pattern="#,##0.00 %" isBlankWhenNull="true">
+				<reportElement x="157" y="217" width="79" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+			</textField>
+			<line>
+				<reportElement x="0" y="236" width="353" height="1" forecolor="#999999"/>
+			</line>
+			<textField isBlankWhenNull="true">
+				<reportElement x="157" y="257" width="79" height="20"/>
+				<textElement textAlignment="Center" verticalAlignment="Middle"/>
+			</textField>
+			<textField isBlankWhenNull="true">
+				<reportElement x="0" y="197" width="157" height="20"/>
+				<textElement verticalAlignment="Middle" markup="none"/>
+				<textFieldExpression><![CDATA["Description"]]></textFieldExpression>
+			</textField>
+			<textField pattern="#,##0.00 %" isBlankWhenNull="true">
+				<reportElement x="157" y="197" width="79" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+			</textField>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="0" y="277" width="157" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+				<textFieldExpression class="java.lang.String"><![CDATA["Total Preventative: "]]></textFieldExpression>
+			</textField>
+			<textField pattern="#,##0.00 %" isBlankWhenNull="true">
+				<reportElement x="157" y="0" width="79" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+				<textFieldExpression><![CDATA["Percentage (%)"]]></textFieldExpression>
+			</textField>
+			<textField isBlankWhenNull="true">
 				<reportElement x="0" y="0" width="157" height="20"/>
-				<textElement markup="none"/>
-				<textFieldExpression class="java.lang.String"><![CDATA["Immediate Callout (%): "]]></textFieldExpression>
-			</textField>
-			<textField>
-				<reportElement x="0" y="20" width="157" height="20"/>
-				<textElement markup="none"/>
-				<textFieldExpression class="java.lang.String"><![CDATA["Total Preventative (%): "]]></textFieldExpression>
-			</textField>
-			<textField pattern="###0.00">
-				<reportElement x="157" y="0" width="200" height="20"/>
-				<textElement/>
-				<textFieldExpression class="java.lang.String"><![CDATA[$F{immediateCalloutPercentage}]]></textFieldExpression>
-			</textField>
-			<textField>
-				<reportElement x="157" y="20" width="200" height="20"/>
-				<textElement/>
-				<textFieldExpression class="java.lang.String"><![CDATA[$F{totalPreventativePercentage}]]></textFieldExpression>
+				<textElement verticalAlignment="Middle" markup="none"/>
+				<textFieldExpression><![CDATA["Description"]]></textFieldExpression>
+			</textField>
+			<textField pattern="###0.00" isBlankWhenNull="true">
+				<reportElement x="236" y="0" width="117" height="20"/>
+				<textElement verticalAlignment="Middle"/>
+				<textFieldExpression><![CDATA["Count (Assets on Tasks)"]]></textFieldExpression>
 			</textField>
 		</band>
 	</detail>
 	<columnFooter>
-		<band height="142" splitType="Stretch"/>
+		<band splitType="Stretch"/>
 	</columnFooter>
 	<pageFooter>
@@ -113,4 +365,20 @@
 		</band>
 	</pageFooter>
+	<summary>
+		<band height="555">
+			<textField>
+				<reportElement key="staticText-1" x="221" y="0" width="340" height="30"/>
+				<textElement textAlignment="Center" verticalAlignment="Top" markup="none">
+					<font size="20"/>
+				</textElement>
+				<textFieldExpression class="java.lang.String"><![CDATA["Summary of Calculation Method"]]></textFieldExpression>
+			</textField>
+			<textField>
+				<reportElement x="0" y="30" width="782" height="311"/>
+				<textElement/>
+				<textFieldExpression class="java.lang.String"><![CDATA[$F{summaryOfCalculationMethod}]]></textFieldExpression>
+			</textField>
+		</band>
+	</summary>
 	<noData>
 		<band height="85" splitType="Stretch">
