fixes bug#21344

qua:
dev:Valdevir

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@104957 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2021-01-06 23:51:21 +00:00
parent d0f35e5887
commit ca60d6f33e
3 changed files with 394 additions and 237 deletions

View File

@ -3,10 +3,22 @@
*/
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioResumoLinhasBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
/**
* @author valdevir_rj
@ -14,13 +26,368 @@ import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
*/
public class RelatorioResumoLinhasAnaliticoSumarizado extends Relatorio {
private List<RelatorioResumoLinhasBean> lsDadosRelatorio;
/**
* @param parametros
* @param conexao
* @throws Exception
*/
public RelatorioResumoLinhasAnaliticoSumarizado(Map<String, Object> parametros, Connection conexao) {
public RelatorioResumoLinhasAnaliticoSumarizado(final Map<String, Object> parametros, final Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
Integer rutaId = parametros.get("RUTA_ID") != null ? Integer.valueOf(parametros.get("RUTA_ID").toString()) : null;
Integer empresaId = parametros.get("EMPRESA_ID") != null ? Integer.valueOf(parametros.get("EMPRESA_ID").toString()) : null;
Integer grupoRutaId = parametros.get("GRUPORUTA_ID") != null ? Integer.valueOf(parametros.get("GRUPORUTA_ID").toString()) : null;
String sql = getSql(rutaId, grupoRutaId);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
if (parametros.get("DATA_INICIAL") != null) {
Date dataInicio = (Date) parametros.get("DATA_INICIAL");
stmt.setString("DATA_INICIAL", sdf.format(dataInicio));
}
if (parametros.get("DATA_FINAL") != null) {
Date dataFinal = (Date) parametros.get("DATA_FINAL");
stmt.setString("DATA_FINAL", sdf.format(dataFinal));
}
if (rutaId != null) {
stmt.setInt("RUTA_ID", rutaId);
}
if (grupoRutaId != null) {
stmt.setInt("GRUPORUTA_ID", grupoRutaId);
}
stmt.setInt("EMPRESA_ID", empresaId.intValue());
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioResumoLinhasBean>();
RelatorioResumoLinhasBean relatorioBean = null;
while (rset.next()) {
Boolean isMesmaLinhaIdaVolta = relatorioBean !=null && rset.getString("PREFIXO") != null &&
rset.getString("PREFIXO").equals(relatorioBean.getPREFIXO()) ? Boolean.TRUE : Boolean.FALSE;
if (!isMesmaLinhaIdaVolta) {
if(relatorioBean !=null) {
lsDadosRelatorio.add(relatorioBean);
}
relatorioBean = preencheAgrupaRelatorioBeanPorIdaVolta(rset, isMesmaLinhaIdaVolta, null);
} else {
relatorioBean= preencheAgrupaRelatorioBeanPorIdaVolta(rset, isMesmaLinhaIdaVolta, relatorioBean);
}
}
if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio);
}
}
private String getSql(Integer rutaId, Integer grupoRutaId) {
StringBuilder sqlSb = new StringBuilder();
sqlSb.append(" SELECT SUB.*, ");
sqlSb.append(" (NVL(SUB.PASSAGEIROS,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPA,");
sqlSb.append(" ( ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE,");
sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0))) RECEITA_KM, ");
sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS RECEITA_VIAGEM, ");
sqlSb.append(" (ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) * NVL(SUB.EXTENSAO_KM,0)) AS PAX_KM ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT TAB.INDSENTIDOIDA, ");
sqlSb.append(" TAB.RUTA_ID, ");
sqlSb.append(" TAB.NUMRUTA, ");
sqlSb.append(" TAB.PREFIXO, ");
sqlSb.append(" TAB.DESCRUTA, ");
sqlSb.append(" TAB.INTERESTADUAL, ");
sqlSb.append(" TAB.GRUPO_LINHA, ");
sqlSb.append(" TAB.EXTENSAO_KM, ");
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE, ");
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL, ");
sqlSb.append(" SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO, ");
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT TAB1.*, ");
sqlSb.append(" (TAB1.RECEITA_TARIFA + RECEITA_SEGURO + RECEITA_EMBARQUE + RECEITA_PEDAGIO) RECEITA_TOTAL, ");
sqlSb.append(" (NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) VIAGENS_TOTAL, ");
sqlSb.append(" ((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO, ");
sqlSb.append(" (SELECT SUM(NVL(PE.EQUIVALENTE,0)) ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT CO.FECCORRIDA, ");
sqlSb.append(" CO.RUTA_ID, ");
sqlSb.append(" BO.PRECIOBASE, ");
sqlSb.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / ");
sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) ");
sqlSb.append(" FROM RUTA_COMBINACION RS, ");
sqlSb.append(" TRAMO TR ");
sqlSb.append(" WHERE RS.RUTA_ID = CO.RUTA_ID ");
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
sqlSb.append(" )), 2) EQUIVALENTE ");
sqlSb.append(" FROM CORRIDA CO, ");
sqlSb.append(" BOLETO BO ");
sqlSb.append(" WHERE CO.CORRIDA_ID = BO.CORRIDA_ID ");
sqlSb.append(" AND CO.FECCORRIDA = BO.FECCORRIDA ");
sqlSb.append(" AND BO.ACTIVO = 1 ");
sqlSb.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL ");
sqlSb.append(" OR BO.MOTIVOCANCELACION_ID = 0) ");
sqlSb.append(" GROUP BY CO.FECCORRIDA, ");
sqlSb.append(" CO.RUTA_ID, ");
sqlSb.append(" BO.PRECIOBASE, ");
sqlSb.append(" BO.NUMKMVIAJE ");
sqlSb.append(" ) PE ");
sqlSb.append(" WHERE PE.FECCORRIDA = TAB1.FECCORRIDA ");
sqlSb.append(" AND PE.RUTA_ID = TAB1.RUTA_ID ");
sqlSb.append(" ) PASSAGEIROS_EQUIVALENTE ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT RUTA_ID, ");
sqlSb.append(" INDSENTIDOIDA, ");
sqlSb.append(" NUMRUTA, ");
sqlSb.append(" PREFIXO, ");
sqlSb.append(" FECCORRIDA, ");
sqlSb.append(" DESCRUTA, ");
sqlSb.append(" INTERESTADUAL, ");
sqlSb.append(" GRUPO_LINHA, ");
sqlSb.append(" EXTENSAO_KM, ");
sqlSb.append(" RECEITA_SEGURO, ");
sqlSb.append(" RECEITA_BAGAGEM, ");
sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" RECEITA_PEDAGIO, ");
sqlSb.append(" RECEITA_EMBARQUE, ");
sqlSb.append(" PASSAGEIROS, ");
sqlSb.append(" VIAGENS_EXTRA, ");
sqlSb.append(" VIAGENS, ");
sqlSb.append(" CVE_CLASE_SERVICIO, ");
sqlSb.append(" SUM(PRECIOPAGADO) AS RECEITA_TARIFA ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT RT.RUTA_ID, ");
sqlSb.append(" BL.BOLETO_ID, ");
sqlSb.append(" SUM(BL.PRECIOPAGADO) AS preciototal, ");
sqlSb.append(" BL.preciopagado AS PRECIOPAGADO, ");
sqlSb.append(" RT.INDSENTIDOIDA, ");
sqlSb.append(" RT.NUMRUTA, ");
sqlSb.append(" RT.PREFIXO, ");
sqlSb.append(" CR.FECCORRIDA, ");
sqlSb.append(" RT.DESCRUTA, ");
sqlSb.append(" CASE ");
sqlSb.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID ");
sqlSb.append(" THEN 'S' ");
sqlSb.append(" ELSE 'N' ");
sqlSb.append(" END INTERESTADUAL, ");
sqlSb.append(" NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA, ");
sqlSb.append(" (SELECT SUM(NVL(RS.KMORIGINAL,0)) ");
sqlSb.append(" FROM RUTA_SECUENCIA RS, ");
sqlSb.append(" TRAMO TR ");
sqlSb.append(" WHERE RS.RUTA_ID = RT.RUTA_ID ");
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
sqlSb.append(" AND RS.ACTIVO = 1 ");
sqlSb.append(" ) EXTENSAO_KM, ");
sqlSb.append(" NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO, ");
sqlSb.append(" 0 RECEITA_BAGAGEM, ");
sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, ");
sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, ");
sqlSb.append(" COUNT(1) PASSAGEIROS, ");
sqlSb.append(" COUNT(DISTINCT ");
sqlSb.append(" CASE ");
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID = 2 ");
sqlSb.append(" THEN CR.FECCORRIDA ");
sqlSb.append(" || CR.CORRIDA_ID ");
sqlSb.append(" ELSE NULL ");
sqlSb.append(" END) VIAGENS_EXTRA, ");
sqlSb.append(" COUNT(DISTINCT ");
sqlSb.append(" CASE ");
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID <> 2 ");
sqlSb.append(" THEN CR.FECCORRIDA ");
sqlSb.append(" || CR.CORRIDA_ID ");
sqlSb.append(" ELSE NULL ");
sqlSb.append(" END) VIAGENS, ");
sqlSb.append(" NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO ");
sqlSb.append(" FROM RUTA RT, ");
sqlSb.append(" BOLETO BL, ");
sqlSb.append(" CORRIDA CR, ");
sqlSb.append(" TRAMO TR, ");
sqlSb.append(" VIGENCIA_TARIFA VT, ");
sqlSb.append(" GRUPO_RUTA GR, ");
sqlSb.append(" PARADA PO, ");
sqlSb.append(" PARADA PD, ");
sqlSb.append(" CIUDAD CO, ");
sqlSb.append(" CIUDAD CD, ");
sqlSb.append(" CLASE_SERVICIO CS ");
sqlSb.append(" WHERE RT.RUTA_ID = CR.RUTA_ID ");
sqlSb.append(" AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID ");
sqlSb.append(" AND CR.FECCORRIDA = BL.FECCORRIDA ");
if(rutaId !=null) {
sqlSb.append(" AND CR.RUTA_ID = NVL(:RUTA_ID, CR.RUTA_ID) ");
}
if(grupoRutaId!=null) {
sqlSb.append(" AND DECODE(:GRUPORUTA_ID, NULL, 1, RT.GRUPORUTA_ID) = DECODE(:GRUPORUTA_ID, NULL, 1, :GRUPORUTA_ID) ");
}
sqlSb.append(" AND CR.CORRIDA_ID = BL.CORRIDA_ID ");
sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID ");
sqlSb.append(" AND CR.ORIGEN_ID = PO.PARADA_ID ");
sqlSb.append(" AND CR.DESTINO_ID = PD.PARADA_ID ");
sqlSb.append(" AND PO.CIUDAD_ID = CO.CIUDAD_ID ");
sqlSb.append(" AND PD.CIUDAD_ID = CD.CIUDAD_ID ");
sqlSb.append(" AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+) ");
sqlSb.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
sqlSb.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL ");
sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' ");
sqlSb.append(" AND VT.ACTIVO = 1 ");
sqlSb.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
sqlSb.append(" AND CR.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIAL, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') ");
sqlSb.append(" AND CR.ACTIVO = 1 ");
sqlSb.append(" GROUP BY RT.RUTA_ID, ");
sqlSb.append(" RT.NUMRUTA, ");
sqlSb.append(" RT.PREFIXO, ");
sqlSb.append(" CR.FECCORRIDA, ");
sqlSb.append(" RT.DESCRUTA, ");
sqlSb.append(" GR.DESCGRUPO, ");
sqlSb.append(" CO.ESTADO_ID, ");
sqlSb.append(" CD.ESTADO_ID, ");
sqlSb.append(" RT.INDSENTIDOIDA, ");
sqlSb.append(" CS.CVECLASE, ");
sqlSb.append(" BL.BOLETO_ID, ");
sqlSb.append(" BL.preciopagado ");
sqlSb.append(" ) DADOS ");
sqlSb.append(" GROUP BY RUTA_ID, ");
sqlSb.append(" INDSENTIDOIDA, ");
sqlSb.append(" NUMRUTA, ");
sqlSb.append(" PREFIXO, ");
sqlSb.append(" FECCORRIDA, ");
sqlSb.append(" DESCRUTA, ");
sqlSb.append(" INTERESTADUAL, ");
sqlSb.append(" GRUPO_LINHA, ");
sqlSb.append(" EXTENSAO_KM, ");
sqlSb.append(" RECEITA_SEGURO, ");
sqlSb.append(" RECEITA_BAGAGEM, ");
sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" RECEITA_PEDAGIO, ");
sqlSb.append(" RECEITA_EMBARQUE, ");
sqlSb.append(" PASSAGEIROS, ");
sqlSb.append(" VIAGENS_EXTRA, ");
sqlSb.append(" VIAGENS, ");
sqlSb.append(" CVE_CLASE_SERVICIO ");
sqlSb.append(" ) TAB1 ");
sqlSb.append(" )TAB ");
sqlSb.append(" GROUP BY TAB.RUTA_ID, ");
sqlSb.append(" TAB.NUMRUTA, ");
sqlSb.append(" TAB.PREFIXO, ");
sqlSb.append(" TAB.DESCRUTA, ");
sqlSb.append(" TAB.INTERESTADUAL, ");
sqlSb.append(" TAB.GRUPO_LINHA, ");
sqlSb.append(" TAB.EXTENSAO_KM, ");
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
sqlSb.append(" TAB.INDSENTIDOIDA ");
sqlSb.append(" ) SUB ");
sqlSb.append(" WHERE (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0) ");
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
sqlSb.append(" AND DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0)) != 0 ");
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
sqlSb.append(" ORDER BY SUB.PREFIXO, ");
sqlSb.append(" SUB.INDSENTIDOIDA DESC ");
return sqlSb.toString();
}
});
}
/**
* Preenche objeto de relatório caso seja Ida criar novo objeto e preenche com dados, caso seja Volta concantena/agrupa com o objeto de linha da Ida
*
* @param rset
* @param relatorioBean
* @return
* @throws SQLException
*/
private RelatorioResumoLinhasBean preencheAgrupaRelatorioBeanPorIdaVolta(ResultSet rset, Boolean isMesmaLinhaIdaVolta, RelatorioResumoLinhasBean relatorioBean) throws SQLException {
//Ida
if (!isMesmaLinhaIdaVolta) {
relatorioBean = new RelatorioResumoLinhasBean();
relatorioBean.setINDSENTIDOIDA(rset.getBigDecimal("INDSENTIDOIDA"));
relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID"));
relatorioBean.setNUMRUTA(rset.getString("NUMRUTA"));
relatorioBean.setPREFIXO(rset.getString("PREFIXO"));
relatorioBean.setDESCRUTA(rset.getString("DESCRUTA") + (BigDecimal.ZERO.equals(rset.getBigDecimal("INDSENTIDOIDA")) ? " - VOLTA " : " - IDA"));
relatorioBean.setINTERESTADUAL(rset.getString("INTERESTADUAL"));
relatorioBean.setGRUPO_LINHA(rset.getString("GRUPO_LINHA"));
relatorioBean.setEXTENSAO_KM(rset.getBigDecimal("EXTENSAO_KM"));
relatorioBean.setRECEITA_SEGURO(rset.getBigDecimal("RECEITA_SEGURO"));
relatorioBean.setRECEITA_BAGAGEM(rset.getBigDecimal("RECEITA_BAGAGEM"));
relatorioBean.setRECEITA_SEGURO_OUTROS(rset.getBigDecimal("RECEITA_SEGURO_OUTROS"));
relatorioBean.setRECEITA_TARIFA(rset.getBigDecimal("RECEITA_TARIFA"));
relatorioBean.setRECEITA_PEDAGIO(rset.getBigDecimal("RECEITA_PEDAGIO"));
relatorioBean.setRECEITA_EMBARQUE(rset.getBigDecimal("RECEITA_EMBARQUE"));
relatorioBean.setPASSAGEIROS(rset.getBigDecimal("PASSAGEIROS"));
relatorioBean.setVIAGENS_EXTRA(rset.getBigDecimal("VIAGENS_EXTRA"));
relatorioBean.setVIAGENS(rset.getBigDecimal("VIAGENS"));
relatorioBean.setCVE_CLASE_SERVICIO(rset.getString("CVE_CLASE_SERVICIO"));
relatorioBean.setRECEITA_TOTAL(rset.getBigDecimal("RECEITA_TOTAL"));
relatorioBean.setVIAGENS_TOTAL(rset.getBigDecimal("VIAGENS_TOTAL"));
relatorioBean.setKM_RODADO(rset.getBigDecimal("KM_RODADO"));
relatorioBean.setPASSAGEIROS_EQUIVALENTE(rset.getBigDecimal("PASSAGEIROS_EQUIVALENTE"));
relatorioBean.setPASSAGEIROS_MPA(rset.getBigDecimal("PASSAGEIROS_MPA"));
relatorioBean.setPASSAGEIROS_MPE(rset.getBigDecimal("PASSAGEIROS_MPE"));
relatorioBean.setRECEITA_KM(rset.getBigDecimal("RECEITA_KM"));
relatorioBean.setRECEITA_VIAGEM(rset.getBigDecimal("RECEITA_VIAGEM"));
relatorioBean.setPAX_KM(rset.getBigDecimal("PAX_KM"));
//relatorioBean.setPAX_OFERTADO(rset.getBigDecimal("PAX_OFERTADO"));
} else {
//Volta
relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID"));
relatorioBean.setNUMRUTA(relatorioBean.getNUMRUTA() + rset.getString("NUMRUTA"));
relatorioBean.setPREFIXO(rset.getString("PREFIXO"));
relatorioBean.setDESCRUTA(relatorioBean.getDESCRUTA() + (BigDecimal.ZERO.equals(rset.getBigDecimal("INDSENTIDOIDA")) ? " - VOLTA " : " - IDA"));
relatorioBean.setINTERESTADUAL(rset.getString("INTERESTADUAL"));
relatorioBean.setGRUPO_LINHA(rset.getString("GRUPO_LINHA"));
relatorioBean.setEXTENSAO_KM(relatorioBean.getEXTENSAO_KM().add(rset.getBigDecimal("EXTENSAO_KM")));
relatorioBean.setRECEITA_SEGURO(relatorioBean.getRECEITA_SEGURO().add(rset.getBigDecimal("RECEITA_SEGURO")));
relatorioBean.setRECEITA_BAGAGEM(relatorioBean.getRECEITA_BAGAGEM().add(rset.getBigDecimal("RECEITA_BAGAGEM")));
relatorioBean.setRECEITA_SEGURO_OUTROS(relatorioBean.getRECEITA_SEGURO_OUTROS().add(rset.getBigDecimal("RECEITA_SEGURO_OUTROS")));
relatorioBean.setRECEITA_TARIFA(relatorioBean.getRECEITA_TARIFA().add(rset.getBigDecimal("RECEITA_TARIFA")));
relatorioBean.setRECEITA_PEDAGIO(relatorioBean.getRECEITA_PEDAGIO().add(rset.getBigDecimal("RECEITA_PEDAGIO")));
relatorioBean.setRECEITA_EMBARQUE(relatorioBean.getRECEITA_EMBARQUE().add(rset.getBigDecimal("RECEITA_EMBARQUE")));
relatorioBean.setPASSAGEIROS(relatorioBean.getPASSAGEIROS().add(rset.getBigDecimal("PASSAGEIROS")));
relatorioBean.setVIAGENS_EXTRA(relatorioBean.getVIAGENS_EXTRA().add(rset.getBigDecimal("VIAGENS_EXTRA")));
relatorioBean.setVIAGENS(relatorioBean.getVIAGENS().add(rset.getBigDecimal("VIAGENS")));
relatorioBean.setCVE_CLASE_SERVICIO(rset.getString("CVE_CLASE_SERVICIO"));
relatorioBean.setRECEITA_TOTAL(relatorioBean.getRECEITA_TOTAL().add(rset.getBigDecimal("RECEITA_TOTAL")));
relatorioBean.setVIAGENS_TOTAL(relatorioBean.getVIAGENS_TOTAL().add(rset.getBigDecimal("VIAGENS_TOTAL")));
relatorioBean.setKM_RODADO(relatorioBean.getKM_RODADO().add(rset.getBigDecimal("KM_RODADO")));
relatorioBean.setPASSAGEIROS_EQUIVALENTE(relatorioBean.getPASSAGEIROS_EQUIVALENTE().add(rset.getBigDecimal("PASSAGEIROS_EQUIVALENTE")));
relatorioBean.setPASSAGEIROS_MPA(relatorioBean.getPASSAGEIROS_MPA().add(rset.getBigDecimal("PASSAGEIROS_MPA")));
relatorioBean.setPASSAGEIROS_MPE(relatorioBean.getPASSAGEIROS_MPE().add(rset.getBigDecimal("PASSAGEIROS_MPE")));
relatorioBean.setRECEITA_KM(relatorioBean.getRECEITA_KM().add(rset.getBigDecimal("RECEITA_KM")));
relatorioBean.setRECEITA_VIAGEM(relatorioBean.getRECEITA_VIAGEM().add(rset.getBigDecimal("RECEITA_VIAGEM")));
relatorioBean.setPAX_KM(relatorioBean.getPAX_KM().add(rset.getBigDecimal("PAX_KM")));
//relatorioBean.setPAX_OFERTADO(relatorioBean.getPAX_OFERTADO().add(rset.getBigDecimal("PAX_OFERTADO")));
}
return relatorioBean;
}
public void setLsDadosRelatorio(List<RelatorioResumoLinhasBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
}
@Override

