Merge pull request 'fixes bug#AL-3161' (!267) from AL-3161 into master

Reviewed-on: adm/VentaBoletosAdm#267
Reviewed-by: fabio <fabio.faria@rjconsultores.com.br>
master 1.19.1
wallace 2023-09-11 12:08:39 +00:00
commit dcc8332a47
6 changed files with 616 additions and 178 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.19.0</version>
<version>1.19.1</version>
<packaging>war</packaging>
<properties>

View File

@ -8,11 +8,14 @@ import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeSet;
@ -39,137 +42,188 @@ public class RelatorioAproveitamentoFinanceiroTrecho extends Relatorio {
Connection conexao = this.relatorio.getConexao();
Map<String, Object> parametros = this.relatorio.getParametros();
String sqlCombinacoes = gerarCombinacaoTrechos(parametros);
StringBuilder sql = getSQL(parametros, sqlCombinacoes);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString());
stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString()));
stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime()));
stmt.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime()));
ResultSet rset = stmt.executeQuery();
StringBuilder paradasIds = new StringBuilder();
@SuppressWarnings("unchecked")
Map<Integer, List<RutaVO>> mapRutaTrecho = (Map<Integer, List<RutaVO>>) parametros.get("MAPRUTATRECHO");
rset.setFetchSize(500);
for (Entry<Integer, List<RutaVO>> entry : mapRutaTrecho.entrySet()) {
if(entry.getValue() != null && !entry.getValue().isEmpty()) {
paradasIds.append(entry.getValue().get(0).getOrigenId()+","+entry.getValue().get(entry.getValue().size()-1).getOrigenId()+",");
}
if (paradasIds.length() > 0) {
paradasIds.delete(paradasIds.length() - 1, paradasIds.length());
}
while (rset.next()) {
String sqlCombinacoes = gerarCombinacaoTrechos(parametros);
StringBuilder sql = getSQL(parametros, sqlCombinacoes, paradasIds, entry.getKey() );
paradasIds = new StringBuilder();
Map<String, Object> dataResult = new HashMap<String, Object>();
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString());
dataResult.put("LINHA", rset.getString("linha"));
dataResult.put("NUMLINHA", rset.getString("numLinha"));
dataResult.put("SENTIDO", rset.getString("sentido"));
dataResult.put("SERVICO", rset.getString("servico"));
dataResult.put("HORARIO", rset.getString("horario"));
dataResult.put("ORIGEM", rset.getString("origem"));
dataResult.put("DESTINO", rset.getString("destino"));
//Quantidade de assentos do diagrana autobus
BigDecimal assentos = limpaNulo(rset.getBigDecimal("assentos"));
BigDecimal tarifa = limpaNulo(rset.getBigDecimal("tarifa"));
BigDecimal totPassageiros = BigDecimal.ZERO;
BigDecimal totReceita = BigDecimal.ZERO;
Integer viagens =0;
BigDecimal segReceitaOpe = limpaNulo(rset.getBigDecimal("'2'_RECEITA_OPE"));
Integer segQtde = rset.getInt("'2'_QTDE");
BigDecimal segTot = limpaNulo(rset.getBigDecimal("'2'_TOT"));
totPassageiros = totPassageiros.add(segTot);
totReceita = totReceita.add(segReceitaOpe);
viagens = viagens + segQtde;
BigDecimal terReceitaOpe = limpaNulo(rset.getBigDecimal("'3'_RECEITA_OPE"));
Integer terQtde = rset.getInt("'3'_QTDE");
BigDecimal terTot = limpaNulo(rset.getBigDecimal("'3'_TOT"));
totPassageiros = totPassageiros.add(terTot);
totReceita = totReceita.add(terReceitaOpe);
viagens = viagens .intValue() + terQtde.intValue();
BigDecimal quaReceitaOpe = limpaNulo(rset.getBigDecimal("'4'_RECEITA_OPE"));
Integer quaQtde = rset.getInt("'4'_QTDE");
BigDecimal quaTot = limpaNulo(rset.getBigDecimal("'4'_TOT"));
totPassageiros = totPassageiros.add(quaTot);
totReceita = totReceita.add(quaReceitaOpe);
viagens = viagens.intValue() + quaQtde.intValue();
BigDecimal quiReceitaOpe = limpaNulo(rset.getBigDecimal("'5'_RECEITA_OPE"));
Integer quiQtde = rset.getInt("'5'_QTDE");
BigDecimal quiTot = limpaNulo(rset.getBigDecimal("'5'_TOT"));
totPassageiros = totPassageiros.add(quiTot);
totReceita = totReceita.add(quiReceitaOpe);
viagens = viagens.intValue() + quiQtde.intValue();
BigDecimal sexReceitaOpe = limpaNulo(rset.getBigDecimal("'6'_RECEITA_OPE"));
Integer sexQtde = rset.getInt("'6'_QTDE");
BigDecimal sexTot = limpaNulo(rset.getBigDecimal("'6'_TOT"));
totPassageiros = totPassageiros.add(sexTot);
totReceita = totReceita.add(sexReceitaOpe);
viagens = viagens.intValue() + sexQtde.intValue();
BigDecimal sabReceitaOpe = limpaNulo(rset.getBigDecimal("'7'_RECEITA_OPE"));
Integer sabQtde = rset.getInt("'7'_QTDE");
BigDecimal sabTot = limpaNulo(rset.getBigDecimal("'7'_TOT"));
totPassageiros = totPassageiros.add(sabTot);
totReceita = totReceita.add(sabReceitaOpe);
viagens = viagens.intValue() + sabQtde.intValue();
BigDecimal domReceitaOpe = limpaNulo(rset.getBigDecimal("'1'_RECEITA_OPE"));
Integer domQtde = rset.getInt("'1'_QTDE");
BigDecimal domTot = limpaNulo(rset.getBigDecimal("'1'_TOT"));
totPassageiros = totPassageiros.add(domTot);
totReceita = totReceita.add(domReceitaOpe);
viagens = viagens.intValue() + domQtde.intValue();
dataResult.put("VIAGENS", new BigDecimal(viagens));
log.info("VIAGENS: " + viagens );
dataResult.put("ASSENTOS", assentos);
dataResult.put("TARIFA", tarifa);
dataResult.put("TOT_PASSAGEIROS", totPassageiros);
dataResult.put("TOT_RECEITA", totReceita);
dataResult.put("SEG_RECEITA_OPE", segReceitaOpe);
dataResult.put("SEG_QTDE", new BigDecimal(segQtde));
dataResult.put("SEG_TOT", segTot);
dataResult.put("SEG_FIN", calculaMedia(segReceitaOpe, tarifa, segQtde, assentos));
dataResult.put("TER_RECEITA_OPE", terReceitaOpe);
dataResult.put("TER_QTDE", new BigDecimal(terQtde));
dataResult.put("TER_TOT", terTot);
dataResult.put("TER_FIN", calculaMedia(terReceitaOpe, tarifa, terQtde, assentos));
dataResult.put("QUA_RECEITA_OPE", quaReceitaOpe);
dataResult.put("QUA_QTDE", new BigDecimal(quaQtde));
dataResult.put("QUA_TOT", quaTot);
dataResult.put("QUA_FIN", calculaMedia(quaReceitaOpe, tarifa, quaQtde, assentos));
dataResult.put("QUI_RECEITA_OPE", quiReceitaOpe);
dataResult.put("QUI_QTDE", new BigDecimal(quiQtde));
dataResult.put("QUI_TOT", quiTot);
dataResult.put("QUI_FIN", calculaMedia(quiReceitaOpe, tarifa, quiQtde, assentos));
dataResult.put("SEX_RECEITA_OPE", sexReceitaOpe);
dataResult.put("SEX_QTDE", new BigDecimal(sexQtde));
dataResult.put("SEX_TOT", sexTot);
dataResult.put("SEX_FIN", calculaMedia(sexReceitaOpe, tarifa, sexQtde, assentos));
dataResult.put("SAB_RECEITA_OPE", sabReceitaOpe);
dataResult.put("SAB_QTDE", new BigDecimal(sabQtde));
dataResult.put("SAB_TOT", sabTot);
dataResult.put("SAB_FIN", calculaMedia(sabReceitaOpe, tarifa, sabQtde, assentos));
dataResult.put("DOM_RECEITA_OPE", domReceitaOpe);
dataResult.put("DOM_QTDE", new BigDecimal(domQtde));
dataResult.put("DOM_TOT", domTot);
dataResult.put("DOM_FIN", calculaMedia(domReceitaOpe, tarifa, domQtde, assentos));
stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString()));
this.dados.add(dataResult);
stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime()));
stmt.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime()));
ResultSet rset2 = stmt.executeQuery();
while (rset2.next()) {
Map<String, Object> dataResult = new HashMap<String, Object>();
dataResult.put("LINHA", rset2.getString("linha"));
dataResult.put("NUMLINHA", rset2.getString("numLinha"));
dataResult.put("SENTIDO", rset2.getString("sentido"));
dataResult.put("SERVICO", rset2.getString("servico"));
dataResult.put("HORARIO", rset2.getString("horario"));
dataResult.put("ORIGEM", rset2.getString("origem"));
dataResult.put("DESTINO", rset2.getString("destino"));
//Quantidade de assentos do diagrana autobus
BigDecimal assentos = limpaNulo(rset2.getBigDecimal("assentos"));
BigDecimal tarifa = limpaNulo(rset2.getBigDecimal("tarifa"));
BigDecimal totPassageiros = BigDecimal.ZERO;
BigDecimal totReceita = BigDecimal.ZERO;
Integer viagens =0;
BigDecimal segReceitaOpe = limpaNulo(rset2.getBigDecimal("'2'_RECEITA_OPE"));
Integer segQtde = rset2.getInt("'2'_QTDE");
BigDecimal segTot = limpaNulo(rset2.getBigDecimal("'2'_TOT"));
totPassageiros = totPassageiros.add(segTot);
totReceita = totReceita.add(segReceitaOpe);
viagens = viagens + segQtde;
BigDecimal terReceitaOpe = limpaNulo(rset2.getBigDecimal("'3'_RECEITA_OPE"));
Integer terQtde = rset2.getInt("'3'_QTDE");
BigDecimal terTot = limpaNulo(rset2.getBigDecimal("'3'_TOT"));
totPassageiros = totPassageiros.add(terTot);
totReceita = totReceita.add(terReceitaOpe);
viagens = viagens .intValue() + terQtde.intValue();
BigDecimal quaReceitaOpe = limpaNulo(rset2.getBigDecimal("'4'_RECEITA_OPE"));
Integer quaQtde = rset2.getInt("'4'_QTDE");
BigDecimal quaTot = limpaNulo(rset2.getBigDecimal("'4'_TOT"));
totPassageiros = totPassageiros.add(quaTot);
totReceita = totReceita.add(quaReceitaOpe);
viagens = viagens.intValue() + quaQtde.intValue();
BigDecimal quiReceitaOpe = limpaNulo(rset2.getBigDecimal("'5'_RECEITA_OPE"));
Integer quiQtde = rset2.getInt("'5'_QTDE");
BigDecimal quiTot = limpaNulo(rset2.getBigDecimal("'5'_TOT"));
totPassageiros = totPassageiros.add(quiTot);
totReceita = totReceita.add(quiReceitaOpe);
viagens = viagens.intValue() + quiQtde.intValue();
BigDecimal sexReceitaOpe = limpaNulo(rset2.getBigDecimal("'6'_RECEITA_OPE"));
Integer sexQtde = rset2.getInt("'6'_QTDE");
BigDecimal sexTot = limpaNulo(rset2.getBigDecimal("'6'_TOT"));
totPassageiros = totPassageiros.add(sexTot);
totReceita = totReceita.add(sexReceitaOpe);
viagens = viagens.intValue() + sexQtde.intValue();
BigDecimal sabReceitaOpe = limpaNulo(rset2.getBigDecimal("'7'_RECEITA_OPE"));
Integer sabQtde = rset2.getInt("'7'_QTDE");
BigDecimal sabTot = limpaNulo(rset2.getBigDecimal("'7'_TOT"));
totPassageiros = totPassageiros.add(sabTot);
totReceita = totReceita.add(sabReceitaOpe);
viagens = viagens.intValue() + sabQtde.intValue();
BigDecimal domReceitaOpe = limpaNulo(rset2.getBigDecimal("'1'_RECEITA_OPE"));
Integer domQtde = rset2.getInt("'1'_QTDE");
BigDecimal domTot = limpaNulo(rset2.getBigDecimal("'1'_TOT"));
totPassageiros = totPassageiros.add(domTot);
totReceita = totReceita.add(domReceitaOpe);
viagens = viagens.intValue() + domQtde.intValue();
dataResult.put("VIAGENS", new BigDecimal(viagens));
log.info("VIAGENS: " + viagens );
dataResult.put("ASSENTOS", assentos);
dataResult.put("TARIFA", tarifa);
dataResult.put("TOT_PASSAGEIROS", totPassageiros);
dataResult.put("TOT_RECEITA", totReceita);
dataResult.put("SEG_RECEITA_OPE", segReceitaOpe);
dataResult.put("SEG_QTDE", new BigDecimal(segQtde));
dataResult.put("SEG_TOT", segTot);
dataResult.put("SEG_FIN", calculaMedia(segReceitaOpe, tarifa, segQtde, assentos));
dataResult.put("TER_RECEITA_OPE", terReceitaOpe);
dataResult.put("TER_QTDE", new BigDecimal(terQtde));
dataResult.put("TER_TOT", terTot);
dataResult.put("TER_FIN", calculaMedia(terReceitaOpe, tarifa, terQtde, assentos));
dataResult.put("QUA_RECEITA_OPE", quaReceitaOpe);
dataResult.put("QUA_QTDE", new BigDecimal(quaQtde));
dataResult.put("QUA_TOT", quaTot);
dataResult.put("QUA_FIN", calculaMedia(quaReceitaOpe, tarifa, quaQtde, assentos));
dataResult.put("QUI_RECEITA_OPE", quiReceitaOpe);
dataResult.put("QUI_QTDE", new BigDecimal(quiQtde));
dataResult.put("QUI_TOT", quiTot);
dataResult.put("QUI_FIN", calculaMedia(quiReceitaOpe, tarifa, quiQtde, assentos));
dataResult.put("SEX_RECEITA_OPE", sexReceitaOpe);
dataResult.put("SEX_QTDE", new BigDecimal(sexQtde));
dataResult.put("SEX_TOT", sexTot);
dataResult.put("SEX_FIN", calculaMedia(sexReceitaOpe, tarifa, sexQtde, assentos));
dataResult.put("SAB_RECEITA_OPE", sabReceitaOpe);
dataResult.put("SAB_QTDE", new BigDecimal(sabQtde));
dataResult.put("SAB_TOT", sabTot);
dataResult.put("SAB_FIN", calculaMedia(sabReceitaOpe, tarifa, sabQtde, assentos));
dataResult.put("DOM_RECEITA_OPE", domReceitaOpe);
dataResult.put("DOM_QTDE", new BigDecimal(domQtde));
dataResult.put("DOM_TOT", domTot);
dataResult.put("DOM_FIN", calculaMedia(domReceitaOpe, tarifa, domQtde, assentos));
this.dados.add(dataResult);
}
this.resultSet = rset2;
}
this.resultSet = rset;
Collections.sort(dados, new Comparator<Map<String, Object>> () {
public int compare(Map<String, Object> m1, Map<String, Object> m2) {
return ((String) m1.get("NUMLINHA")).compareTo((String) m2.get("NUMLINHA"));
}
});
}
private StringBuilder getSQL(Map<String, Object> parametros, String sqlCombinacoes) {
private StringBuilder getSQL(Map<String, Object> parametros, String sqlCombinacoes, StringBuilder paradasIds, Integer rutaId) {
StringBuilder sql = new StringBuilder();
sql.append(" select TB.*, ");
sql.append("select CASE ");
sql.append("WHEN TB2.TARIFA2 <= TB2.TARIFA THEN TB2.TARIFA2 ");
sql.append(" ELSE TB2.TARIFA ");
sql.append("END AS TARIFA, TB2.* from (SELECT TB.*, ");
sql.append("(SELECT MAX (TF.PRECIO) as tarrifa ");
sql.append("FROM CORRIDA CR, ");
sql.append(" TRAMO TR, ");
sql.append(" RUTA R, ");
sql.append(" RUTA_COMBINACION RC, ");
sql.append(" TARIFA TF, ");
sql.append(" VIGENCIA_TARIFA VT ");
sql.append(" WHERE ");
sql.append(" CR.CORRIDA_ID = TB.SERVICO ");
sql.append(" AND CR.FECCORRIDA BETWEEN :DATA_INICIAL and :DATA_FINAL ");
sql.append(" AND CR.RUTA_ID = TB.RUTAID ");
sql.append(" AND CR.RUTA_ID = R.RUTA_ID AND R.ACTIVO = 1 ");
sql.append(" AND CR.RUTA_ID = RC.RUTA_ID AND RC.ACTIVO = 1 ");
sql.append(" AND RC.TRAMO_ID = TR.TRAMO_ID ");
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
sql.append(" AND TF.STATUSTARIFA = 'A' ");
sql.append(" AND CR.ACTIVO <> 0 ");
sql.append(" AND TF.ACTIVO = 1 ");
sql.append(" AND TR.ORIGEN_ID in ("+paradasIds+") ");
sql.append(" AND TR.DESTINO_ID in ("+paradasIds+") ");
sql.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
sql.append(" AND TF.ORGAOCONCEDENTE_ID = R.ORGAOCONCEDENTE_ID ");
sql.append(" AND VT.ACTIVO = 1 ");
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
sql.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
sql.append(" ) TARIFA, ");
sql.append(" (SELECT ");
sql.append(" max (TF.PRECIO) ");
sql.append(" FROM ");
@ -191,15 +245,15 @@ public class RelatorioAproveitamentoFinanceiroTrecho extends Relatorio {
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
sql.append(" AND TF.STATUSTARIFA = 'A' ");
sql.append(" AND CR.ACTIVO <> 0 ");
sql.append(" AND TF.ACTIVO = 1 ");
sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
sql.append(" AND TF.ACTIVO = 1 ");
sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
sql.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
sql.append(" AND TF.ORGAOCONCEDENTE_ID = R.ORGAOCONCEDENTE_ID ");
sql.append(" AND VT.ACTIVO = 1 ");
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
sql.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
sql.append(" ) TARIFA ");
sql.append(" ) TARIFA2 ");
sql.append(" from ");
sql.append(" ( ");
sql.append(" select * from ( ");
@ -218,7 +272,9 @@ public class RelatorioAproveitamentoFinanceiroTrecho extends Relatorio {
sql.append(" TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi') as horario, ");
sql.append(" co.CORRIDA_ID as servico, ");
sql.append(" ORI.descparada as origem, ");
sql.append(" DES.descparada as destino ");
sql.append(" DES.descparada as destino, ");
sql.append(" ORI.parada_id as ORIGENID, ");
sql.append(" DES.parada_id as DESTINOID ");
sql.append(" FROM boleto c ");
sql.append(" RIGHT OUTER JOIN corrida co ");
sql.append(" on c.CORRIDA_ID = co.CORRIDA_ID ");
@ -243,7 +299,7 @@ public class RelatorioAproveitamentoFinanceiroTrecho extends Relatorio {
sql.append(" and co.FECCORRIDA <= :DATA_FINAL ");
if (parametros.get("LINHAS") != null && !possuiFiltroTodos("LINHAS")) {
sql.append(" and co.ruta_id IN (" + parametros.get("LINHAS").toString() + ")");
sql.append(" and co.ruta_id IN (" + rutaId + ")");
}
if (sqlCombinacoes != null && !sqlCombinacoes.isEmpty()) {
sql.append(" " +sqlCombinacoes+ " ");
@ -252,7 +308,7 @@ public class RelatorioAproveitamentoFinanceiroTrecho extends Relatorio {
sql.append(" and c.MOTIVOCANCELACION_ID is null ");
sql.append(" GROUP by r.DESCRUTA, r.ruta_id, r.indsentidoida, r.NUMRUTA, da.cantasientos, ");
sql.append(" to_char( co.FECCORRIDA, 'D'), TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi'), ");
sql.append(" co.CORRIDA_ID, ORI.descparada, DES.descparada ");
sql.append(" co.CORRIDA_ID, ORI.descparada, DES.descparada, ORI.parada_id, DES.parada_id ");
sql.append(" ORDER by r.DESCRUTA, r.indsentidoida desc, to_char( co.FECCORRIDA, 'D') ");
sql.append(" ) ");
sql.append("PIVOT ");
@ -262,7 +318,8 @@ public class RelatorioAproveitamentoFinanceiroTrecho extends Relatorio {
sql.append(" max(passageiros) tot ");
sql.append(" for dia in ('1', '2', '3', '4', '5', '6', '7') ");
sql.append(") ");
sql.append(") TB");
sql.append(") TB ");
sql.append(")TB2 ");
System.out.println(sql);
return sql;
}
@ -314,13 +371,6 @@ public class RelatorioAproveitamentoFinanceiroTrecho extends Relatorio {
private String gerarCombinacaoTrechos(Map<String, Object> parametros) {
String linhas = (String) parametros.get("LINHAS");
String[] arrayLinhas = null;
if(linhas != null) {
arrayLinhas = linhas.split(";");
}
@SuppressWarnings("unchecked")
List<RutaVO> trechos = (List<RutaVO>) parametros.get("TRECHOS");

View File

@ -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="RelatorioAproveitamentoFinanceiro" pageWidth="873" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="833" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b92fb063-a827-4619-8a69-5c78e3afbb8c">
<property name="ireport.zoom" value="2.0"/>
<property name="ireport.zoom" value="3.897434200000018"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="ireport.x" value="633"/>
<property name="ireport.y" value="285"/>
<style name="textStyle" isDefault="true" fontSize="6" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
<style name="table">
<box>
@ -74,7 +74,7 @@
<field name="DOM_FIN" class="java.math.BigDecimal"/>
<field name="ORIGEM" class="java.lang.String"/>
<field name="DESTINO" class="java.lang.String"/>
<variable name="totViagemLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variable name="totViagemLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{VIAGENS}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
@ -114,31 +114,31 @@
<variableExpression><![CDATA[$F{SAB_TOT}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totDomQtdeLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Sum">
<variable name="totDomQtdeLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{DOM_QTDE}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSegQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Sum">
<variable name="totSegQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{SEG_QTDE}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totTerQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Sum">
<variable name="totTerQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{TER_QTDE}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totQuaQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Sum">
<variable name="totQuaQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{QUA_QTDE}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totQuiQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Sum">
<variable name="totQuiQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{QUI_QTDE}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSexQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Sum">
<variable name="totSexQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{SEX_QTDE}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSabQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Sum">
<variable name="totSabQtdeServico" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" calculation="Highest">
<variableExpression><![CDATA[$F{SAB_QTDE}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
@ -452,6 +452,370 @@
<variableExpression><![CDATA[$F{ASSENTOS}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totTerQtdeServicoGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totTerQtdeServico}]]></variableExpression>
</variable>
<variable name="totTerTotLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totTerTotLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSegQtdeServicoGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSegQtdeServico}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSegTotLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSegTotLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totQuaTotLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totQuaTotLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totQuaQtdeServicoGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totQuaQtdeServico}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totQuiQtdeServicoGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totQuiQtdeServico}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totQuiTotLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totQuiTotLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSexTotLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSexTotLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSexQtdeServicoGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSexQtdeServico}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSabQtdeServicoGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSabQtdeServico}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSabTotLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSabTotLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="receitaUnitariaObjetiva" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA" incrementType="Column" calculation="Highest">
<variableExpression><![CDATA[$F{TARIFA}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totDomQtdeServicoGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totDomQtdeLinha}]]></variableExpression>
</variable>
<variable name="totDomTotLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totDomTotLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totTerFinLinhaGeralGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totTerFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="contadorLinhaIdaVolta" class="java.lang.Integer" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Count">
<variableExpression><![CDATA[$V{totTerFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[3]]></initialValueExpression>
</variable>
<variable name="totQuaFinLinhaGeralGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totQuaFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totQuiFinLinhaGeralGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totQuiFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSexFinLinhaGeralGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSexFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSabFinLinhaGeralGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSabFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totDomFinLinhaGeralGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totDomFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totSegFinLinhaGeralGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totSegFinLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="finMediaLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{finMediaLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totViagemLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totViagemLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totReceitaLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totReceitaLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totPassageiroLinhaGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totPassageiroLinha}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totAssentosGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA_GERAL" incrementType="Group" incrementGroup="LINHA" calculation="Sum">
<variableExpression><![CDATA[$V{totAssentos}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<group name="LINHA_GERAL">
<groupExpression><![CDATA[$F{LINHA}]]></groupExpression>
<groupFooter>
<band height="14">
<printWhenExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1]]></printWhenExpression>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="4" y="0" width="154" height="14" isPrintWhenDetailOverflows="true" uuid="741bc10a-2b94-4c77-bb70-f6b591caf593"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle" markup="none">
<font size="7" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Aproveitamento Geral Total (Ida x Volta): "]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="551" y="0" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="1120a1d3-f814-4d47-9544-b5622a86fc91"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totTerQtdeServicoGeral}+"/"+$V{totTerTotLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="653" y="0" width="27" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="63bd76f5-0576-4844-b724-531977390a6e"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totQuiQtdeServicoGeral}+"/"+$V{totQuiTotLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="502" y="0" width="22" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="7763441b-0371-4c78-ac4f-9f27a748e48a"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totSegQtdeServicoGeral}+"/"+$V{totSegTotLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="602" y="0" width="25" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="a699a1f8-e3b4-4193-9d00-50e579f8d9f7"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totQuaQtdeServicoGeral}+"/"+$V{totQuaTotLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="701" y="0" width="23" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="a2ba0b1c-a82c-4045-90c1-2a08ea94ecff"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totSexQtdeServicoGeral}+"/"+$V{totSexTotLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="751" y="0" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="22b6b49f-2684-49c6-aaea-8cd2a23fba43"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totSabQtdeServicoGeral}+"/"+$V{totSabTotLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="445" y="0" width="31" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="5e3e47b7-4bfa-4c22-bc33-10df9ba52ca1"/>
<box>
<topPen lineWidth="0.0"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totDomQtdeServicoGeral}+"/"+$V{totDomTotLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="579" y="0" width="23" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="41abfbdf-c33b-473e-aac7-4336f3cce0b2"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{totTerFinLinhaGeralGeral}.divide(new BigDecimal(2)) : $V{totTerFinLinhaGeralGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="627" y="0" width="26" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="78d45e8e-bc9a-42c8-b15e-9fed83188a52"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{totQuaFinLinhaGeralGeral}.divide(new BigDecimal(2)) : $V{totQuaFinLinhaGeralGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="680" y="0" width="21" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="f06b0308-3dc6-4f5e-818b-57eba2c2032a"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{totQuiFinLinhaGeralGeral}.divide(new BigDecimal(2)) : $V{totQuiFinLinhaGeralGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="724" y="0" width="27" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="17067172-3b10-4042-aee3-1f3f1dcd62b4"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{totSexFinLinhaGeralGeral}.divide(new BigDecimal(2)) : $V{totSexFinLinhaGeralGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="779" y="0" width="25" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="880d1727-9e5a-4504-9d73-edd0ae3bfe34"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{totSabFinLinhaGeralGeral}.divide(new BigDecimal(2)) : $V{totSabFinLinhaGeralGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="476" y="0" width="26" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="c5ecc152-0907-4a7e-a4f2-eb60e243133f"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{totDomFinLinhaGeralGeral}.divide(new BigDecimal(2)) : $V{totDomFinLinhaGeralGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="524" y="0" width="27" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="af85f840-6f81-4e9c-b7ef-f01b46761d0b"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{totSegFinLinhaGeralGeral}.divide(new BigDecimal(2)) : $V{totSegFinLinhaGeralGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="804" y="0" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="f230dfdb-590d-4e30-9f6a-a39b9c2645b5"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{contadorLinhaIdaVolta} > 1 ? $V{finMediaLinhaGeral}.divide(new BigDecimal(2)) : $V{finMediaLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" mode="Transparent" x="293" y="0" width="36" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="dddc8cd7-8753-414e-b3e8-0fa365d9a738"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totViagemLinhaGeral}.intValue()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="329" y="0" width="38" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="fe23e3bd-52b6-49a8-aedb-07b59331ca55"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totReceitaLinhaGeral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="369" y="0" width="36" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="b8e3264a-d599-4ca6-bd99-fd41aa364d08"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{totPassageiroLinhaGeral}.intValue()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="405" y="0" width="40" height="14" isPrintWhenDetailOverflows="true" uuid="72e4c366-dc71-4d10-9cc4-80ba6a74515c"/>
<textElement textAlignment="Right">
<font size="8" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{totAssentosGeral}]]></textFieldExpression>
</textField>
</band>
</groupFooter>
</group>
<group name="LINHA">
<groupExpression><![CDATA[$F{LINHA} + $F{SENTIDO}]]></groupExpression>
<groupHeader>
@ -501,7 +865,7 @@
</textElement>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" mode="Transparent" x="796" y="0" width="36" height="14" forecolor="#000000" backcolor="#FFFFFF" uuid="3389b306-a4a8-465a-a227-8f9ece4baa3c"/>
<reportElement stretchType="RelativeToBandHeight" mode="Transparent" x="804" y="0" width="28" height="14" forecolor="#000000" backcolor="#FFFFFF" uuid="3389b306-a4a8-465a-a227-8f9ece4baa3c"/>
<box>
<topPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
@ -515,9 +879,9 @@
</band>
</groupHeader>
<groupFooter>
<band height="14">
<band height="15">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="135" height="14" isPrintWhenDetailOverflows="true" uuid="34d279b6-79af-4c20-9bc6-f0a191fc0737"/>
<reportElement stretchType="RelativeToTallestObject" x="4" y="0" width="125" height="15" isPrintWhenDetailOverflows="true" uuid="34d279b6-79af-4c20-9bc6-f0a191fc0737"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -533,7 +897,7 @@
<textFieldExpression><![CDATA[$V{totViagemLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="602" y="0" width="25" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="8d82e76c-f2c4-41db-b416-94aae8599b8f"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="602" y="0" width="25" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="8d82e76c-f2c4-41db-b416-94aae8599b8f"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -545,7 +909,7 @@
<textFieldExpression><![CDATA[$V{totQuaQtdeServico}+"/"+$V{totQuaTotLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="627" y="0" width="25" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="4c9dbc16-1daf-4077-97a6-951ce1a0807a"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="627" y="0" width="25" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="4c9dbc16-1daf-4077-97a6-951ce1a0807a"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -558,7 +922,7 @@
<textFieldExpression><![CDATA[$V{totQuaFinLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="579" y="0" width="23" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="f8fd4f7a-0c50-4026-8248-5ab0242f89a3"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="579" y="0" width="23" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="f8fd4f7a-0c50-4026-8248-5ab0242f89a3"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -571,7 +935,7 @@
<textFieldExpression><![CDATA[$V{totTerFinLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="701" y="0" width="23" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="c0596899-e184-49a8-a2aa-40bb09f62001"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="701" y="0" width="23" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="c0596899-e184-49a8-a2aa-40bb09f62001"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -583,7 +947,7 @@
<textFieldExpression><![CDATA[$V{totSexQtdeServico}+"/"+$V{totSexTotLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="779" y="0" width="25" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="e7449824-474e-44de-823b-7940c3bd7df3"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="779" y="0" width="25" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="e7449824-474e-44de-823b-7940c3bd7df3"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -596,7 +960,7 @@
<textFieldExpression><![CDATA[$V{totSabFinLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="551" y="0" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="ef308b3d-fb21-4deb-9f96-17e5397f5e72"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="551" y="0" width="28" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="ef308b3d-fb21-4deb-9f96-17e5397f5e72"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -608,7 +972,7 @@
<textFieldExpression><![CDATA[$V{totTerQtdeServico}+"/"+$V{totTerTotLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="524" y="0" width="27" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="be2fa440-3a9d-45ca-9b50-8a889516b66f"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="524" y="0" width="27" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="be2fa440-3a9d-45ca-9b50-8a889516b66f"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -621,7 +985,7 @@
<textFieldExpression><![CDATA[$V{totSegFinLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="652" y="0" width="30" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="6f96cc36-c8e2-4f75-b557-cfd68bcb6612"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="652" y="0" width="28" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="6f96cc36-c8e2-4f75-b557-cfd68bcb6612"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -633,7 +997,7 @@
<textFieldExpression><![CDATA[$V{totQuiQtdeServico}+"/"+$V{totQuiTotLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="682" y="0" width="19" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="6fa898d8-a03c-449e-b31a-4955944a2e52"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="680" y="0" width="21" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="6fa898d8-a03c-449e-b31a-4955944a2e52"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -646,7 +1010,7 @@
<textFieldExpression><![CDATA[$V{totQuiFinLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="724" y="0" width="27" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="08356c95-4909-4382-9bfe-3e580a34b8ca"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="724" y="0" width="27" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="08356c95-4909-4382-9bfe-3e580a34b8ca"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -659,7 +1023,7 @@
<textFieldExpression><![CDATA[$V{totSexFinLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="751" y="0" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="ec86e129-a917-4360-bf8a-6af223fa4dce"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="751" y="0" width="28" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="ec86e129-a917-4360-bf8a-6af223fa4dce"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -671,7 +1035,7 @@
<textFieldExpression><![CDATA[$V{totSabQtdeServico}+"/"+$V{totSabTotLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="445" y="0" width="31" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="94739135-6cee-4279-a5c8-5002af1da96c"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="445" y="0" width="31" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="94739135-6cee-4279-a5c8-5002af1da96c"/>
<box>
<topPen lineWidth="0.0"/>
<leftPen lineWidth="0.25"/>
@ -684,7 +1048,7 @@
<textFieldExpression><![CDATA[$V{totDomQtdeLinha}+"/"+$V{totDomTotLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="476" y="0" width="26" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="e6847b00-50c1-455e-a3ae-d0eaff028425"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="476" y="0" width="26" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="e6847b00-50c1-455e-a3ae-d0eaff028425"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -697,7 +1061,7 @@
<textFieldExpression><![CDATA[$V{totDomFinLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="502" y="0" width="22" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="a8c28c63-bc20-46bf-9bc6-2315659cf8ab"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="502" y="0" width="22" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="a8c28c63-bc20-46bf-9bc6-2315659cf8ab"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -709,7 +1073,7 @@
<textFieldExpression><![CDATA[$V{totSegQtdeServico}+"/"+$V{totSegTotLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="804" y="0" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="d18f9eef-1c91-4d46-8669-9f1a3fe44909"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="804" y="0" width="28" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="d18f9eef-1c91-4d46-8669-9f1a3fe44909"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -722,7 +1086,7 @@
<textFieldExpression><![CDATA[$V{finMediaLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="367" y="0" width="36" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="db487ac7-832a-4c1f-be94-18884ec7a0d9"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="367" y="0" width="36" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="db487ac7-832a-4c1f-be94-18884ec7a0d9"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -735,7 +1099,7 @@
<textFieldExpression><![CDATA[$V{totPassageiroLinha}.intValue()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="329" y="0" width="38" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="862fa0c4-b5c7-48a8-9179-565f9ace04ee"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="329" y="0" width="38" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="862fa0c4-b5c7-48a8-9179-565f9ace04ee"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -748,7 +1112,7 @@
<textFieldExpression><![CDATA[$V{totReceitaLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" mode="Transparent" x="293" y="0" width="36" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="ca6533ec-b661-456b-a6bb-0c16137a6e01"/>
<reportElement stretchType="RelativeToBandHeight" mode="Transparent" x="293" y="0" width="36" height="15" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="ca6533ec-b661-456b-a6bb-0c16137a6e01"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -761,7 +1125,7 @@
<textFieldExpression><![CDATA[$V{totViagemLinha}.intValue()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="405" y="0" width="40" height="14" isPrintWhenDetailOverflows="true" uuid="ec22d2c4-8bf5-43a1-8376-4f423c1ff964"/>
<reportElement stretchType="RelativeToTallestObject" x="405" y="0" width="40" height="15" isPrintWhenDetailOverflows="true" uuid="ec22d2c4-8bf5-43a1-8376-4f423c1ff964"/>
<textElement textAlignment="Right">
<font size="8" isBold="true"/>
</textElement>
@ -1099,7 +1463,7 @@
<textFieldExpression><![CDATA["Fin%"]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="652" y="14" width="30" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="27f9340f-e948-42ae-bbc4-04329a1323ac"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="652" y="14" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="27f9340f-e948-42ae-bbc4-04329a1323ac"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -1124,7 +1488,7 @@
<textFieldExpression><![CDATA["Quinta"]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="682" y="14" width="19" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="3237381f-e625-457e-8110-70d9f6de80d5"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="680" y="14" width="21" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="3237381f-e625-457e-8110-70d9f6de80d5"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -1271,7 +1635,7 @@
<detail>
<band height="14" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="130" y="0" width="28" height="14" uuid="01ee8c0d-6a68-45ea-a4e1-165a48cc89d4"/>
<reportElement stretchType="RelativeToTallestObject" x="129" y="0" width="29" height="14" uuid="01ee8c0d-6a68-45ea-a4e1-165a48cc89d4"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{SENTIDO}.equals( "1" )? "IDA":"VOLTA"]]></textFieldExpression>
</textField>
@ -1387,7 +1751,7 @@
<textFieldExpression><![CDATA[$F{QUA_FIN}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="652" y="0" width="30" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="860a6605-fd85-4077-9886-b8c8d6afc137"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="652" y="0" width="28" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="860a6605-fd85-4077-9886-b8c8d6afc137"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
@ -1399,7 +1763,7 @@
<textFieldExpression><![CDATA[$F{QUI_QTDE}+"/"+$F{QUI_TOT}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="682" y="0" width="19" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="3362ebe9-2d11-4e08-867e-f2e74315914f"/>
<reportElement stretchType="RelativeToTallestObject" mode="Transparent" x="680" y="0" width="21" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="3362ebe9-2d11-4e08-867e-f2e74315914f"/>
<box>
<topPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>

View File

@ -8,6 +8,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.sql.DataSource;
@ -67,6 +68,7 @@ public class RelatorioAproveitamentoFinanceiroController extends MyGenericForwar
private ArrayList<Ruta> lsNumLinha = new ArrayList<Ruta>();
private Radiogroup rgLayout;
private Row rowTrecho;
private Map<Integer, List<RutaVO>> mapRutaTrecho = new HashMap<>();
@Override
public void doAfterCompose(Component comp) throws Exception {
@ -86,11 +88,14 @@ public class RelatorioAproveitamentoFinanceiroController extends MyGenericForwar
RutaVO novaRuta = new RutaVO(ultimaRuta.getRutaId(), ultimaRuta.getNumRuta(), ultimaRuta.getPrefixo(),ultimaRuta.getDescruta(),ultimaRuta.getDescDestino(), ultimaRuta.getNumSecuencia(), ultimaRuta.getDestinoId(), ultimaRuta.getDestinoId());
novaRuta.setDescOrigem(novaRuta.getDescParada());
lsRutaVO.add(novaRuta);
mapRutaTrecho.put(rutaSelecionada.getRutaId(), lsRutaVO);
List<RutaVO> lsRutaVOAux = new ArrayList();
lsRutaVOAux.addAll(trechoList.getListData());
lsRutaVOAux.addAll(lsRutaVO);
trechoList.setData(lsRutaVOAux);
}
public void actualizarDados(List<RutaVO> listaRutaVO) {
@ -179,6 +184,7 @@ public class RelatorioAproveitamentoFinanceiroController extends MyGenericForwar
parametros.put("DATA_FINAL", (java.util.Date) this.datFinal.getValue());
parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioAproveitamentoFinanceiroController.window.title"));
parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario());
filtro.append(" Empresa: ");
@ -202,9 +208,26 @@ public class RelatorioAproveitamentoFinanceiroController extends MyGenericForwar
Labels.getLabel("relatorioAproveitamentoFinanceiroController.window.title"), args, MODAL);
}
private void executarRelatorioTrecho() throws Exception {
Map<String, Object> parametros = new HashMap<String, Object>();
StringBuilder filtro = new StringBuilder();
List<RutaVO>lista = new ArrayList<>();
Map<Integer, List<RutaVO>> mapRutaTrechoAux = new HashMap<>();
for (Entry<Integer, List<RutaVO>> entry : mapRutaTrecho.entrySet()) {
List<RutaVO> listaAux = entry.getValue();
for (RutaVO rutaVO2 : (List<RutaVO>)trechoList.getListData()) {
for (RutaVO rutaVO : listaAux) {
if(rutaVO.getRutaId().equals(rutaVO2.getRutaId())) {
lista.add(rutaVO2);
break;
}
}
}
mapRutaTrechoAux.put(entry.getKey(), lista);
lista = new ArrayList<>();
}
filtro.append("Linha: ");
String linhaIds = "";
String linhas = "";
@ -231,6 +254,7 @@ public class RelatorioAproveitamentoFinanceiroController extends MyGenericForwar
parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioAproveitamentoFinanceiroController.window.title"));
parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario());
parametros.put("TRECHOS", trechoList.getListData());
parametros.put("MAPRUTATRECHO", mapRutaTrechoAux);
filtro.append(" Empresa: ");

View File

@ -6,7 +6,7 @@
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioAproveitamentoFinanceiro"
apply="${relatorioAproveitamentoFinanceiroController}"
contentStyle="overflow:auto" height="286px" width="700px"
contentStyle="overflow:auto" height="400px" width="700px"
border="normal">
<grid fixedLayout="true">
@ -134,7 +134,7 @@
<row id="rowTrecho" visible="false">
<cell colspan="4">
<borderlayout height="80px">
<borderlayout height="120px">
<center border="0">
<listbox id="trechoList"
height="400px"