TASKPM/navalplanner-webapp/src/main/jasper/schedulingProgressPerOrderReport.jrxml

535 lines
21 KiB
XML

<?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="report1" pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<style name="Title" isDefault="false" fontName="Arial" fontSize="26" isBold="true" pdfFontName="Helvetica-Bold"/>
<style name="SubTitle" isDefault="false" forecolor="#666666" fontName="Arial" fontSize="18"/>
<style name="Column header" isDefault="false" forecolor="#666666" fontName="Arial" fontSize="12" isBold="true"/>
<style name="Detail" isDefault="false" fontName="Arial" fontSize="12"/>
<parameter name="referenceDate" class="java.util.Date"/>
<parameter name="orderName" class="java.lang.String"/>
<parameter name="startingDate" class="java.util.Date"/>
<parameter name="endingDate" class="java.util.Date"/>
<parameter name="advanceType" class="java.lang.String"/>
<parameter name="showFootnote" class="java.lang.Boolean"/>
<field name="orderName" class="java.lang.String"/>
<field name="estimatedHours" class="java.lang.Integer"/>
<field name="totalPlannedHours" class="java.lang.Integer"/>
<field name="partialPlannedHours" class="java.lang.Integer"/>
<field name="realHours" class="java.lang.Integer"/>
<field name="averageProgress" class="java.math.BigDecimal"/>
<field name="imputedProgress" class="java.lang.Double"/>
<field name="plannedProgress" class="java.lang.Double"/>
<field name="costDifference" class="java.math.BigDecimal"/>
<field name="planningDifference" class="java.math.BigDecimal"/>
<field name="ratioCostDifference" class="java.math.BigDecimal"/>
<field name="ratioPlanningDifference" class="java.math.BigDecimal"/>
<field name="advanceTypeDoesNotApply" class="java.lang.Boolean"/>
<variable name="advanceTypeDoesNotApply" class="java.lang.Integer" calculation="Sum">
<variableExpression><![CDATA[($F{advanceTypeDoesNotApply}.equals(java.lang.Boolean.TRUE)) ?
new java.lang.Integer(1) :
new java.lang.Integer(0)]]></variableExpression>
<initialValueExpression><![CDATA[new java.lang.Integer(0)]]></initialValueExpression>
</variable>
<group name="Group2">
<groupExpression><![CDATA[(int)($V{REPORT_COUNT}/5)]]></groupExpression>
</group>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="176" splitType="Stretch">
<image scaleImage="RealHeight">
<reportElement x="316" y="3" width="239" height="65"/>
<imageExpression class="java.lang.String"><![CDATA["logos/navalpro_logo.gif"]]></imageExpression>
</image>
<staticText>
<reportElement style="Title" x="0" y="13" width="263" height="33"/>
<textElement verticalAlignment="Middle"/>
<text><![CDATA[Progress report]]></text>
</staticText>
<staticText>
<reportElement style="SubTitle" x="34" y="46" width="252" height="22">
<printWhenExpression><![CDATA[new java.lang.Boolean($P{referenceDate} != null)]]></printWhenExpression>
</reportElement>
<textElement/>
<text><![CDATA[Scheduling progress per order]]></text>
</staticText>
<staticText>
<reportElement x="1" y="116" width="85" height="20"/>
<textElement verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Reference date:]]></text>
</staticText>
<textField pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement x="86" y="116" width="100" height="20"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression class="java.util.Date"><![CDATA[$P{referenceDate}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="1" y="136" width="85" height="20">
<printWhenExpression><![CDATA[new java.lang.Boolean($P{startingDate} != null)]]></printWhenExpression>
</reportElement>
<textElement verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Starting date:]]></text>
</staticText>
<textField pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement x="86" y="136" width="100" height="20">
<printWhenExpression><![CDATA[new java.lang.Boolean($P{startingDate} != null)]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle"/>
<textFieldExpression class="java.util.Date"><![CDATA[$P{startingDate}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="186" y="136" width="85" height="20">
<printWhenExpression><![CDATA[new java.lang.Boolean($P{endingDate} != null)]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Ending date:]]></text>
</staticText>
<textField pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement x="271" y="136" width="100" height="20">
<printWhenExpression><![CDATA[new java.lang.Boolean($P{endingDate} != null)]]></printWhenExpression>
</reportElement>
<textElement verticalAlignment="Middle"/>
<textFieldExpression class="java.util.Date"><![CDATA[$P{endingDate}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="1" y="76" width="85" height="20"/>
<textElement verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Advance type:]]></text>
</staticText>
<textField>
<reportElement x="86" y="76" width="281" height="20"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.String"><![CDATA[$P{advanceType}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="1" y="96" width="85" height="20"/>
<textElement verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Orders:]]></text>
</staticText>
<textField>
<reportElement x="86" y="96" width="469" height="20"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.String"><![CDATA[$P{orderName}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="115" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement x="165" y="21" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$F{estimatedHours}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="446" y="21" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$F{partialPlannedHours}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="165" y="36" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$F{totalPlannedHours}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="446" y="36" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$F{realHours}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="0" y="1" width="123" height="16"/>
<textElement textAlignment="Left" verticalAlignment="Bottom">
<font size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{orderName}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00" isBlankWhenNull="true">
<reportElement x="165" y="91" width="106" height="20"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.Double"><![CDATA[$F{plannedProgress}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="446" y="81" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{ratioCostDifference}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="446" y="96" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{ratioPlanningDifference}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00" isBlankWhenNull="true">
<reportElement x="165" y="71" width="106" height="20"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.Double"><![CDATA[$F{imputedProgress}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="446" y="66" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{planningDifference}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="446" y="51" width="106" height="15"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{costDifference}]]></textFieldExpression>
</textField>
<staticText>
<reportElement style="Column header" mode="Opaque" x="0" y="21" width="85" height="30" backcolor="#E0E4FB"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="10" isBold="true"/>
</textElement>
<text><![CDATA[Total hours]]></text>
</staticText>
<staticText>
<reportElement style="Column header" mode="Opaque" x="85" y="21" width="80" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Estimated]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="85" y="36" width="80" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Planned]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="85" y="51" width="80" height="20"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Measured]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="85" y="71" width="80" height="20"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Imputed]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="85" y="91" width="80" height="20"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Planned]]></text>
</staticText>
<staticText>
<reportElement style="Column header" mode="Opaque" x="276" y="21" width="85" height="30" backcolor="#E0E4FB"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="10" isBold="true"/>
</textElement>
<text><![CDATA[Hours up to date]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="361" y="21" width="85" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Planned]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="361" y="36" width="85" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Real]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="361" y="51" width="85" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Cost]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="361" y="66" width="85" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Planned]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="361" y="81" width="85" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Cost ratio]]></text>
</staticText>
<staticText>
<reportElement style="Column header" x="361" y="96" width="85" height="15"/>
<box>
<pen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9" isBold="true"/>
</textElement>
<text><![CDATA[Planned ratio]]></text>
</staticText>
<line>
<reportElement x="0" y="17" width="552" height="1">
<printWhenExpression><![CDATA[new java.lang.Boolean($F{orderName} != null)]]></printWhenExpression>
</reportElement>
</line>
<staticText>
<reportElement style="Column header" mode="Opaque" x="0" y="51" width="85" height="60" backcolor="#E0E4FB"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="10" isBold="true"/>
</textElement>
<text><![CDATA[Progress]]></text>
</staticText>
<staticText>
<reportElement style="Column header" mode="Opaque" x="276" y="51" width="85" height="60" backcolor="#E0E4FB"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="10" isBold="true"/>
</textElement>
<text><![CDATA[Difference]]></text>
</staticText>
<textField pattern="###0.00;-###0.00" isBlankWhenNull="true">
<reportElement x="165" y="51" width="106" height="20"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{averageProgress}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="271" y="51" width="5" height="20">
<printWhenExpression><![CDATA[new java.lang.Boolean($F{advanceTypeDoesNotApply}.equals(java.lang.Boolean.TRUE))]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[*]]></text>
</staticText>
<staticText>
<reportElement x="552" y="51" width="5" height="15">
<printWhenExpression><![CDATA[new java.lang.Boolean($F{advanceTypeDoesNotApply}.equals(java.lang.Boolean.TRUE))]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[*]]></text>
</staticText>
<staticText>
<reportElement x="553" y="66" width="5" height="15">
<printWhenExpression><![CDATA[new java.lang.Boolean($F{advanceTypeDoesNotApply}.equals(java.lang.Boolean.TRUE))]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[*]]></text>
</staticText>
<staticText>
<reportElement x="553" y="81" width="5" height="15">
<printWhenExpression><![CDATA[new java.lang.Boolean($F{advanceTypeDoesNotApply}.equals(java.lang.Boolean.TRUE))]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[*]]></text>
</staticText>
<staticText>
<reportElement x="553" y="96" width="5" height="15">
<printWhenExpression><![CDATA[new java.lang.Boolean($F{advanceTypeDoesNotApply}.equals(java.lang.Boolean.TRUE))]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[*]]></text>
</staticText>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="23" splitType="Stretch">
<textField>
<reportElement style="Column header" x="433" y="0" width="80" height="20"/>
<textElement textAlignment="Right">
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement style="Column header" x="513" y="0" width="40" height="20"/>
<textElement>
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField pattern="EEEEE dd MMMMM yyyy">
<reportElement style="Column header" x="0" y="0" width="197" height="20"/>
<textElement>
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression class="java.util.Date"><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
</band>
</pageFooter>
<lastPageFooter>
<band height="18">
<staticText>
<reportElement x="0" y="0" width="555" height="16">
<printWhenExpression><![CDATA[new java.lang.Boolean(
!$V{advanceTypeDoesNotApply}.equals(new java.lang.Integer(0))) ]]></printWhenExpression>
</reportElement>
<textElement/>
<text><![CDATA[* Selected advance type is not available for this order]]></text>
</staticText>
</band>
</lastPageFooter>
<summary>
<band splitType="Stretch"/>
</summary>
</jasperReport>