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 3663e6d3a..a360584a5 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhas.jasper differ 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 ba96bb07d..c35c26e6a 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioResumoLinhasAnalitico.jasper differ 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