📄 projecthourssub.jrxml
字号:
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="ProjectHoursSub"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="612"
pageHeight="792"
columnWidth="612"
columnSpacing="0"
leftMargin="0"
rightMargin="0"
topMargin="0"
bottomMargin="0"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<parameter name="PSdate" isForPrompting="true" class="java.sql.Timestamp"/>
<parameter name="PEdate" isForPrompting="true" class="java.sql.Timestamp"/>
<parameter name="PProjID" isForPrompting="true" class="java.math.BigDecimal"/>
<parameter name="PBillable" isForPrompting="true" class="java.lang.String"/>
<parameter name="PFromDate" isForPrompting="true" class="java.sql.Timestamp"/>
<parameter name="PToDate" isForPrompting="true" class="java.sql.Timestamp"/>
<queryString><![CDATA[SELECT TS.WEEKBEGINING, TS.WEEKBEGINING+'0 day' as SUNDATE, TS.WEEKBEGINING+'1 day' as MONDATE, TS.WEEKBEGINING+'2 day' as TUEDATE, TS.WEEKBEGINING+'3 day' as WEDDATE, TS.WEEKBEGINING+'4 day' as THUDATE, TS.WEEKBEGINING+'5 day' as FRIDATE, TS.WEEKBEGINING+'6 day' as SATDATE, TS.PROJECTID, TS.BFINALIZED, TS.SAT, TS.FRI, TS.THU, TS.WED, TS.TUE, TS.MON, TS.SUNFROM VPROJHOURS TSWHERE TS.BFINALIZED = 'T'AND TS.PROJECTID=$P{PProjID}AND (($P{PBillable}='T' AND TS.BBILLABLE='T') OR ($P{PBillable}='F' AND TS.BBILLABLE='F')OR $P{PBillable} is null OR $P{PBillable} <>'T' OR $P{PBillable} <>'F')ORDER BY TS.PROJECTID ASC]]></queryString>
<field name="WEEKBEGINING" class="java.sql.Timestamp"/>
<field name="PROJECTID" class="java.math.BigDecimal"/>
<field name="BFINALIZED" class="java.lang.String"/>
<field name="SAT" class="java.math.BigDecimal"/>
<field name="FRI" class="java.math.BigDecimal"/>
<field name="THU" class="java.math.BigDecimal"/>
<field name="WED" class="java.math.BigDecimal"/>
<field name="TUE" class="java.math.BigDecimal"/>
<field name="MON" class="java.math.BigDecimal"/>
<field name="SUN" class="java.math.BigDecimal"/>
<field name="MONDATE" class="java.sql.Timestamp"/>
<field name="FRIDATE" class="java.sql.Timestamp"/>
<field name="TUEDATE" class="java.sql.Timestamp"/>
<field name="WEDDATE" class="java.sql.Timestamp"/>
<field name="THUDATE" class="java.sql.Timestamp"/>
<field name="SUNDATE" class="java.sql.Timestamp"/>
<field name="SATDATE" class="java.sql.Timestamp"/>
<variable name="VPageNumber" class="java.lang.String" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA["Page " + $V{PAGE_NUMBER} + " of " + $V{PAGE_NUMBER} + ""]]></variableExpression>
</variable>
<variable name="VEndDateFirstDate" class="java.lang.String" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[($P{PEdate}.toString()).substring( 0,8 )+"01" ]]></variableExpression>
</variable>
<variable name="VStartDateMonth" class="java.lang.Integer" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[new java.lang.Integer( $P{PSdate}.getMonth() )]]></variableExpression>
</variable>
<variable name="VEndDateMonth" class="java.lang.Integer" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[new java.lang.Integer( $P{PEdate}.getMonth() )]]></variableExpression>
</variable>
<variable name="VCurrMonthFirstDay" class="java.lang.String" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $V{VStartDateMonth}.equals( $V{VEndDateMonth} ) ? $P{PSdate}.toString() :$V{VEndDateFirstDate} )]]></variableExpression>
</variable>
<variable name="VCurrMonthFirstDay_FromDate" class="java.lang.String" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( ($P{PFromDate}.toString()).compareTo($V{VCurrMonthFirstDay} )>0? $P{PFromDate}.toString() :$V{VCurrMonthFirstDay} )]]></variableExpression>
</variable>
<variable name="VEDate_ToDate" class="java.sql.Timestamp" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $P{PEdate}.after( $P{PToDate} ) ? $P{PToDate} : $P{PEdate} )]]></variableExpression>
</variable>
<variable name="VSDate_FromDate" class="java.sql.Timestamp" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $P{PSdate}.before( $P{PFromDate} ) ? $P{PFromDate} : $P{PSdate} )]]></variableExpression>
</variable>
<variable name="VLastMonthLastDay_ToDate" class="java.lang.String" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $V{VEndDateFirstDate}.compareTo( $P{PToDate}.toString() ) >0 ? $P{PToDate}.toString() : $V{VEndDateFirstDate} )]]></variableExpression>
</variable>
<variable name="VSun" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( ($F{SUNDATE}.toString()).compareTo( $V{VCurrMonthFirstDay_FromDate} )>=0 ?( $F{SUNDATE}.compareTo( $V{VEDate_ToDate} )<=0 ? $F{SUN} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VMon" class="java.math.BigDecimal" resetType="None" calculation="Nothing">
<variableExpression><![CDATA[( ($F{MONDATE}.toString()).compareTo( $V{VCurrMonthFirstDay_FromDate} )>=0 ?( $F{MONDATE}.compareTo( $V{VEDate_ToDate} )<=0 ? $F{MON} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VTue" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( ($F{TUEDATE}.toString()).compareTo($V{VCurrMonthFirstDay_FromDate} )>=0 ?( $F{TUEDATE}.compareTo( $V{VEDate_ToDate} )<=0 ? $F{TUE} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VWed" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( ($F{WEDDATE}.toString()).compareTo( $V{VCurrMonthFirstDay_FromDate} )>=0 ?( $F{WEDDATE}.compareTo( $V{VEDate_ToDate} )<=0 ? $F{WED} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VThu" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( ($F{THUDATE}.toString()).compareTo( $V{VCurrMonthFirstDay_FromDate} )>=0 ?( $F{THUDATE}.compareTo( $V{VEDate_ToDate} )<=0 ? $F{THU} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VFri" class="java.math.BigDecimal" resetType="None" calculation="Nothing">
<variableExpression><![CDATA[( ($F{FRIDATE}.toString()).compareTo( $V{VCurrMonthFirstDay_FromDate} )>=0 ?( $F{FRIDATE}.compareTo( $V{VEDate_ToDate} )<=0 ? $F{FRI} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VSat" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( ($F{SATDATE}.toString()).compareTo( $V{VCurrMonthFirstDay_FromDate} )>=0 ?( $F{SATDATE}.compareTo( $V{VEDate_ToDate} )<=0 ? $F{SAT} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VTotalH" class="java.math.BigDecimal" resetType="None" calculation="Nothing">
<variableExpression><![CDATA[$V{VSun}.add( $V{VMon}.add($V{VTue}.add($V{VWed}.add($V{VThu}.add($V{VFri}.add($V{VSat}))))) )]]></variableExpression>
</variable>
<variable name="VPTotalH" class="java.math.BigDecimal" resetType="Report" calculation="Sum">
<variableExpression><![CDATA[$V{VTotalH}]]></variableExpression>
</variable>
<variable name="VNull" class="java.math.BigDecimal" resetType="None" calculation="Nothing">
<variableExpression><![CDATA[$F{SAT}.add( $F{SAT}.negate() )]]></variableExpression>
</variable>
<variable name="VATotalH" class="java.math.BigDecimal" resetType="Report" calculation="Sum">
<variableExpression><![CDATA[$V{VTotalH}]]></variableExpression>
</variable>
<variable name="VSun_1" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $F{SUNDATE}.compareTo( $V{VSDate_FromDate} )>=0 ?( ($F{SUNDATE}.toString()).compareTo( $V{VLastMonthLastDay_ToDate} )<0 ? $F{SUN} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VMon_1" class="java.math.BigDecimal" resetType="None" calculation="Nothing">
<variableExpression><![CDATA[( $F{MONDATE}.compareTo( $V{VSDate_FromDate} )>=0 ?( ($F{MONDATE}.toString()).compareTo( $V{VLastMonthLastDay_ToDate} )<0 ? $F{MON} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VTue_1" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $F{TUEDATE}.compareTo( $V{VSDate_FromDate} )>=0 ?( ($F{TUEDATE}.toString()).compareTo( $V{VLastMonthLastDay_ToDate} )<0 ? $F{TUE} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VWed_1" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $F{WEDDATE}.compareTo( $V{VSDate_FromDate} )>=0 ?( ($F{WEDDATE}.toString()).compareTo( $V{VLastMonthLastDay_ToDate} )<0 ? $F{WED} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VThu_1" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $F{THUDATE}.compareTo( $V{VSDate_FromDate} )>=0 ?( ($F{THUDATE}.toString()).compareTo( $V{VLastMonthLastDay_ToDate} )<0 ? $F{THU} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VFri_1" class="java.math.BigDecimal" resetType="None" calculation="Nothing">
<variableExpression><![CDATA[( $F{FRIDATE}.compareTo( $V{VSDate_FromDate} )>=0 ?( ($F{FRIDATE}.toString()).compareTo( $V{VLastMonthLastDay_ToDate} )<0 ? $F{FRI} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VSat_1" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[( $F{SATDATE}.compareTo( $V{VSDate_FromDate} )>=0 ?( ($F{SATDATE}.toString()).compareTo( $V{VLastMonthLastDay_ToDate} )<0 ? $F{SAT} : $V{VNull} ) : $V{VNull} )]]></variableExpression>
</variable>
<variable name="VTotalH_1" class="java.math.BigDecimal" resetType="None" calculation="Nothing">
<variableExpression><![CDATA[$V{VSun_1}.add( $V{VMon_1}.add($V{VTue_1}.add($V{VWed_1}.add($V{VThu_1}.add($V{VFri_1}.add($V{VSat_1}))))) )]]></variableExpression>
</variable>
<variable name="VPTotalH_1" class="java.math.BigDecimal" resetType="Report" calculation="Sum">
<variableExpression><![CDATA[$V{VTotalH_1}]]></variableExpression>
</variable>
<variable name="VTotal" class="java.math.BigDecimal" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[$V{VPTotalH_1}.add( $V{VPTotalH} )]]></variableExpression>
</variable>
<group name="ProjectCode" isStartNewPage="true" >
<groupExpression><![CDATA[$F{PROJECTID}]]></groupExpression>
<groupHeader>
<band height="0" isSplitAllowed="true" >
</band>
</groupHeader>
<groupFooter>
<band height="26" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" pattern="#,##0.00" isBlankWhenNull="true" evaluationTime="Group" evaluationGroup="ProjectCode" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement x="127" y="8" width="104" height="18" key="textField"/>
<box></box>
<textElement textAlignment="Right">
<font fontName="Verdana" pdfFontName="Helvetica-Bold" size="9" isBold="true"/>
</textElement>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{VPTotalH}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="#,##0.00" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement x="3" y="8" width="124" height="18" key="textField"/>
<box></box>
<textElement textAlignment="Right">
<font fontName="Verdana" pdfFontName="Helvetica-Bold" size="9" isBold="true"/>
</textElement>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{VPTotalH_1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="#,##0.00" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement x="232" y="8" width="118" height="18" key="textField"/>
<box></box>
<textElement textAlignment="Right">
<font fontName="Verdana" pdfFontName="Helvetica-Bold" size="9" isBold="true"/>
</textElement>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{VTotal}]]></textFieldExpression>
</textField>
</band>
</groupFooter>
</group>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="0" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band height="0" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="0" isSplitAllowed="true" >
</band>
</columnHeader>
<detail>
<band height="0" isSplitAllowed="true" >
</band>
</detail>
<columnFooter>
<band height="0" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="0" isSplitAllowed="true" >
</band>
</pageFooter>
<summary>
<band height="0" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -