From 09a6548dac7205a698060bc1791c293cccb688a1 Mon Sep 17 00:00:00 2001 From: "gleison.cruz" Date: Mon, 11 Mar 2024 20:38:55 -0300 Subject: [PATCH] fixes bug#AL-3817 --- pom.xml | 2 +- .../impl/RelatorioResumoLinhas.java | 177 +++++++++++- .../impl/RelatorioResumoLinhasAnalitico.java | 259 +++++++++++++++++- ...LinhasAnaliticoSimplificadoSumarizado.java | 2 +- ...atorioResumoLinhasAnaliticoSumarizado.java | 2 +- .../templates/RelatorioResumoLinhas.jasper | Bin 49870 -> 46243 bytes .../templates/RelatorioResumoLinhas.jrxml | 70 +---- .../RelatorioResumoLinhasAnalitico.jasper | Bin 120501 -> 111363 bytes .../RelatorioResumoLinhasAnalitico.jrxml | 149 +--------- .../RelatorioResumoLinhasBean.java | 55 +++- .../RelatorioResumoLinhasController.java | 10 - 11 files changed, 490 insertions(+), 236 deletions(-) diff --git a/pom.xml b/pom.xml index 154ca35d9..16b967250 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.55.8 + 1.55.9 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhas.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhas.java index 4c3edb2a8..0ab67ca55 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhas.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhas.java @@ -4,9 +4,24 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashSet; +import java.util.List; import java.util.Map; +import java.util.Set; +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 com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +import com.rjconsultores.ventaboletos.service.ConstanteService; /** * @author Bruno H. G. Gouvea @@ -18,9 +33,79 @@ public class RelatorioResumoLinhas extends Relatorio { * @param parametros * @param conexao */ - public RelatorioResumoLinhas(Map parametros, Connection conexao) { + + private List lsDadosRelatorio; + private static String CONSTANTE_GRATUIDADE_CRIANCA; + + public RelatorioResumoLinhas(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); - // TODO Auto-generated constructor stub + 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; + CONSTANTE_GRATUIDADE_CRIANCA = buscarConstante("GRATUIDADE_CRIANCA"); + 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()); + stmt.setString("CRIANCA_ID",CONSTANTE_GRATUIDADE_CRIANCA); + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + Set setDadosRelatorio = new HashSet(); + + RelatorioResumoLinhasBean relatorioBean = null; + while (rset.next()) { + relatorioBean = new RelatorioResumoLinhasBean(); + relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID")); + relatorioBean.setDESCRUTA(rset.getString("DESCRUTA")); + relatorioBean.setROLOPERATIVO_ID(rset.getInt("ROLOPERATIVO_ID")); + relatorioBean.setEXTENSAO_KM(rset.getBigDecimal("EXTENSAO_KM")); + relatorioBean.setPASSAGEIROS(rset.getBigDecimal("PASSAGEIROS")); + relatorioBean.setVIAGENS(rset.getBigDecimal("VIAGENS")); + relatorioBean.setPAX_KM(rset.getBigDecimal("PAX_KM")); + relatorioBean.setNUMRUTA(rset.getString("NUMRUTA")); + relatorioBean.setINDSENTIDOIDA(rset.getInt("INDSENTIDOIDA")); + relatorioBean.setFECCORRIDA(rset.getDate("FECCORRIDA")); + setDadosRelatorio.add(relatorioBean); + } + + if (setDadosRelatorio.size() > 0) { + lsDadosRelatorio.addAll(setDadosRelatorio); + setLsDadosRelatorio( lsDadosRelatorio ); + }else { + //tratado caso onde filtra a linha (apenas uma linha) + if(rset.getRow() ==0 && rutaId !=null && relatorioBean!=null) { + lsDadosRelatorio.add(relatorioBean); + setLsDadosRelatorio(lsDadosRelatorio); + } + } + + + } + + }); } /* @@ -31,5 +116,91 @@ public class RelatorioResumoLinhas extends Relatorio { @Override public void processaParametros() throws Exception { } + + private String getSql(Integer rutaId, Integer grupoRutaId) { + StringBuilder sqlSb = new StringBuilder(); + sqlSb.append(" SELECT TAB.*, "); + sqlSb.append(" ROUND((SELECT SUM((DECODE(NVL(TR.CANTKMREAL,0), 0, 1, NVL(TR.CANTKMREAL,0)) / NVL(TAB.EXTENSAO_KM,0)) * COUNT(1)) "); + sqlSb.append(" FROM CORRIDA CR, "); + sqlSb.append(" CORRIDA_TRAMO CT, "); + sqlSb.append(" TRAMO TR,"); + sqlSb.append(" BOLETO BO, "); + sqlSb.append(" CORRIDA_TRAMO CTD, "); + sqlSb.append(" CORRIDA_TRAMO CTO "); + sqlSb.append(" WHERE 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.RUTA_ID = TAB.RUTA_ID "); + sqlSb.append(" AND CR.ROLOPERATIVO_ID = TAB.ROLOPERATIVO_ID "); + sqlSb.append(" AND CT.FECCORRIDA = CR.FECCORRIDA "); + sqlSb.append(" AND CT.CORRIDA_ID = CR.CORRIDA_ID "); + sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID "); + sqlSb.append(" AND TR.TRAMO_ID = CT.TRAMO_ID "); + sqlSb.append(" AND BO.FECCORRIDA = CT.FECCORRIDA "); + sqlSb.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID "); + sqlSb.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID "); + sqlSb.append(" AND CTD.CORRIDA_ID = CT.CORRIDA_ID "); + sqlSb.append(" AND BO.CORRIDA_ID = CT.CORRIDA_ID "); + sqlSb.append(" AND CTD.FECCORRIDA = CT.FECCORRIDA "); + sqlSb.append(" AND CTO.CORRIDA_ID = CT.CORRIDA_ID "); + sqlSb.append(" AND CTO.FECCORRIDA = CT.FECCORRIDA "); + sqlSb.append(" AND CTO.ACTIVO = 1 "); + sqlSb.append(" AND CTD.ACTIVO = 1 "); + sqlSb.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND CTD.NUMSECUENCIA "); + sqlSb.append(" AND BO.ACTIVO = 1 "); + sqlSb.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); + sqlSb.append(" BO.MOTIVOCANCELACION_ID = 0 AND BO.CATEGORIA_ID <> :CRIANCA_ID) "); + sqlSb.append(" GROUP BY CT.TRAMO_ID, TR.CANTKMREAL), 2) * TAB.EXTENSAO_KM PAX_KM "); + sqlSb.append(" FROM (SELECT RT.INDSENTIDOIDA, CR.FECCORRIDA, "); + sqlSb.append(" RT.RUTA_ID, "); + sqlSb.append(" RT.NUMRUTA, "); + sqlSb.append(" RT.DESCRUTA, "); + sqlSb.append(" CR.ROLOPERATIVO_ID, "); + if (parametros.get("SOMAR_KM_RODADOS_POR").equals("SEQUENCIA")) { + sqlSb.append(" (SELECT SUM(NVL(RS.KMORIGINAL,0)) "); + }else { + sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) "); + } + sqlSb.append(" FROM RUTA_SECUENCIA RS, 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(" AND TR.ACTIVO =1 "); + sqlSb.append(" ) EXTENSAO_KM,"); + sqlSb.append(" COUNT(1) PASSAGEIROS, "); + sqlSb.append(" COUNT(DISTINCT CR.FECCORRIDA || CR.CORRIDA_ID) VIAGENS "); + sqlSb.append(" FROM RUTA RT, BOLETO BL, CORRIDA CR "); + sqlSb.append(" WHERE RT.RUTA_ID = CR.RUTA_ID "); + sqlSb.append(" AND CR.FECCORRIDA = BL.FECCORRIDA "); + sqlSb.append(" AND CR.CORRIDA_ID = BL.CORRIDA_ID "); + sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL "); + sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' "); + sqlSb.append(" AND BL.ACTIVO = 1 "); + sqlSb.append(" AND CR.ACTIVO = 1 "); + if(rutaId!=null) { + sqlSb.append(" AND CR.RUTA_ID = :RUTA_ID "); + } + sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID "); + if (grupoRutaId!=null) { + sqlSb.append(" AND RT.GRUPORUTA_ID = :GRUPORUTA_ID "); + } + + 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(" GROUP BY RT.INDSENTIDOIDA, CR.FECCORRIDA,"); + sqlSb.append(" RT.RUTA_ID, "); + sqlSb.append(" RT.NUMRUTA, "); + sqlSb.append(" RT.DESCRUTA, "); + sqlSb.append(" CR.ROLOPERATIVO_ID) TAB "); + sqlSb.append(" WHERE NVL(TAB.EXTENSAO_KM,0) != 0 "); + return sqlSb.toString(); -} + } + + private String buscarConstante(String nomeConstante) { + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + return constanteService.buscarPorNomeConstante(nomeConstante).getValorconstante(); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnalitico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnalitico.java index 4dd776986..21aa049ff 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnalitico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnalitico.java @@ -3,10 +3,25 @@ */ package com.rjconsultores.ventaboletos.relatorios.impl; +import java.math.BigDecimal; import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashSet; +import java.util.List; import java.util.Map; +import java.util.Set; +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.service.ConstanteService; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; /** * @author Bruno H. G. Gouvea @@ -18,9 +33,98 @@ public class RelatorioResumoLinhasAnalitico extends Relatorio { * @param parametros * @param conexao */ - public RelatorioResumoLinhasAnalitico(Map parametros, Connection conexao) { + + private List lsDadosRelatorio; + private static String CONSTANTE_GRATUIDADE_CRIANCA; + + public RelatorioResumoLinhasAnalitico(Map parametros, Connection conexao) throws Exception{ super(parametros, conexao); - // TODO Auto-generated constructor stub + 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; + CONSTANTE_GRATUIDADE_CRIANCA = buscarConstante("GRATUIDADE_CRIANCA"); + 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()); + stmt.setString("CRIANCA_ID",CONSTANTE_GRATUIDADE_CRIANCA); + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + Set setDadosRelatorio = new HashSet(); + + RelatorioResumoLinhasBean relatorioBean = null; + while (rset.next()) { + + relatorioBean = new RelatorioResumoLinhasBean(); + relatorioBean.setINDSENTIDOIDA(rset.getInt("INDSENTIDOIDA")); + relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID")); + relatorioBean.setNUMRUTA(rset.getString("NUMRUTA")); + 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")); + relatorioBean.setTARIFA(rset.getBigDecimal("TARIFA")); + relatorioBean.setEQ(rset.getBigDecimal("EQ")); + relatorioBean.setIAP(rset.getBigDecimal("IAP")); + setDadosRelatorio.add(relatorioBean); + } + + if (setDadosRelatorio.size() > 0) { + lsDadosRelatorio.addAll(setDadosRelatorio); + setLsDadosRelatorio( lsDadosRelatorio ); + }else { + //tratado caso onde filtra a linha (apenas uma linha) + if(rset.getRow() ==0 && rutaId !=null && relatorioBean!=null) { + lsDadosRelatorio.add(relatorioBean); + setLsDadosRelatorio(lsDadosRelatorio); + } + } + + } + }); } /* @@ -31,5 +135,156 @@ public class RelatorioResumoLinhasAnalitico extends Relatorio { @Override public void processaParametros() throws Exception { } + + 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,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(RECEITA_TARIFA,0) / DECODE(NVL(RECEITA_TARIFA,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) / DECODE(NVL(SUB.TARIFA,0), 0, 1, NVL(SUB.TARIFA,0))), 2) AS EQ, "); + sqlSb.append(" (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) AS PAX_OFERTADO, "); + sqlSb.append(" ((((SUB.PAX_KM) / (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)))) * 100) AS IAP "); + sqlSb.append(" FROM ( SELECT TAB.INDSENTIDOIDA, TAB.RUTA_ID, TAB.NUMRUTA, TAB.DESCRUTA, TAB.TARIFA, TAB.ASSENTOS, TAB.ROLOPERATIVO_ID, "); + sqlSb.append(" TAB.INTERESTADUAL, TAB.GRUPO_LINHA, TAB.EXTENSAO_KM, TAB.CVE_CLASE_SERVICIO, "); + sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO, SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM, "); + sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS, SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA, "); + sqlSb.append(" 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, "); + sqlSb.append(" 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, "); + sqlSb.append(" SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL, SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO, SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS_EQUIVALENTE, "); + sqlSb.append(" SUM(NVL(TAB.PAX_KM,0)) AS PAX_KM "); + sqlSb.append(" FROM (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(" TAB1.KM_REAL PAX_KM, "); + sqlSb.append(" (SELECT SUM(NVL(PE.EQUIVALENTE,0)) "); + sqlSb.append(" FROM (SELECT CO.FECCORRIDA, CO.RUTA_ID, BO.PRECIOBASE, ROUND((BO.NUMKMVIAJE * COUNT(1) / "); + sqlSb.append(" (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 "); + sqlSb.append(" FROM CORRIDA CO, 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 OR BO.MOTIVOCANCELACION_ID = 0 AND BO.CATEGORIA_ID <> :CRIANCA_ID) "); + sqlSb.append(" GROUP BY CO.FECCORRIDA, CO.RUTA_ID, BO.PRECIOBASE, BO.NUMKMVIAJE) PE "); + sqlSb.append(" WHERE PE.FECCORRIDA = TAB1.FECCORRIDA AND PE.RUTA_ID = TAB1.RUTA_ID) PASSAGEIROS_EQUIVALENTE "); + sqlSb.append(" FROM (SELECT RT.RUTA_ID, "); + sqlSb.append(" RT.INDSENTIDOIDA, "); + sqlSb.append(" RT.NUMRUTA, "); + sqlSb.append(" CR.FECCORRIDA, "); + sqlSb.append(" CONCAT(RT.DESCRUTA, CASE WHEN RT.INDSENTIDOIDA = 0 THEN ' - VOLTA' ELSE ' - IDA' END) DESCRUTA, "); + sqlSb.append(" TF.PRECIO TARIFA, "); + sqlSb.append(" DA.CANTASIENTOS ASSENTOS, "); + sqlSb.append(" RO.ROLOPERATIVO_ID, "); + sqlSb.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'S' ELSE 'N' END INTERESTADUAL, "); + sqlSb.append(" NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA, "); + if (parametros.get("SOMAR_KM_RODADOS_POR").equals("SEQUENCIA")) { + sqlSb.append(" (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, "); + }else { + sqlSb.append(" TR.CANTKMREAL AS EXTENSAO_KM, "); + } + + sqlSb.append(" SUM(NVL(BL.NUMKMVIAJE,0)) KM_REAL, "); + 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.PRECIOPAGADO,0)) RECEITA_TARIFA, "); + 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 CASE WHEN CR.TIPOSERVICIO_ID = 2 THEN CR.FECCORRIDA || CR.CORRIDA_ID ELSE NULL END) VIAGENS_EXTRA, "); + sqlSb.append(" COUNT(DISTINCT CASE WHEN CR.TIPOSERVICIO_ID <> 2 THEN CR.FECCORRIDA || CR.CORRIDA_ID ELSE NULL 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(" ROL_OPERATIVO RO, "); + sqlSb.append(" DIAGRAMA_AUTOBUS DA, "); + sqlSb.append(" TARIFA TF, "); + 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 RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID "); + sqlSb.append(" AND RO.DIAGRAMAAUTOBUS_ID = DA.DIAGRAMAAUTOBUS_ID "); + sqlSb.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); + sqlSb.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID "); + sqlSb.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); + sqlSb.append(" AND TF.MARCA_ID = CR.MARCA_ID "); + sqlSb.append(" AND TF.RUTA_ID = CR.RUTA_ID "); + sqlSb.append(" AND TF.TRAMO_ID = TR.TRAMO_ID "); + sqlSb.append(" AND TF.STATUSTARIFA = 'A' "); + sqlSb.append(" AND TF.ACTIVO = 1 "); + sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL "); + sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' "); + sqlSb.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); + sqlSb.append(" AND VT.ACTIVO = 1 "); + sqlSb.append(" AND BL.CATEGORIA_ID NOT IN (3, :CRIANCA_ID) "); + 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(" AND BL.ACTIVO = 1 "); + sqlSb.append(" GROUP BY CS.CVECLASE, "); + sqlSb.append(" RT.RUTA_ID, "); + sqlSb.append(" RT.NUMRUTA, "); + sqlSb.append(" CR.FECCORRIDA, "); + sqlSb.append(" RT.DESCRUTA, "); + sqlSb.append(" TF.PRECIO, "); + sqlSb.append(" DA.CANTASIENTOS, "); + sqlSb.append(" RO.ROLOPERATIVO_ID, "); + sqlSb.append(" GR.DESCGRUPO, "); + sqlSb.append(" CO.ESTADO_ID, "); + sqlSb.append(" CD.ESTADO_ID, "); + sqlSb.append(" TR.CANTKMREAL, "); + sqlSb.append(" RT.INDSENTIDOIDA) TAB1 "); + sqlSb.append(" GROUP BY TAB1.RUTA_ID,TAB1.INDSENTIDOIDA,TAB1.NUMRUTA,TAB1.FECCORRIDA,TAB1.DESCRUTA, "); + sqlSb.append(" TAB1.TARIFA,TAB1.ASSENTOS,TAB1.ROLOPERATIVO_ID,TAB1.INTERESTADUAL, "); + sqlSb.append(" TAB1.GRUPO_LINHA,TAB1.EXTENSAO_KM,TAB1.RECEITA_SEGURO,TAB1.RECEITA_BAGAGEM, "); + sqlSb.append(" TAB1.RECEITA_SEGURO_OUTROS,TAB1.RECEITA_TARIFA,TAB1.RECEITA_PEDAGIO,TAB1.RECEITA_EMBARQUE, "); + sqlSb.append(" TAB1.PASSAGEIROS,TAB1.VIAGENS_EXTRA,TAB1.VIAGENS,TAB1.CVE_CLASE_SERVICIO, TAB1.KM_REAL "); + sqlSb.append(" ) TAB "); + sqlSb.append(" GROUP BY TAB.RUTA_ID, TAB.NUMRUTA, TAB.DESCRUTA, TAB.TARIFA, TAB.ASSENTOS, TAB.ROLOPERATIVO_ID, "); + sqlSb.append(" TAB.INTERESTADUAL, TAB.GRUPO_LINHA, TAB.EXTENSAO_KM, TAB.CVE_CLASE_SERVICIO, TAB.INDSENTIDOIDA) SUB "); + sqlSb.append(" WHERE "); + sqlSb.append(" (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(" AND DECODE(NVL(SUB.TARIFA,0), 0, 1, NVL(SUB.TARIFA,0)) != 0 "); + sqlSb.append(" AND (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) != 0 "); + sqlSb.append(" ORDER BY SUB.DESCRUTA, SUB.INDSENTIDOIDA, SUB.ASSENTOS, SUB.TARIFA "); + return sqlSb.toString(); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + private String buscarConstante(String nomeConstante) { + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + return constanteService.buscarPorNomeConstante(nomeConstante).getValorconstante(); + } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSimplificadoSumarizado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSimplificadoSumarizado.java index a93882845..a5b009c92 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSimplificadoSumarizado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSimplificadoSumarizado.java @@ -428,7 +428,7 @@ public class RelatorioResumoLinhasAnaliticoSimplificadoSumarizado extends Relato //Ida if (!isMesmaLinhaIdaVolta) { relatorioBean = new RelatorioResumoLinhasBean(); - relatorioBean.setINDSENTIDOIDA(rset.getBigDecimal("INDSENTIDOIDA")); + relatorioBean.setINDSENTIDOIDA(rset.getInt("INDSENTIDOIDA")); relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID")); relatorioBean.setNUMRUTA(rset.getString("NUMRUTA")); relatorioBean.setPREFIXO(rset.getString("PREFIXO")); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java index 16d57f32e..8d50b39c2 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioResumoLinhasAnaliticoSumarizado.java @@ -336,7 +336,7 @@ public class RelatorioResumoLinhasAnaliticoSumarizado extends Relatorio { //Ida if (!isMesmaLinhaIdaVolta) { relatorioBean = new RelatorioResumoLinhasBean(); - relatorioBean.setINDSENTIDOIDA(rset.getBigDecimal("INDSENTIDOIDA")); + relatorioBean.setINDSENTIDOIDA(rset.getInt("INDSENTIDOIDA")); relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID")); relatorioBean.setNUMRUTA(rset.getString("NUMRUTA")); relatorioBean.setPREFIXO(rset.getString("PREFIXO")); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jasper index 3663e6d3a67c49f1df329084b6568a678594900d..a360584a5b533e65acf269352e025a3ba609aa90 100644 GIT binary patch delta 2465 zcmZvdZA@Eb6vyvr87$PXj0RDLpeqPr*scuL&PkAME_2$=EF_D>jnr9S%}bVbxSGBUtC}A_cv$> zHMKQ9S>e$yb_6>j&tOaQ9XN^qwc4?}r6%XJpm0#tYw*%#ypn{^meK&Pmj^S!huNW0 zoC*3BtMaS^s&TQiB-h*~kQ{;r6HAwoN(!Wu21vb}kU>WFx9)}({4@9%{@7|`_;DQ^ z6<`h#1F&=%tfT--X#m#C2^=BtRW+x%Ek5TZf#dML0ZzJ%Q&QlhG{EWQ!AdM@Zz9;_ zAv-R#$6?n5jKh=xOu7tHQoy7%fa&El+Z1nVV&}88spXw})Rdoe7VDcjFTfn;48YQ5 zu#y5Sr2$wkC-5AD?{+yDoQ_X-=O}nfw=dUxM_@TD7+|H#SS1BkN&~E3PS^#;PMq%{ zn4{;7T=TL3aab|{NtZ!N5~xT@1CTQ4K=M(KpUfpbnfrQc)QF3{-dyv)g3RH80a?0C zR#J>8r2$zlrx73Uh?f2?J||D&WdBx${kva2PrEGX#7^LlicfV}6J?G+4aMc{9&5H- zT~Cw0OvlgqG9i^|`C)k~)3GHi?&IcjS@=bGACC4+;^oLm#eaU_b==$cHJ%#mpx%}T z^~delkOPj=%VQT-U6{e<;g`sr8(y@$DZ1p~<1S^6n?`eSIhvHHQtGrwN`p?N!FQu< z)tfZIhh-z;Ep~e>1HZ)$cy{EVMN}nl2ry3Ogey!`QlO+XKuJSHZ4D}bC(s6gRj4gE zg)U3Gz;OsMPUehLQsAUCz)530E`;5qHVCc3{V?jX31i$z6^aa^Yj=%e=PaSQ_vQf1(#>sR9kRG>zoFac~>%0J#u{-_E6ygS{RHM zx+#lrR!Uxh70T$JZ3fC;T`{i13)kSF6%I|qVOkxP<&;drQ4jugBZEE~n{O6UeC}rE z_5tn(B2;;48dMgd?8A8Gr)+{U{NT!6iXB&NRa9s9jB6*z8R6^KQT7UD-FmCqUdrN) zYsHkQc}cCFPXk4DHw;?bu<{_UM`pRi-*rnd&gg9Y#fmspPEcuw*uV gGk%>NgKZ=95STP*(9#U=e}h(p&ZJDd{?()Z141uZZvX%Q delta 6025 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 F{|AO5n!o@6 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jrxml index 4c10e9bb2..32e7b432d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jrxml @@ -39,75 +39,7 @@ - - $P{CRIANCA_ID}) - GROUP BY CT.TRAMO_ID, TR.CANTKMREAL), - 2) * TAB.EXTENSAO_KM PAX_KM - FROM (SELECT RT.INDSENTIDOIDA, CR.FECCORRIDA, - RT.RUTA_ID, - RT.NUMRUTA, - RT.DESCRUTA, - CR.ROLOPERATIVO_ID, - (SELECT SUM(NVL( $P{SQL_KM_RODADOS} ,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 - AND TR.ACTIVO =1 - ) EXTENSAO_KM, - COUNT(1) PASSAGEIROS, - COUNT(DISTINCT CR.FECCORRIDA || CR.CORRIDA_ID) VIAGENS - FROM RUTA RT, BOLETO BL, CORRIDA CR - WHERE RT.RUTA_ID = CR.RUTA_ID - AND CR.FECCORRIDA = BL.FECCORRIDA - AND CR.CORRIDA_ID = BL.CORRIDA_ID - AND BL.MOTIVOCANCELACION_ID IS NULL - AND BL.INDSTATUSOPERACION = 'F' - AND BL.ACTIVO = 1 - AND CR.ACTIVO = 1 - AND CR.RUTA_ID = NVL($P{RUTA_ID}, CR.RUTA_ID) - AND CR.EMPRESACORRIDA_ID = $P{EMPRESA_ID} - AND DECODE($P{GRUPORUTA_ID}, NULL, 1, RT.GRUPORUTA_ID) = DECODE($P{GRUPORUTA_ID}, NULL, 1, $P{GRUPORUTA_ID}) - AND CR.FECCORRIDA BETWEEN $P{DATA_INICIAL} AND $P{DATA_FINAL} - GROUP BY RT.INDSENTIDOIDA, CR.FECCORRIDA, - RT.RUTA_ID, - RT.NUMRUTA, - RT.DESCRUTA, - CR.ROLOPERATIVO_ID) TAB -WHERE NVL(TAB.EXTENSAO_KM,0) != 0]]> - - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jasper index ba96bb07db1d0456fc5010f13da3f6a929c92a44..c35c26e6ab2a9e2e223180c89e4f79dcb4bd07fe 100644 GIT binary patch delta 15022 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 GvHuU^+`+a0 delta 23316 zcmeHOcYIXEx8JF^0TS3y6Ici(2_YmjsfJAvzI4M z@Rjcg?|&D8Uh*A|U>Louj@TICyV0mGQh#XVRO5En@{M&piqt}vQ{A~N%vZl@E>bTv zajHqnZ}B}F1R!%<0Q(@j6nwwTSdpkM51sb1j{|hhp-O+AqfG+a3EV zQa_4ys?U8}-}iDHR2UlPR1?;P`KreQbEDQgU8Ka?6@o47@ zHBfDz_$V;P#yEY$9~%U2J?7ND$4F7%ENkwoH?A2{_l^bM#@`LTjgR#0oX`iUODBZC zFb&mIYd_M)S2__yA|^VuNC8#%t$aKKsk0w-6PL2iLn!cltKY zfF`~>!|98g38AVt)2Uq#M>T!ESrD)1W;uQJRWDL6-5Tb5d-kYW>g6k~)TAp+%~{+Z z$g1Iwvu|Ik>LAn z3H18TCFbC`e<=j%wxv$r&Sl`<>Saz}(sBq%tL0AhY%|HX_JcH}zWM=FZgGpR=?VzK z4PT`1>6I`z9$e{EABs_Y=U0Kq*Q=cB?%3+SerrJF)-~oJ`SL^P+4&zjeF^J|AeQT* zd>?!S1LV1n%mLDL0~F&8x??qcvp0etr5l~TzcxXmPi}ImtviUml8=GO{@Cf;wFN@8 zZVPz#Daf_@R92gBAMLCCnTS!k8nJz+x_Gf3lyLRr_Ettb`t68CcdB6{YpWAa)$qN! zV;V+x`x3t>Lu$eo!BA}f5<;=?O9=dK=(~Em%{j8_E6APol{rVEzXpbVZH8m^UTEv+ zy=FMB?Sr-++!yJ)_ZtXD+Bar6K0g2=?;SA1(e@CCgdKAFp8Iw%QpbL4&XYqTv3qP52 zrqM}Y*vT;8_*0XSI%!8!b;c>h*XHMylG@`Bu3r3OeYGKF4$`(m!U)F%@d0(?g?hZC z%z+ZdsJA`PDx%M*K@UIbF#cK|zz#gX!S8!u)UXFfmN{Cfo3Tr+`4Wpr(Q~?HImCzV z88&#-J%a~Ymg3D#O$!M0&4A*Zf+A0@ z$DIWtajt|oS7MyYub_N+OpME2;IgSL%Fc5K?Yi=F3v*Hf+HG=%?zXxMUhv_6+J&^B z3x3b@(^AqhJnlft%*KOZZ@|6Y*+u!esqWO=N*Zo2gGT$c_0IkmECmdOMA2J`wGaU) zH^b~VYLo^In=y_ywEIOo?);3NZm1b(X641uzute;!Nw@D_fSB2`Oy(5h=G9voeM)F ztxq68ty@P|HXOYE;b>He4GgukejXT!?%X1XF+{)|XZ>`p!mx%>otEP<$8=CZNSFDm z=k`p?_vl?5Q1U=@v^6($<$AyZ{q#@h1;=7ti3t#BXl#Z%क़(prs>dbHJnw<@y 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jrxml index d89380596..330880b02 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jrxml @@ -37,152 +37,9 @@ - - - $P{CRIANCA_ID}) - 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 RT.RUTA_ID, - RT.INDSENTIDOIDA, - RT.NUMRUTA, - CR.FECCORRIDA, - CONCAT(RT.DESCRUTA, CASE WHEN RT.INDSENTIDOIDA = 0 THEN ' - VOLTA' ELSE ' - IDA' END) DESCRUTA, - TF.PRECIO TARIFA, - DA.CANTASIENTOS ASSENTOS, - RO.ROLOPERATIVO_ID, - CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'S' ELSE 'N' END INTERESTADUAL, - NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA, - - $P{SQL_KM_RODADOS} - - - SUM(NVL(BL.NUMKMVIAJE,0)) KM_REAL, - - - NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO, - 0 RECEITA_BAGAGEM, - 0 RECEITA_SEGURO_OUTROS, - SUM(NVL(BL.PRECIOPAGADO,0)) RECEITA_TARIFA, - 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, - ROL_OPERATIVO RO, - DIAGRAMA_AUTOBUS DA, - TARIFA TF, - 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 RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID - AND RO.DIAGRAMAAUTOBUS_ID = DA.DIAGRAMAAUTOBUS_ID - AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID - AND TR.ORIGEN_ID = CR.ORIGEN_ID - AND TR.DESTINO_ID = CR.DESTINO_ID - AND TF.MARCA_ID = CR.MARCA_ID - AND TF.RUTA_ID = CR.RUTA_ID - AND TF.TRAMO_ID = TR.TRAMO_ID - AND TF.STATUSTARIFA = 'A' - AND TF.ACTIVO = 1 - AND BL.MOTIVOCANCELACION_ID IS NULL - AND BL.INDSTATUSOPERACION = 'F' - AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID - AND VT.ACTIVO = 1 - AND BL.CATEGORIA_ID NOT IN (3, $P{CRIANCA_ID}) - AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA - AND CR.FECCORRIDA BETWEEN $P{DATA_INICIAL} AND $P{DATA_FINAL} - AND CR.ACTIVO = 1 - AND BL.ACTIVO = 1 - GROUP BY CS.CVECLASE, - RT.RUTA_ID, - RT.NUMRUTA, - CR.FECCORRIDA, - RT.DESCRUTA, - TF.PRECIO, - DA.CANTASIENTOS, - RO.ROLOPERATIVO_ID, - GR.DESCGRUPO, - CO.ESTADO_ID, - CD.ESTADO_ID, - TR.CANTKMREAL, - RT.INDSENTIDOIDA) TAB1 - GROUP BY TAB1.RUTA_ID,TAB1.INDSENTIDOIDA,TAB1.NUMRUTA,TAB1.FECCORRIDA,TAB1.DESCRUTA, - TAB1.TARIFA,TAB1.ASSENTOS,TAB1.ROLOPERATIVO_ID,TAB1.INTERESTADUAL, - TAB1.GRUPO_LINHA,TAB1.EXTENSAO_KM,TAB1.RECEITA_SEGURO,TAB1.RECEITA_BAGAGEM, - TAB1.RECEITA_SEGURO_OUTROS,TAB1.RECEITA_TARIFA,TAB1.RECEITA_PEDAGIO,TAB1.RECEITA_EMBARQUE, - TAB1.PASSAGEIROS,TAB1.VIAGENS_EXTRA,TAB1.VIAGENS,TAB1.CVE_CLASE_SERVICIO, TAB1.KM_REAL - - ) TAB -GROUP BY TAB.RUTA_ID, TAB.NUMRUTA, TAB.DESCRUTA, TAB.TARIFA, TAB.ASSENTOS, TAB.ROLOPERATIVO_ID, -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 - AND DECODE(NVL(SUB.TARIFA,0), 0, 1, NVL(SUB.TARIFA,0)) != 0 - AND (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) != 0 -ORDER BY SUB.DESCRUTA, SUB.INDSENTIDOIDA, SUB.ASSENTOS, SUB.TARIFA]]> - + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioResumoLinhasBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioResumoLinhasBean.java index 7ea1dc0c5..dc4757472 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioResumoLinhasBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioResumoLinhasBean.java @@ -1,10 +1,11 @@ package com.rjconsultores.ventaboletos.relatorios.utilitarios; import java.math.BigDecimal; +import java.util.Date; public class RelatorioResumoLinhasBean implements Comparable{ - private BigDecimal INDSENTIDOIDA; + private int INDSENTIDOIDA; private BigDecimal RUTA_ID; private BigDecimal RUTA_ID_VOLTA; private String NUMRUTA; @@ -36,6 +37,14 @@ public class RelatorioResumoLinhasBean implements Comparable