View File

@ -1,8 +1,8 @@
<?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="RelatorioResumoLinhas" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isFloatColumnFooter="true" uuid="efbc89d4-6f08-4ea5-802f-d4f48ed208e2">
<property name="ireport.zoom" value="3.138428376721017"/>
<property name="ireport.x" value="1946"/>
<property name="ireport.y" value="0"/>
<property name="ireport.x" value="37"/>
<property name="ireport.y" value="48"/>
<style name="textStyle" isDefault="true" fontSize="6" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
<style name="table">
<box>
@ -37,217 +37,7 @@
<parameter name="GRUPORUTA_ID" class="java.lang.Integer"/>
<parameter name="NOME_USUARIO" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT SUB.*,
(NVL(SUB.PASSAGEIROS,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPA,
( ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE,
(NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0))) RECEITA_KM,
(NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS RECEITA_VIAGEM,
(ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) * NVL(SUB.EXTENSAO_KM,0)) AS PAX_KM
FROM
(SELECT TAB.INDSENTIDOIDA,
TAB.RUTA_ID,
TAB.NUMRUTA,
TAB.PREFIXO,
TAB.DESCRUTA,
TAB.INTERESTADUAL,
TAB.GRUPO_LINHA,
TAB.EXTENSAO_KM,
TAB.CVE_CLASE_SERVICIO,
SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO,
SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM,
SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS,
SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA,
SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO,
SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE,
SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS,
SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA,
SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS,
SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL,
SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL,
SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO,
SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE
FROM
(SELECT TAB1.*,
(TAB1.RECEITA_TARIFA + RECEITA_SEGURO + RECEITA_EMBARQUE + RECEITA_PEDAGIO) RECEITA_TOTAL,
(NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) VIAGENS_TOTAL,
((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO,
(SELECT SUM(NVL(PE.EQUIVALENTE,0))
FROM
(SELECT CO.FECCORRIDA,
CO.RUTA_ID,
BO.PRECIOBASE,
ROUND((BO.NUMKMVIAJE * COUNT(1) /
(SELECT SUM(NVL(TR.CANTKMREAL,0))
FROM RUTA_COMBINACION RS,
TRAMO TR
WHERE RS.RUTA_ID = CO.RUTA_ID
AND RS.TRAMO_ID = TR.TRAMO_ID
)), 2) EQUIVALENTE
FROM CORRIDA CO,
BOLETO BO
WHERE CO.CORRIDA_ID = BO.CORRIDA_ID
AND CO.FECCORRIDA = BO.FECCORRIDA
AND BO.ACTIVO = 1
AND (BO.MOTIVOCANCELACION_ID IS NULL
OR BO.MOTIVOCANCELACION_ID = 0)
GROUP BY CO.FECCORRIDA,
CO.RUTA_ID,
BO.PRECIOBASE,
BO.NUMKMVIAJE
) PE
WHERE PE.FECCORRIDA = TAB1.FECCORRIDA
AND PE.RUTA_ID = TAB1.RUTA_ID
) PASSAGEIROS_EQUIVALENTE
FROM
(SELECT RUTA_ID,
INDSENTIDOIDA,
NUMRUTA,
PREFIXO,
FECCORRIDA,
DESCRUTA,
INTERESTADUAL,
GRUPO_LINHA,
EXTENSAO_KM,
RECEITA_SEGURO,
RECEITA_BAGAGEM,
RECEITA_SEGURO_OUTROS,
RECEITA_PEDAGIO,
RECEITA_EMBARQUE,
PASSAGEIROS,
VIAGENS_EXTRA,
VIAGENS,
CVE_CLASE_SERVICIO,
SUM(PRECIOPAGADO) AS RECEITA_TARIFA
FROM
(SELECT RT.RUTA_ID,
BL.BOLETO_ID,
SUM(BL.PRECIOPAGADO) AS preciototal,
BL.preciopagado AS PRECIOPAGADO,
RT.INDSENTIDOIDA,
RT.NUMRUTA,
RT.PREFIXO,
CR.FECCORRIDA,
CONCAT(RT.DESCRUTA,
CASE
WHEN RT.INDSENTIDOIDA = 0
THEN ' - VOLTA'
ELSE ' - IDA'
END) DESCRUTA,
CASE
WHEN CO.ESTADO_ID <> CD.ESTADO_ID
THEN 'S'
ELSE 'N'
END INTERESTADUAL,
NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA,
(SELECT SUM(NVL(RS.KMORIGINAL,0))
FROM RUTA_SECUENCIA RS,
TRAMO TR
WHERE RS.RUTA_ID = RT.RUTA_ID
AND RS.TRAMO_ID = TR.TRAMO_ID
AND RS.ACTIVO = 1
) EXTENSAO_KM,
NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO,
0 RECEITA_BAGAGEM,
0 RECEITA_SEGURO_OUTROS,
SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO,
SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE,
COUNT(1) PASSAGEIROS,
COUNT(DISTINCT
CASE
WHEN CR.TIPOSERVICIO_ID = 2
THEN CR.FECCORRIDA
|| CR.CORRIDA_ID
ELSE NULL
END) VIAGENS_EXTRA,
COUNT(DISTINCT
CASE
WHEN CR.TIPOSERVICIO_ID <> 2
THEN CR.FECCORRIDA
|| CR.CORRIDA_ID
ELSE NULL
END) VIAGENS,
NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO
FROM RUTA RT,
BOLETO BL,
CORRIDA CR,
TRAMO TR,
VIGENCIA_TARIFA VT,
GRUPO_RUTA GR,
PARADA PO,
PARADA PD,
CIUDAD CO,
CIUDAD CD,
CLASE_SERVICIO CS
WHERE RT.RUTA_ID = CR.RUTA_ID
AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID
AND CR.FECCORRIDA = BL.FECCORRIDA
AND CR.RUTA_ID = NVL($P{RUTA_ID}, CR.RUTA_ID)
AND DECODE($P{GRUPORUTA_ID}, NULL, 1, RT.GRUPORUTA_ID) = DECODE($P{GRUPORUTA_ID}, NULL, 1, $P{GRUPORUTA_ID})
AND CR.CORRIDA_ID = BL.CORRIDA_ID
AND CR.EMPRESACORRIDA_ID = $P{EMPRESA_ID}
AND CR.ORIGEN_ID = PO.PARADA_ID
AND CR.DESTINO_ID = PD.PARADA_ID
AND PO.CIUDAD_ID = CO.CIUDAD_ID
AND PD.CIUDAD_ID = CD.CIUDAD_ID
AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+)
AND TR.ORIGEN_ID = CR.ORIGEN_ID
AND TR.DESTINO_ID = CR.DESTINO_ID
AND BL.MOTIVOCANCELACION_ID IS NULL
AND BL.INDSTATUSOPERACION = 'F'
AND VT.ACTIVO = 1
AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA
AND CR.FECCORRIDA BETWEEN $P{DATA_INICIAL} AND $P{DATA_FINAL}
AND CR.ACTIVO = 1
GROUP BY RT.RUTA_ID,
RT.NUMRUTA,
RT.PREFIXO,
CR.FECCORRIDA,
RT.DESCRUTA,
GR.DESCGRUPO,
CO.ESTADO_ID,
CD.ESTADO_ID,
RT.INDSENTIDOIDA,
CS.CVECLASE,
BL.BOLETO_ID,
BL.preciopagado
) DADOS
GROUP BY RUTA_ID,
INDSENTIDOIDA,
NUMRUTA,
PREFIXO,
FECCORRIDA,
DESCRUTA,
INTERESTADUAL,
GRUPO_LINHA,
EXTENSAO_KM,
RECEITA_SEGURO,
RECEITA_BAGAGEM,
RECEITA_SEGURO_OUTROS,
RECEITA_PEDAGIO,
RECEITA_EMBARQUE,
PASSAGEIROS,
VIAGENS_EXTRA,
VIAGENS,
CVE_CLASE_SERVICIO
) TAB1
)TAB
GROUP BY TAB.RUTA_ID,
TAB.NUMRUTA,
TAB.PREFIXO,
TAB.DESCRUTA,
TAB.INTERESTADUAL,
TAB.GRUPO_LINHA,
TAB.EXTENSAO_KM,
TAB.CVE_CLASE_SERVICIO,
TAB.INDSENTIDOIDA
) SUB
WHERE (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0)
AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0
AND DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0)) != 0
AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0
AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0
ORDER BY SUB.DESCRUTA,
SUB.INDSENTIDOIDA]]>
<![CDATA[]]>
</queryString>
<field name="RUTA_ID" class="java.math.BigDecimal"/>
<field name="NUMRUTA" class="java.lang.String"/>
@ -688,7 +478,7 @@ ORDER BY SUB.DESCRUTA,
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="4c19b162-dfd6-48b7-b393-b7203a1bcd68" mode="Opaque" x="0" y="21" width="300" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{NOME_RELATORIO}]]></textFieldExpression>
@ -696,7 +486,7 @@ ORDER BY SUB.DESCRUTA,
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="886fdbb8-b6c4-4ba1-98b8-15d9047cec7f" mode="Opaque" x="0" y="35" width="156" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.periodo}]]></textFieldExpression>
@ -704,7 +494,7 @@ ORDER BY SUB.DESCRUTA,
<textField pattern="dd/MM/yyyy" isBlankWhenNull="false">
<reportElement uuid="18ea34bb-d251-4e11-8589-235007cb2544" mode="Opaque" x="156" y="35" width="82" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{DATA_INICIAL}]]></textFieldExpression>
@ -712,7 +502,7 @@ ORDER BY SUB.DESCRUTA,
<textField pattern="dd/MM/yyyy" isBlankWhenNull="false">
<reportElement uuid="68db054c-7950-4088-9373-de44bff98b7c" mode="Opaque" x="300" y="35" width="140" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{DATA_FINAL}]]></textFieldExpression>
@ -720,7 +510,7 @@ ORDER BY SUB.DESCRUTA,
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="b137a935-0ee3-4e32-9f1e-81eaae50fb0c" mode="Opaque" x="238" y="35" width="62" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Justified" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.periodoA}]]></textFieldExpression>
@ -728,38 +518,38 @@ ORDER BY SUB.DESCRUTA,
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="06a3d1b5-6685-4431-9578-dc0df27ee598" mode="Opaque" x="0" y="0" width="300" height="22" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="12" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{EMPRESA}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm" isBlankWhenNull="false">
<reportElement uuid="ee4f1d8d-ab87-49b7-af10-578709b54e88" mode="Opaque" x="736" y="0" width="66" height="22" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="ee4f1d8d-ab87-49b7-af10-578709b54e88" mode="Opaque" x="725" y="0" width="77" height="22" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="87a53987-9821-4624-b0e0-e28617218944" mode="Opaque" x="623" y="0" width="113" height="22" backcolor="#CDCDCD"/>
<reportElement uuid="87a53987-9821-4624-b0e0-e28617218944" mode="Opaque" x="670" y="0" width="55" height="22" backcolor="#CDCDCD"/>
<textElement>
<font size="9" isBold="true"/>
<font size="9" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="43a80a09-d61c-47e9-bf58-4463f67dae6f" mode="Opaque" x="623" y="22" width="113" height="13" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="43a80a09-d61c-47e9-bf58-4463f67dae6f" mode="Opaque" x="670" y="22" width="55" height="13" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.pagina}+" "+$V{PAGE_NUMBER}+" "+$R{cabecalho.de}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="aba1011b-5b9f-4f9f-82da-b60daa0aec6e" mode="Opaque" x="623" y="35" width="113" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="aba1011b-5b9f-4f9f-82da-b60daa0aec6e" mode="Opaque" x="670" y="35" width="55" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="7" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.impressorPor}]]></textFieldExpression>
@ -767,7 +557,7 @@ ORDER BY SUB.DESCRUTA,
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="3aa0af99-e71b-4318-aec2-b466c14702db" mode="Opaque" x="0" y="52" width="156" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.filtros}]]></textFieldExpression>
@ -775,7 +565,7 @@ ORDER BY SUB.DESCRUTA,
<textField>
<reportElement uuid="cbbf0c9d-061e-4da8-bfa8-4edf2affada5" mode="Opaque" x="156" y="52" width="646" height="14" backcolor="#CDCDCD"/>
<textElement>
<font size="8"/>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression>
</textField>
@ -783,37 +573,37 @@ ORDER BY SUB.DESCRUTA,
<reportElement uuid="db16cef4-cd72-45c5-8469-459c9ab3e032" x="0" y="75" width="801" height="1"/>
</line>
<textField evaluationTime="Report" pattern="" isBlankWhenNull="false">
<reportElement uuid="636d549e-b5c2-4b0e-84a7-a80b2e3c88ca" mode="Opaque" x="736" y="22" width="66" height="13" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="636d549e-b5c2-4b0e-84a7-a80b2e3c88ca" mode="Opaque" x="725" y="22" width="77" height="13" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="9ce80888-bea4-4acd-8c1a-48cf84eea55f" mode="Opaque" x="736" y="35" width="66" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="9ce80888-bea4-4acd-8c1a-48cf84eea55f" mode="Opaque" x="725" y="35" width="77" height="17" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="7" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{NOME_USUARIO}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement uuid="3802f512-09c5-45e4-b263-8189334db5ee" mode="Opaque" x="300" y="0" width="323" height="22" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="3802f512-09c5-45e4-b263-8189334db5ee" mode="Opaque" x="300" y="0" width="370" height="22" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement uuid="0a06a181-0daf-4c95-92f9-2379807b1041" mode="Opaque" x="300" y="16" width="323" height="19" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="0a06a181-0daf-4c95-92f9-2379807b1041" mode="Opaque" x="300" y="16" width="370" height="19" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement uuid="74eef871-dcd5-47e4-8249-f7511fb682fc" mode="Opaque" x="440" y="33" width="183" height="19" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="74eef871-dcd5-47e4-8249-f7511fb682fc" mode="Opaque" x="440" y="33" width="230" height="19" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>