From ca60d6f33e6d2cd626a50b42fa760685db530383 Mon Sep 17 00:00:00 2001 From: valdevir Date: Wed, 6 Jan 2021 23:51:21 +0000 Subject: [PATCH] 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 --- ...atorioResumoLinhasAnaliticoSumarizado.java | 369 +++++++++++++++++- ...orioResumoLinhasAnaliticoSumarizado.jasper | Bin 106955 -> 99249 bytes ...torioResumoLinhasAnaliticoSumarizado.jrxml | 262 ++----------- 3 files changed, 394 insertions(+), 237 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java index c26a7f74c..446e03eb6 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java @@ -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 lsDadosRelatorio; + /** * @param parametros * @param conexao + * @throws Exception */ - public RelatorioResumoLinhasAnaliticoSumarizado(Map parametros, Connection conexao) { + public RelatorioResumoLinhasAnaliticoSumarizado(final Map 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 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 lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + @Override diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnaliticoSumarizado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnaliticoSumarizado.jasper index ac1414275458e052832746d50b938a35de4761a1..cc422a65ad5c171137720348a1e644099b8958eb 100644 GIT binary patch delta 4254 zcmZ{nYiv|S6vywskKOKWTl-@BpryN8T39HQcDLme6Ybp6Jn4Lk|2`wiw`g{_Ja~q1!v~mEpvCrO?vLh z`JbKhyJyawy}fkNG4rP5^E=nl)4~yR>6$M+E!1rKetiAxsXKoH{pN|K;_AT>W8C@N z0b%0czN$Ol0uL9L6!tnt^f8w5VXbXc$HTYXi2jdw>H|YC5Y=!(k<{h_$8T zA$B+ejbfE_`|?Vnm$hY}jRBOH0Zzl_GSH>sDEX!4{3}K5`%DDcSSA`3r7WTB<15rT zuuENmhdy>-m|ser@^Z|HwxopHPK+t*`53aWg`LlmWQ$oT3%=mO7+>&Leo?-*nk~Ap z#TgnFJ78-myWvJ$$*f^lJZMbx=o=4qBmqUTagZ07q071)v?nEel!LcCCgYm4EfSJekmuPkH$wVU~|U8a%VhyWYrR1qiUtLY&4dTP(zfNoBq) zlEV^RAun?)@VJ_w+;WS#I8nj&c(GFnwkCoF?7CMrJHHrP`3hadIEQT0Uth-jCFp!I zpSRQ{P42LS>kvaf%sYct2HOmj7w`3>c)tpZWBvaU*$ zFtY+xcF3PAk|DbVq%<8GNK!SBs$hd8fgmkkLUyQ-MV0&+vUTr#Wir^a0!*5i28>h< zm@3%7NFXrFmtZj!?3NEN+rduw5iAN0k8>JhU)*p#+S}dJ{&4$_?X<_Q3QB3>8cI?% zl&WB(B!MU`Ur?Iwbo&xJd?|nyzQc|x_*r#G9mA1*#cZ$&Ay@-=T);_lL<2{v22K@h za3m0%<;xZxQCs-_YSeMO$r_Yo?lO$DADBOcRraRVR3n%k93G|~o)(zWoYY{Fs=-tR z8zu>aY55ZKq>9;9gMrLu&UZ@kxqQ}vMGy0>8m!9VfSe4yX8i}gKG%$(l;(_vl2i?) zD%dDVkd&oX5=S_|s~EkB)ANix^A^_NF_%Q;KlWZWS)uN^IC@6bs_mQ?pwe8>fRd^K zRRtR;3Di!@m+icuwsSIw3G3Lgy1KtIdDq9*VPm>0vFkqxOlhuaFiF*5s)7xZ1j4j@ ziFsAU{A@iQH0zq27guJOj9^8Ovpp};0 zE#DvwBi8`meEvy$gPTeI7nV0*pWF8~qDppn@p*rr>z;s@W=R82ss>&aZ15z|#9B!y z6T2iQ_Vz~pYUz{j2!nN43pYDnhk#2S2OM2D!++P^pW$qG0Y@j3!=|Drj8Gtz*2*M7 zrL_dswVA(1(6>#0WM!H=$7(gptjF%e$kIWTI|Ys&2P4QjX;#f zPly!IAgY25kpw~{pAh}(G+b^#xGZTJyoqVRD60q|U_V{=hY;j%;=WCYc%p(*nlMpP zKtrhtHcAqRl6;~JCmK1@jB4JQOb_3MP7n#r=XK&8_`if zL#GNhIueMEe4^WyN>}3gg~QEpINifP)RY9*E8wK*BsdCa;8ei|M*_i-PjH<{aQr{I z1D(s3h8How1Tds6?8&T^ayc%#it4dGCvv7x^y6plnAP6IG%&5_LV X*`5c{Fi@DB5H}jkdS^L1HwEv1m=D5K delta 12116 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 UXI%;Zq^TGqyPW_ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnaliticoSumarizado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnaliticoSumarizado.jrxml index c429517f5..e34c48d77 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnaliticoSumarizado.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnaliticoSumarizado.jrxml @@ -1,8 +1,8 @@ - - + +