<?xml version="1.0" encoding="UTF-8"?>

<report name="TimeCard1" orientation="Portrait" page-width="605" page-height="857"

        left-margin="30" right-margin="15" top-margin="20" bottom-margin="5"

        column-space="8">



  <parameters>

    <parameter name="Title" type="java.lang.String" init=""/>

    <parameter name="Footer" type="java.lang.String" init=""/>

    <parameter name="StartDate" type="java.lang.Long" init="new java.lang.Long(-1)"/>

    <parameter name="EndDate" type="java.lang.Long" init="new java.lang.Long(-1)"/>

    <parameter name="Order" type="java.lang.String" init='"T2.calcDate,T2.empNumber,T2.numLaborLevel1,T2.numLaborLevel2,T2.numLaborLevel3,T2.numLaborLevel4,T2.numLaborLevel5,T2.numLaborLevel6"'/>

    <parameter name="CostRate" type="java.lang.Boolean" init="Boolean.FALSE"/>

    <parameter name="BillableRate" type="java.lang.Boolean" init="Boolean.FALSE"/>

    <parameter name="Zone" type="java.lang.Boolean" init="Boolean.FALSE"/>

    <parameter name="EmpSign" type="java.lang.Boolean" init="new java.lang.Boolean(false)"/>

    <parameter name="SupSign" type="java.lang.Boolean" init="new java.lang.Boolean(false)"/>

    <parameter name="Comments" type="java.lang.Boolean" init="new java.lang.Boolean(false)"/>

    <parameter name="MainDS" type="com.amano.zeus.reports.CustomDS" />

    <parameter name="RepeatTitle" type="java.lang.Boolean" init="Boolean.FALSE"/>

  </parameters>



  <fields>

    <field name="id" type="java.lang.Integer"/>

    <field name="calcDate" type="java.lang.Long"/>

    <field name="empNumber" type="java.lang.String"/>

    <field name="empBadgeNumber" type="java.lang.String"/>

    <field name="empFirstName" type="java.lang.String"/>

    <field name="empLastName" type="java.lang.String"/>

    <field name="empPayrollId" type="java.lang.String"/>

    <field name="LLRID" type="java.lang.Integer"/>

    <field name="numLaborLevel1" type="java.lang.Integer"/>

    <field name="numLaborLevel2" type="java.lang.Integer"/>

    <field name="numLaborLevel3" type="java.lang.Integer"/>

    <field name="numLaborLevel4" type="java.lang.Integer"/>

    <field name="numLaborLevel5" type="java.lang.Integer"/>

    <field name="numLaborLevel6" type="java.lang.Integer"/>

    <field name="laborName1" type="java.lang.String"/>

    <field name="laborName2" type="java.lang.String"/>

    <field name="laborName3" type="java.lang.String"/>

    <field name="laborName4" type="java.lang.String"/>

    <field name="laborName5" type="java.lang.String"/>

    <field name="laborName6" type="java.lang.String"/>

    <field name="payCode" type="java.lang.String"/>

    <field name="reason" type="java.lang.String"/>

    <field name="hoursMin" type="java.lang.Long"/>

    <field name="hoursHund" type="java.lang.Double"/>

    <field name="SCHID" type="java.lang.Integer"/>

    <field name="schedType" type="java.lang.Integer"/>

    <field name="TZ" type="java.lang.String"/>

    <field name="schPosition" type="java.lang.Integer"/>

    <field name="recordType" type="java.lang.Integer"/>

    <field name="dollars" type="java.lang.Float"/>

    <field name="empId" type="java.lang.Integer"/>

    <field name="zone" type="java.lang.Integer"/>

    <field name="wageRate" type="java.lang.String"/>

    <field name="wageTotal" type="java.lang.Double"/>

    <field name="billableRate" type="java.lang.String"/>

    <field name="billableTotal" type="java.lang.Double"/>

    <field name="CUSTOM" type="java.lang.String"/>

    <field name="dailyExceptions" type="java.lang.String"/>

  </fields>



  <report-title font-size="18" bold="true" height="50" align="Center">

    <line points="2" height="0"/>

    <text name="Title" left="0" top = "2" height="20" />

    <text expr-type="java.lang.String" width="535" left="0" top="24" height="12" font-size="10" bold="false"

          expression='$P{MainDS}.timecardReportFormating.formatDateRange("Date range:",$P{StartDate},$P{EndDate})'/>

    <line points="2" left="0" top="38" height="0"/>

  </report-title>



  <!-- This would repeat the Title on every page if specified. -->

  <title-repeat font-size="18" bold="true" height="48" align="Center"

                printwhen='$P{MainDS}.timecardReportFormating.isPrintTitleOnEveryPage($V{PAGE_NUMBER}, $P{RepeatTitle})'>

    <line points="2" height="0"/>

    <text name="Title" left="0" top = "2" height="20" />

    <text expr-type="java.lang.String" width="535" left="0" top="24" height="12" font-size="10" bold="false"

          expression='$P{MainDS}.timecardReportFormating.formatDateRange("Date range:",$P{StartDate},$P{EndDate})'/>

    <line points="2" left="0" top="38" height="0"/>

  </title-repeat>



  <report-footer font-size="10" bold="true" height="49">

    <line points="2" height="0" />

    <text expr-type="java.util.Date" expression="new Date()" width="140" left="0" height="10"/>

    <text expr-type="java.lang.String" expression='"Page " + $V{PAGE_NUMBER} + " of "'

          width="67" align="Right" left="460" height="12"/>

    <text expr-type="java.lang.String" expression='" " + $V{PAGE_NUMBER}'

          evaluation-time="Report" width="30" height="12" left="530" align="Left"/>

    <text name="Footer" width="520" top="13" height="11" left="0" align="Left" />

  </report-footer>



  <!-- 

  <captions bold="true" color="#FFFFFF" background="#333333" align="Left">

    <const text="Date" width="55" left="10"/>

    <text expr-type="java.lang.String" width="180" left="80"

          expression="$P{MainDS}.timecardReportFormating.getInOutString()"/>

    <text expr-type="java.lang.String" width="40" left="175" align="Left"

          expression='"Pay Code"'/>

    <text expr-type="java.lang.String" width="35" left="225" align="Left"

          expression='($P{Zone}.booleanValue()) ? "Zone" : " "'/>

    <text expr-type="java.lang.String" width="50" left="255" align="Right"

          expression='($P{CostRate}.booleanValue()) ? "Wage Rate" : ($P{BillableRate}.booleanValue()) ? "Billable Rate" : " "'/>

    <text expr-type="java.lang.String" width="50" left="310" align="Right"

          expression='($P{CostRate}.booleanValue()) ? "Wage Total" : ($P{BillableRate}.booleanValue()) ? "Billable Total" : " "'/>

     <text expr-type="java.lang.String" width="60" left="380" align="Left"

          expression='"Hours"'/>

    <const text="Schedule" width="50" left="440" align="Left"/>

    <const text="Total" width="50" left="530" align="Left"/>

  </captions>

  -->

     

  <captions bold="true" color="#FFFFFF" background="#333333" align="Left">

    <const text="Date" width="28" left="3"/>

    <text expr-type="java.lang.String" width="180" left="80"

          expression="$P{MainDS}.timecardReportFormating.getInOutString()"/>

    <const text="Pay Code" width="55" left="260"/>

    <text expr-type="java.lang.String" width="35" left="315" align="Left"

          expression='($P{Zone}.booleanValue()) ? "Zone" : " "'/>

    <text expr-type="java.lang.String" width="15" left="350" align="Right"

          expression='($P{CostRate}.booleanValue()) ? "Wage Rate" : ($P{BillableRate}.booleanValue()) ? "Billable Rate" : " "'/>

    <text expr-type="java.lang.String" width="10" left="365" align="Right"

          expression='($P{CostRate}.booleanValue()) ? "Wage Total" : ($P{BillableRate}.booleanValue()) ? "Billable Total" : " "'/>

     <text expr-type="java.lang.String" width="60" left="380" align="Left"

          expression='"Hours"'/>          

    <const text="Schedule" width="50" left="440" align="Left"/>

    <const text="Total" width="45" left="530" align="Left"/>

  </captions>       

  <group name="DATE_GROUP" field="calcDate" group-min-height="50">

    <counter name="DATE_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="DATE_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="DATE_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="DATE_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="DATE_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#C0C0C0" bold="true" printwhen='new Boolean($F{calcDate}!=null)'>

      <text expr-type="java.lang.String" width="75"

            expression='$P{MainDS}.timecardReportFormating.formatDate($F{calcDate},$F{TZ})'/>

      <text expr-type="java.lang.String" width="50"

            expression='$P{MainDS}.timecardReportFormating.formatDay($F{calcDate},$F{TZ})'/>

      <text expr-type="java.lang.String" width="76" left="430" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{DATE_TOTAL},$V{DATE_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" bold="true" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{DATE_DOLLAR_TOTAL})'/>

    </header>

    <footer height="24" printwhen='new Boolean($F{calcDate}!=null)'>

      <line points="1" left="175" width="382" height="0" is-print = '$P{MainDS}.timecardReportFormating.isPrintGroupField("calcDate")'/>

      <text expr-type="java.lang.String" left="10" width="100" height="10" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatDate($F{calcDate},$F{TZ})' is-print = '$P{MainDS}.timecardReportFormating.isPrintGroupField("calcDate")'/>

      <const text="TOTAL :" width="45" bold="true" height="10" left="175" is-print = '$P{MainDS}.timecardReportFormating.isPrintGroupField("calcDate")'/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

              $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

              $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

              $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

              $F{calcDate},"calcDate",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float" is-print = '$P{MainDS}.timecardReportFormating.isPrintGroupField("calcDate")'

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{DATE_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{DATE_BILLABLE_TOTAL}) : ""' />

    </footer>

  </group>



  <group name="EMPLOYEE_GROUP" field="empNumber" group-min-height="50">

    <counter name="EMP_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="EMP_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="EMP_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="EMP_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="EMP_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#CFC8F0" printwhen='new Boolean($F{empNumber}!=null)'>

      <!-- 

      <const text="Employee #:" width="35"/>

      <text name="empNumber" width="50" left="47"/>

      <const text="Badge #:" width="35" left="97"/>

      <text name="empBadgeNumber" width="95" left="132"/>

      <text expr-type="java.lang.String" width="200"

            expression='$P{MainDS}.timecardReportFormating.formatEmployeeName($F{empFirstName},$F{empLastName}, $P{Order})'/>

      <text expr-type="java.lang.String" width="50" left="430"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{EMP_TOTAL},$V{EMP_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="510" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{EMP_DOLLAR_TOTAL})'/>

       -->

      <const text="Employee #:" width="54"/>

      <text name="empNumber" width="50" left="54"/>

      <const text="Badge #:" width="41" left="104"/>

      <text name="empBadgeNumber" width="85" left="145"/>

      <text expr-type="java.lang.String" width="200" left="230"

            expression='$P{MainDS}.timecardReportFormating.formatEmployeeName($F{empFirstName},$F{empLastName}, $P{Order})'/>

      <text expr-type="java.lang.String" width="76" left="430"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{EMP_TOTAL},$V{EMP_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{EMP_DOLLAR_TOTAL})'/>

    </header>

    

    <footer height="24" printwhen='new Boolean($F{empNumber}!=null)'>

      <line points="1" left="175" width="382" height="0"/>

      <const text="Emp #:" width="30" bold="true" left="10" height="10"/>

      <text name="empNumber" width="50" bold="true" left="40" height="10"/>

      <text expr-type="java.lang.String" width="80" left="92" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.formatEmployeeName($F{empFirstName},$F{empLastName}, $P{Order})'/>

      <const text="TOTAL :" width="45" bold="true" left="175" height="10"/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

              $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

              $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

              $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

              $F{calcDate}, "empNumber",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float"

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{EMP_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{EMP_BILLABLE_TOTAL}) : ""' />

      <text expr-type="java.lang.String" width="110" left="175" bold="true" align="Left" height="12" top="27" position="Float"

        expression='($P{EmpSign}.booleanValue()) ? "Employee Signature   :" : ""'/>

      <line points="Thin" left="285" width="200" height="0" top="35" position="Float" is-print="$P{EmpSign}"/>

      <text expr-type="java.lang.String" width="110" left="175" bold="true" align="Left" height="12" top="45" position="Float"

        expression='($P{SupSign}.booleanValue()) ? "Supervisor Signature :" : ""'/>

      <line points="Thin" left="285" width="200" height="0" top="54" position="Float" is-print="$P{SupSign}"/>    

    </footer>

  </group>

  <group name="LL1_GROUP" field="numLaborLevel1">

    <counter name="LL1_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="LL1_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL1_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="LL1_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL1_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#EDEBFA" printwhen='new Boolean($F{numLaborLevel1}!=null)'>

      <text name="numLaborLevel1" width="50" left="0"/>

      <text name="laborName1" left="70" width="250"/>

      <text expr-type="java.lang.String" width="75" left="430" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{LL1_TOTAL},$V{LL1_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" bold="true" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL1_DOLLAR_TOTAL})'/>

    </header>

    <footer height="24" printwhen='new Boolean($F{numLaborLevel1}!=null)'>

      <line points="1" left="175" width="382" height="0"/>

      <text name="numLaborLevel1" width="50" left="10" bold="true" height="10"/>

      <text name="laborName1" width="115" left="60" bold="true" height="10"/>

      <const text="TOTAL :" width="45" bold="true" left="175" height="10"/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

        expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

          $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

          $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

          $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

          $F{calcDate}, "numLaborLevel1",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float"

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL1_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL1_BILLABLE_TOTAL}) : ""' />

    </footer>

  </group>

  <group name="LL2_GROUP" field="numLaborLevel2">

    <counter name="LL2_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="LL2_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL2_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="LL2_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL2_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#EDEBFA" printwhen='new Boolean($F{numLaborLevel2}!=null)'>

      <text name="numLaborLevel2" width="50" left="0"/>

      <text name="laborName2" left="70" width="250"/>

      <text expr-type="java.lang.String" width="75" left="430" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{LL2_TOTAL},$V{LL2_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" bold="true" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL2_DOLLAR_TOTAL})'/>

    </header>

    <footer height="24" printwhen='new Boolean($F{numLaborLevel2}!=null)'>

      <line points="1" left="175" width="382" height="0"/>

      <text name="numLaborLevel2" width="50" left="10" bold="true" height="10"/>

      <text name="laborName2" width="115" left="60" bold="true" height="10"/>

      <const text="TOTAL :" width="45" bold="true" left="175" height="10"/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

              $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

              $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

              $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

              $F{calcDate}, "numLaborLevel2",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float"

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL2_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL2_BILLABLE_TOTAL}) : ""' />

    </footer>

  </group>

  <group name="LL3_GROUP" field="numLaborLevel3">

    <counter name="LL3_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="LL3_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL3_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="LL3_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL3_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#EDEBFA" printwhen='new Boolean($F{numLaborLevel3}!=null)'>

      <text name="numLaborLevel3" width="50" left="0"/>

      <text name="laborName3" left="70" width="250"/>

      <text expr-type="java.lang.String" width="75" left="430" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{LL3_TOTAL},$V{LL3_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" bold="true" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL3_DOLLAR_TOTAL})'/>

    </header>

    <footer height="24" printwhen='new Boolean($F{numLaborLevel3}!=null)'>

      <line points="1" left="175" width="382" height="0"/>

      <text name="numLaborLevel3" width="50" left="10" bold="true" height="10"/>

      <text name="laborName3" width="115" left="60" bold="true" height="10"/>

      <const text="TOTAL :" width="45" bold="true" left="175" height="10"/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

              $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

              $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

              $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

              $F{calcDate}, "numLaborLevel3",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float"

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL3_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL3_BILLABLE_TOTAL}) : ""' />

    </footer>

  </group>

  <group name="LL4_GROUP" field="numLaborLevel4">

    <counter name="LL4_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="LL4_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL4_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="LL4_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL4_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#EDEBFA" printwhen='new Boolean($F{numLaborLevel4}!=null)'>

      <text name="numLaborLevel4" width="50" left="0"/>

      <text name="laborName4" left="70" width="250"/>

      <text expr-type="java.lang.String" width="75" left="430" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{LL4_TOTAL},$V{LL4_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" bold="true" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL4_DOLLAR_TOTAL})'/>

    </header>

    <footer height="24" printwhen='new Boolean($F{numLaborLevel4}!=null)'>

      <line points="1" left="175" width="382" height="0"/>

      <text name="numLaborLevel4" width="50" left="10" bold="true" height="10"/>

      <text name="laborName4" width="115" left="60" bold="true" height="10"/>

      <const text="TOTAL :" width="45" bold="true" left="175" height="10"/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

              $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

              $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

              $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

              $F{calcDate}, "numLaborLevel4",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float"

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL4_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL4_BILLABLE_TOTAL}) : ""' />

    </footer>

  </group>

  <group name="LL5_GROUP" field="numLaborLevel5">

    <counter name="LL5_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="LL5_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL5_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="LL5_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL5_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#EDEBFA" printwhen='new Boolean($F{numLaborLevel5}!=null)'>

      <text name="numLaborLevel5" width="50" left="0"/>

      <text name="laborName5" left="70" width="250"/>

      <text expr-type="java.lang.String" width="75" left="430" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{LL5_TOTAL},$V{LL5_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" bold="true" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL5_DOLLAR_TOTAL})'/>

    </header>

    <footer height="24" printwhen='new Boolean($F{numLaborLevel5}!=null)'>

      <line points="1" left="175" width="382" height="0"/>

      <text name="numLaborLevel5" width="50" left="10" bold="true" height="10"/>

      <text name="laborName5" width="115" left="60" bold="true" height="10"/>

      <const text="TOTAL :" width="45" bold="true" left="175" height="10"/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

              $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

              $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

              $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

              $F{calcDate}, "numLaborLevel5",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float"

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL5_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL5_BILLABLE_TOTAL}) : ""' />

    </footer>

  </group>

  <group name="LL6_GROUP" field="numLaborLevel6">

    <counter name="LL6_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="LL6_TOTAL_HND" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL6_DOLLAR_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="LL6_WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="LL6_BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <header color="#000000" background="#EDEBFA" printwhen='new Boolean($F{numLaborLevel6}!=null)'>

      <text name="numLaborLevel6" width="50" left="0"/>

      <text name="laborName6" left="70" width="250"/>

      <text expr-type="java.lang.String" width="75" left="430" bold="true"

            expression='$P{MainDS}.timecardReportFormating.formatTotalHoursAmount($V{LL6_TOTAL},$V{LL6_TOTAL_HND})'/>

      <text expr-type="java.lang.String" width="50" left="506" bold="true" align="Right"

            expression='$P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL6_DOLLAR_TOTAL})'/>

    </header>

    <footer height="24" printwhen='new Boolean($F{numLaborLevel6}!=null)'>

      <line points="1" left="175" width="382" height="0"/>

      <text name="numLaborLevel6" width="50" left="10" bold="true" height="10"/>

      <text name="laborName6" width="115" left="60" bold="true" height="10"/>

      <const text="TOTAL :" width="45" bold="true" left="175" height="10"/>

      <text expr-type="java.lang.String" left="223" width="300" bold="true" height="10"

            expression='$P{MainDS}.timecardReportFormating.footerGroupTotal($F{numLaborLevel1}.toString() + "," +

              $F{numLaborLevel2}.toString() + "," + $F{numLaborLevel3}.toString() + "," +

              $F{numLaborLevel4}.toString() + "," + $F{numLaborLevel5}.toString() + "," +

              $F{numLaborLevel6}.toString() + "," + $F{empId}.toString(),

              $F{calcDate}, "numLaborLevel6",$P{MainDS})'/>

      <text expr-type="java.lang.String" width="120" left="223" bold="true" align="Left" height="10" top="12" position="Float"

            expression='($P{CostRate}.booleanValue()) ? "Wage : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL6_WAGE_TOTAL}) : ($P{BillableRate}.booleanValue()) ? "Billable : " + $P{MainDS}.timecardReportFormating.formatDollarAmount($V{LL6_BILLABLE_TOTAL}) : ""' />

    </footer>

  </group>



  <group name="CUSTOM_GROUP" field="CUSTOM" >

    <counter name="HOURSMIN_TOTAL" field="hoursMin" type="Sum" init="new java.lang.Long(0)"/>

    <counter name="HOURSHUND_TOTAL" field="hoursHund" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="DOLLARS_TOTAL" field="dollars" type="Sum" init="new java.lang.Float(0)"/>

    <counter name="WAGE_TOTAL" field="wageTotal" type="Sum" init="new java.lang.Double(0)"/>

    <counter name="BILLABLE_TOTAL" field="billableTotal" type="Sum" init="new java.lang.Double(0)"/>

    <footer>

      <text expr-type="java.lang.String" width="0" left="0"

          expression='$P{MainDS}.timecardReportFormating.TimeCardNewLLSelect($F{calcDate},$F{empNumber},$P{Order}, $F{numLaborLevel1}, $F{numLaborLevel2}, $F{numLaborLevel3}, $F{numLaborLevel4}, $F{numLaborLevel5},  $F{numLaborLevel6},$F{SCHID},$F{schedType})'/>

      <text expr-type="java.lang.String" width="35" left="0"

          expression='$P{MainDS}.timecardReportFormating.formatDateTimecard($F{calcDate},$F{TZ},$P{Order})'/>

      <text expr-type="java.lang.String" width="20" align="Left" left="35"

            expression='$P{MainDS}.timecardReportFormating.formatDayTimecard($F{calcDate},$F{TZ},$P{Order})'/>



      <text expr-type="java.lang.String" width="175" left="265" align="Left"

          	expression='$P{MainDS}.timecardReportFormating.timecardDetailFormatBrkHourAdj($F{SCHID}, $F{schedType}, $F{calcDate}, $F{empNumber}, $F{id},$P{MainDS})'/>



      <!-- Switch between displaying Punches by Labor. Uses 'Order' parameter to see if Labor Levels is part of the Order -->

      <text expr-type="java.lang.String" width="190" left="70" align="Left" is-print='new Boolean($P{Order}.indexOf("LABOR") &lt; 0)'

          expression='$P{MainDS}.timecardReportFormating.timecardDetailPrintPunch($F{SCHID}, $F{schedType}, $F{calcDate}, $F{empNumber}, $F{id}, $F{recordType},$P{MainDS})'/>

          

      <text expr-type="java.lang.String" width="190" left="70" align="Left" is-print='new Boolean($P{Order}.indexOf("LABOR") &gt; 0)'

          expression='$P{MainDS}.timecardReportFormating.timecardDetailPrintPunch($F{SCHID}, $F{schedType}, $F{calcDate}, $F{empNumber}, $F{id}, $F{recordType},$F{numLaborLevel1},$F{numLaborLevel2},$F{numLaborLevel3},$F{numLaborLevel4},$F{numLaborLevel5},$F{numLaborLevel6},$P{MainDS})'/>

      <text expr-type="java.lang.String" width="48" left="260"

            expression='$P{MainDS}.timecardReportFormating.formatPayCode($F{payCode}.toString())'/>

 

 

	  <text expr-type="java.lang.String" width="20" left="315" align="Left"

            expression='($P{Zone}.booleanValue()) ? $P{MainDS}.timecardReportFormating.timecardDetailFormatZone($F{zone}.toString()) : ""'/>

	  <text expr-type="java.lang.String" width="40" left="350" align="Center"

            expression='($P{CostRate}.booleanValue()) ? $P{MainDS}.timecardReportFormating.timecardDetailFormatWageRate($F{wageRate},$F{SCHID},$F{schedType},$F{calcDate},$F{empNumber},$F{id},$F{payCode}) : ""'/>



	  <text expr-type="java.lang.String" width="50" left="365" align="Center"

            expression='($P{CostRate}.booleanValue()) ? $P{MainDS}.timecardReportFormating.timecardDetailFormatDollarAmount($V{WAGE_TOTAL}) : ""' />

	  <text expr-type="java.lang.String" width="40" left="350" align="Center"

            expression='($P{BillableRate}.booleanValue()) ? $P{MainDS}.timecardReportFormating.timecardDetailFormatBillableRate($F{billableRate}) : ""'/>

      <text expr-type="java.lang.String" width="50" left="380" align="Center"

            expression='($P{BillableRate}.booleanValue()) ? $P{MainDS}.timecardReportFormating.timecardDetailFormatDollarAmount($V{BILLABLE_TOTAL}) : ""' />



      <text expr-type="java.lang.String" width="60" left="380"																		

            expression='$P{MainDS}.timecardReportFormating.timecardDetailFormatHoursAmount(

            $V{HOURSMIN_TOTAL},$V{HOURSHUND_TOTAL}, $V{DOLLARS_TOTAL}, $F{recordType}, $F{SCHID},$F{schedType},$F{calcDate},$F{empNumber},$F{id},$F{dailyExceptions})'/>

       

      <!--<text expr-type="java.lang.String" width="130" left="70" align="Left"

            expression='$F{reason}' is-print="$P{Comments}"/>

      --><text expr-type="java.lang.String" width="132" left="449"

            expression='$P{MainDS}.timecardReportFormating.timecardDetailFindAndFormatScheduleNew($F{calcDate},$F{empId},$F{empNumber},$F{SCHID},$F{schedType},$F{id},$P{MainDS})'/>    







      <!-- Switch between displaying Punches by Labor. Uses 'Order' parameter to see if Labor Levels is part of the Order -->

      <!-- <text expr-type="java.lang.String" width="100" left="70" align="Left" is-print='new Boolean($P{Order}.indexOf("labor") &lt; 0)'

          expression='$P{MainDS}.timecardReportFormating.printPunch($F{SCHID}, $F{schedType}, $F{calcDate}, $F{empNumber}, $F{id}, $F{recordType},$P{MainDS})'/>



      <text expr-type="java.lang.String" width="100" left="70" align="Left" is-print='new Boolean($P{Order}.indexOf("labor") &gt; 0)'

          expression='$P{MainDS}.timecardReportFormating.printPunch($F{SCHID}, $F{schedType}, $F{calcDate}, $F{empNumber}, $F{id}, $F{recordType},$F{numLaborLevel1},$F{numLaborLevel2},$F{numLaborLevel3},$F{numLaborLevel4},$F{numLaborLevel5},$F{numLaborLevel6},$P{MainDS})'/>



      <text expr-type="java.lang.String" width="40" left="180" align="Left"

          expression='$P{MainDS}.timecardReportFormating.formatPayCode($F{payCode})'/>

      <text expr-type="java.lang.String" width="40" left="225" align="Left"

            expression='($P{Zone}.booleanValue()) ? $F{zone}.toString() : ""' />

      <text expr-type="java.lang.String" width="40" left="265" align="Right"

            expression='($P{CostRate}.booleanValue()) ? $F{wageRate} : ""' />

      <text expr-type="java.lang.String" width="50" left="310" align="Right"

            expression='($P{CostRate}.booleanValue()) ? $P{MainDS}.timecardReportFormating.formatDollarAmount($V{WAGE_TOTAL}) : ""' />

      <text expr-type="java.lang.String" width="40" left="265" align="Right"

            expression='($P{BillableRate}.booleanValue()) ? $F{billableRate} : ""' />

      <text expr-type="java.lang.String" width="50" left="310" align="Right"

            expression='($P{BillableRate}.booleanValue()) ? $P{MainDS}.timecardReportFormating.formatDollarAmount($V{BILLABLE_TOTAL}) : ""' />

     <text expr-type="java.lang.String" width="60" left="380" align="Left"

            expression='$P{MainDS}.timecardReportFormating.formatHoursAmount($V{HOURSMIN_TOTAL},$V{HOURSHUND_TOTAL}, $V{DOLLARS_TOTAL}, $F{recordType})'/>

      <text expr-type="java.lang.String" width="130" left="440" align="Left"

            expression='$F{reason}' is-print="$P{Comments}"/>

      <text expr-type="java.lang.String" width="130" left="440" align="Left"

            expression='$P{MainDS}.timecardReportFormating.findAndFormatSchedule($F{calcDate},$F{empId},$F{SCHID},$F{schedType},$P{MainDS})'/>

    --></footer>

  </group>



</report>

