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