fixes bug#21520

qua:
dev:Valdir

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@105251 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2021-02-01 18:47:19 +00:00
parent 11963c640e
commit 4755c16f17
3 changed files with 217 additions and 204 deletions

View File

@ -87,6 +87,12 @@ public class RelatorioResumoLinhasAnaliticoSimplificadoSumarizado extends Relato
} }
if (lsDadosRelatorio.size() > 0) { if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio); setLsDadosRelatorio(lsDadosRelatorio);
}else {
//tratado caso onde filtra a linha (apenas uma linha)
if(rset.getRow() ==01 && rutaId !=null && relatorioBean!=null) {
lsDadosRelatorio.add(relatorioBean);
setLsDadosRelatorio(lsDadosRelatorio);
}
} }
} }
@ -199,7 +205,7 @@ public class RelatorioResumoLinhasAnaliticoSimplificadoSumarizado extends Relato
sqlSb.append(" RECEITA_SEGURO_OUTROS, "); sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" RECEITA_PEDAGIO, "); sqlSb.append(" RECEITA_PEDAGIO, ");
sqlSb.append(" RECEITA_EMBARQUE, "); sqlSb.append(" RECEITA_EMBARQUE, ");
sqlSb.append(" PASSAGEIROS, "); sqlSb.append(" SUM(PASSAGEIROS) AS PASSAGEIROS, ");
sqlSb.append(" VIAGENS_EXTRA, "); sqlSb.append(" VIAGENS_EXTRA, ");
sqlSb.append(" VIAGENS, "); sqlSb.append(" VIAGENS, ");
sqlSb.append(" CVE_CLASE_SERVICIO, "); sqlSb.append(" CVE_CLASE_SERVICIO, ");
@ -232,7 +238,7 @@ public class RelatorioResumoLinhasAnaliticoSimplificadoSumarizado extends Relato
sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, "); sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, "); sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, ");
sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, "); sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, ");
sqlSb.append(" COUNT(1) PASSAGEIROS, "); sqlSb.append(" COUNT(DISTINCT BOLETO_ID) PASSAGEIROS, ");
sqlSb.append(" COUNT(DISTINCT "); sqlSb.append(" COUNT(DISTINCT ");
sqlSb.append(" CASE "); sqlSb.append(" CASE ");
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID = 2 "); sqlSb.append(" WHEN CR.TIPOSERVICIO_ID = 2 ");

View File

@ -87,222 +87,228 @@ public class RelatorioResumoLinhasAnaliticoSumarizado extends Relatorio {
} }
if (lsDadosRelatorio.size() > 0) { if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio); 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);
}
} }
} }
private String getSql(Integer rutaId, Integer grupoRutaId) { private String getSql(Integer rutaId, Integer grupoRutaId) {
StringBuilder sqlSb = new StringBuilder(); StringBuilder sqlSb = new StringBuilder();
sqlSb.append(" SELECT SUB.*, "); 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(" (NVL(SUB.PASSAGEIROS,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPA,");
sqlSb.append(" ( ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE,"); sqlSb.append(" ( ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE,");
sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0))) RECEITA_KM, "); sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.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(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS RECEITA_VIAGEM, ");
sqlSb.append(" (ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) * NVL(SUB.EXTENSAO_KM,0)) AS PAX_KM "); sqlSb.append(" (ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) * NVL(SUB.EXTENSAO_KM,0)) AS PAX_KM ");
sqlSb.append(" FROM "); sqlSb.append(" FROM ");
sqlSb.append(" (SELECT TAB.INDSENTIDOIDA, "); sqlSb.append(" (SELECT TAB.INDSENTIDOIDA, ");
sqlSb.append(" TAB.RUTA_ID, "); sqlSb.append(" TAB.RUTA_ID, ");
sqlSb.append(" TAB.NUMRUTA, "); sqlSb.append(" TAB.NUMRUTA, ");
sqlSb.append(" TAB.PREFIXO, "); sqlSb.append(" TAB.PREFIXO, ");
sqlSb.append(" TAB.DESCRUTA, "); sqlSb.append(" TAB.DESCRUTA, ");
sqlSb.append(" TAB.INTERESTADUAL, "); sqlSb.append(" TAB.INTERESTADUAL, ");
sqlSb.append(" TAB.GRUPO_LINHA, "); sqlSb.append(" TAB.GRUPO_LINHA, ");
sqlSb.append(" TAB.EXTENSAO_KM, "); sqlSb.append(" TAB.EXTENSAO_KM, ");
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, "); sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO, "); sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM, "); sqlSb.append(" SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS, "); sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA, "); sqlSb.append(" SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO, "); sqlSb.append(" SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE, "); sqlSb.append(" SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE, ");
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS, "); sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA, "); sqlSb.append(" SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS, "); sqlSb.append(" SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL, "); sqlSb.append(" SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL, "); sqlSb.append(" SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL, ");
sqlSb.append(" SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO, "); sqlSb.append(" SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO, ");
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE "); sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE ");
sqlSb.append(" FROM "); sqlSb.append(" FROM ");
sqlSb.append(" (SELECT TAB1.*, "); sqlSb.append(" (SELECT TAB1.*, ");
sqlSb.append(" (TAB1.RECEITA_TARIFA + RECEITA_SEGURO + RECEITA_EMBARQUE + RECEITA_PEDAGIO) RECEITA_TOTAL, "); 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)) VIAGENS_TOTAL, ");
sqlSb.append(" ((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO, "); sqlSb.append(" ((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO, ");
sqlSb.append(" (SELECT SUM(NVL(PE.EQUIVALENTE,0)) "); sqlSb.append(" (SELECT SUM(NVL(PE.EQUIVALENTE,0)) ");
sqlSb.append(" FROM "); sqlSb.append(" FROM ");
sqlSb.append(" (SELECT CO.FECCORRIDA, "); sqlSb.append(" (SELECT CO.FECCORRIDA, ");
sqlSb.append(" CO.RUTA_ID, "); sqlSb.append(" CO.RUTA_ID, ");
sqlSb.append(" BO.PRECIOBASE, "); sqlSb.append(" BO.PRECIOBASE, ");
sqlSb.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / "); sqlSb.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / ");
sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) "); sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) ");
sqlSb.append(" FROM RUTA_COMBINACION RS, "); sqlSb.append(" FROM RUTA_COMBINACION RS, ");
sqlSb.append(" TRAMO TR "); sqlSb.append(" TRAMO TR ");
sqlSb.append(" WHERE RS.RUTA_ID = CO.RUTA_ID "); sqlSb.append(" WHERE RS.RUTA_ID = CO.RUTA_ID ");
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID "); sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
sqlSb.append(" )), 2) EQUIVALENTE "); sqlSb.append(" )), 2) EQUIVALENTE ");
sqlSb.append(" FROM CORRIDA CO, "); sqlSb.append(" FROM CORRIDA CO, ");
sqlSb.append(" BOLETO BO "); sqlSb.append(" BOLETO BO ");
sqlSb.append(" WHERE CO.CORRIDA_ID = BO.CORRIDA_ID "); sqlSb.append(" WHERE CO.CORRIDA_ID = BO.CORRIDA_ID ");
sqlSb.append(" AND CO.FECCORRIDA = BO.FECCORRIDA "); sqlSb.append(" AND CO.FECCORRIDA = BO.FECCORRIDA ");
sqlSb.append(" AND BO.ACTIVO = 1 "); sqlSb.append(" AND BO.ACTIVO = 1 ");
sqlSb.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL "); sqlSb.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL ");
sqlSb.append(" OR BO.MOTIVOCANCELACION_ID = 0) "); sqlSb.append(" OR BO.MOTIVOCANCELACION_ID = 0) ");
sqlSb.append(" GROUP BY CO.FECCORRIDA, "); sqlSb.append(" GROUP BY CO.FECCORRIDA, ");
sqlSb.append(" CO.RUTA_ID, "); sqlSb.append(" CO.RUTA_ID, ");
sqlSb.append(" BO.PRECIOBASE, "); sqlSb.append(" BO.PRECIOBASE, ");
sqlSb.append(" BO.NUMKMVIAJE "); sqlSb.append(" BO.NUMKMVIAJE ");
sqlSb.append(" ) PE "); sqlSb.append(" ) PE ");
sqlSb.append(" WHERE PE.FECCORRIDA = TAB1.FECCORRIDA "); sqlSb.append(" WHERE PE.FECCORRIDA = TAB1.FECCORRIDA ");
sqlSb.append(" AND PE.RUTA_ID = TAB1.RUTA_ID "); sqlSb.append(" AND PE.RUTA_ID = TAB1.RUTA_ID ");
sqlSb.append(" ) PASSAGEIROS_EQUIVALENTE "); sqlSb.append(" ) PASSAGEIROS_EQUIVALENTE ");
sqlSb.append(" FROM "); sqlSb.append(" FROM ");
sqlSb.append(" (SELECT RUTA_ID, "); sqlSb.append(" (SELECT RUTA_ID, ");
sqlSb.append(" INDSENTIDOIDA, "); sqlSb.append(" INDSENTIDOIDA, ");
sqlSb.append(" NUMRUTA, "); sqlSb.append(" NUMRUTA, ");
sqlSb.append(" PREFIXO, "); sqlSb.append(" PREFIXO, ");
sqlSb.append(" FECCORRIDA, "); sqlSb.append(" FECCORRIDA, ");
sqlSb.append(" DESCRUTA, "); sqlSb.append(" DESCRUTA, ");
sqlSb.append(" INTERESTADUAL, "); sqlSb.append(" INTERESTADUAL, ");
sqlSb.append(" GRUPO_LINHA, "); sqlSb.append(" GRUPO_LINHA, ");
sqlSb.append(" EXTENSAO_KM, "); sqlSb.append(" EXTENSAO_KM, ");
sqlSb.append(" RECEITA_SEGURO, "); sqlSb.append(" RECEITA_SEGURO, ");
sqlSb.append(" RECEITA_BAGAGEM, "); sqlSb.append(" RECEITA_BAGAGEM, ");
sqlSb.append(" RECEITA_SEGURO_OUTROS, "); sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" RECEITA_PEDAGIO, "); sqlSb.append(" RECEITA_PEDAGIO, ");
sqlSb.append(" RECEITA_EMBARQUE, "); sqlSb.append(" RECEITA_EMBARQUE, ");
sqlSb.append(" PASSAGEIROS, "); sqlSb.append(" SUM(PASSAGEIROS) AS PASSAGEIROS, ");
sqlSb.append(" VIAGENS_EXTRA, "); sqlSb.append(" VIAGENS_EXTRA, ");
sqlSb.append(" VIAGENS, "); sqlSb.append(" VIAGENS, ");
sqlSb.append(" CVE_CLASE_SERVICIO, "); sqlSb.append(" CVE_CLASE_SERVICIO, ");
sqlSb.append(" SUM(PRECIOPAGADO) AS RECEITA_TARIFA "); sqlSb.append(" SUM(PRECIOPAGADO) AS RECEITA_TARIFA ");
sqlSb.append(" FROM "); sqlSb.append(" FROM ");
sqlSb.append(" (SELECT RT.RUTA_ID, "); sqlSb.append(" (SELECT RT.RUTA_ID, ");
sqlSb.append(" BL.BOLETO_ID, "); sqlSb.append(" BL.BOLETO_ID, ");
sqlSb.append(" SUM(BL.PRECIOPAGADO) AS preciototal, "); sqlSb.append(" SUM(BL.PRECIOPAGADO) AS preciototal, ");
sqlSb.append(" BL.preciopagado AS PRECIOPAGADO, "); sqlSb.append(" BL.preciopagado AS PRECIOPAGADO, ");
sqlSb.append(" RT.INDSENTIDOIDA, "); sqlSb.append(" RT.INDSENTIDOIDA, ");
sqlSb.append(" RT.NUMRUTA, "); sqlSb.append(" RT.NUMRUTA, ");
sqlSb.append(" RT.PREFIXO, "); sqlSb.append(" RT.PREFIXO, ");
sqlSb.append(" CR.FECCORRIDA, "); sqlSb.append(" CR.FECCORRIDA, ");
sqlSb.append(" RT.DESCRUTA, "); sqlSb.append(" RT.DESCRUTA, ");
sqlSb.append(" CASE "); sqlSb.append(" CASE ");
sqlSb.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID "); sqlSb.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID ");
sqlSb.append(" THEN 'S' "); sqlSb.append(" THEN 'S' ");
sqlSb.append(" ELSE 'N' "); sqlSb.append(" ELSE 'N' ");
sqlSb.append(" END INTERESTADUAL, "); sqlSb.append(" END INTERESTADUAL, ");
sqlSb.append(" NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA, "); sqlSb.append(" NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA, ");
sqlSb.append(" (SELECT SUM(NVL(RS.KMORIGINAL,0)) "); sqlSb.append(" (SELECT SUM(NVL(RS.KMORIGINAL,0)) ");
sqlSb.append(" FROM RUTA_SECUENCIA RS, "); sqlSb.append(" FROM RUTA_SECUENCIA RS, ");
sqlSb.append(" TRAMO TR "); sqlSb.append(" TRAMO TR ");
sqlSb.append(" WHERE RS.RUTA_ID = RT.RUTA_ID "); sqlSb.append(" WHERE RS.RUTA_ID = RT.RUTA_ID ");
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID "); sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
sqlSb.append(" AND RS.ACTIVO = 1 "); sqlSb.append(" AND RS.ACTIVO = 1 ");
sqlSb.append(" ) EXTENSAO_KM, "); sqlSb.append(" ) EXTENSAO_KM, ");
sqlSb.append(" NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO, "); sqlSb.append(" NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO, ");
sqlSb.append(" 0 RECEITA_BAGAGEM, "); sqlSb.append(" 0 RECEITA_BAGAGEM, ");
sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, "); sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, "); sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, ");
sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, "); sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, ");
sqlSb.append(" COUNT(1) PASSAGEIROS, "); sqlSb.append(" COUNT(DISTINCT BOLETO_ID) PASSAGEIROS, ");
sqlSb.append(" COUNT(DISTINCT "); sqlSb.append(" COUNT(DISTINCT ");
sqlSb.append(" CASE "); sqlSb.append(" CASE ");
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID = 2 "); sqlSb.append(" WHEN CR.TIPOSERVICIO_ID = 2 ");
sqlSb.append(" THEN CR.FECCORRIDA "); sqlSb.append(" THEN CR.FECCORRIDA ");
sqlSb.append(" || CR.CORRIDA_ID "); sqlSb.append(" || CR.CORRIDA_ID ");
sqlSb.append(" ELSE NULL "); sqlSb.append(" ELSE NULL ");
sqlSb.append(" END) VIAGENS_EXTRA, "); sqlSb.append(" END) VIAGENS_EXTRA, ");
sqlSb.append(" COUNT(DISTINCT "); sqlSb.append(" COUNT(DISTINCT ");
sqlSb.append(" CASE "); sqlSb.append(" CASE ");
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID <> 2 "); sqlSb.append(" WHEN CR.TIPOSERVICIO_ID <> 2 ");
sqlSb.append(" THEN CR.FECCORRIDA "); sqlSb.append(" THEN CR.FECCORRIDA ");
sqlSb.append(" || CR.CORRIDA_ID "); sqlSb.append(" || CR.CORRIDA_ID ");
sqlSb.append(" ELSE NULL "); sqlSb.append(" ELSE NULL ");
sqlSb.append(" END) VIAGENS, "); sqlSb.append(" END) VIAGENS, ");
sqlSb.append(" NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO "); sqlSb.append(" NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO ");
sqlSb.append(" FROM RUTA RT, "); sqlSb.append(" FROM RUTA RT, ");
sqlSb.append(" BOLETO BL, "); sqlSb.append(" BOLETO BL, ");
sqlSb.append(" CORRIDA CR, "); sqlSb.append(" CORRIDA CR, ");
sqlSb.append(" TRAMO TR, "); sqlSb.append(" TRAMO TR, ");
sqlSb.append(" VIGENCIA_TARIFA VT, "); sqlSb.append(" VIGENCIA_TARIFA VT, ");
sqlSb.append(" GRUPO_RUTA GR, "); sqlSb.append(" GRUPO_RUTA GR, ");
sqlSb.append(" PARADA PO, "); sqlSb.append(" PARADA PO, ");
sqlSb.append(" PARADA PD, "); sqlSb.append(" PARADA PD, ");
sqlSb.append(" CIUDAD CO, "); sqlSb.append(" CIUDAD CO, ");
sqlSb.append(" CIUDAD CD, "); sqlSb.append(" CIUDAD CD, ");
sqlSb.append(" CLASE_SERVICIO CS "); sqlSb.append(" CLASE_SERVICIO CS ");
sqlSb.append(" WHERE RT.RUTA_ID = CR.RUTA_ID "); sqlSb.append(" WHERE RT.RUTA_ID = CR.RUTA_ID ");
sqlSb.append(" AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID "); sqlSb.append(" AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID ");
sqlSb.append(" AND CR.FECCORRIDA = BL.FECCORRIDA "); sqlSb.append(" AND CR.FECCORRIDA = BL.FECCORRIDA ");
if(rutaId !=null) { if(rutaId !=null) {
sqlSb.append(" AND CR.RUTA_ID = NVL(:RUTA_ID, CR.RUTA_ID) "); sqlSb.append(" AND CR.RUTA_ID = NVL(:RUTA_ID, CR.RUTA_ID) ");
} }
if(grupoRutaId!=null) { if(grupoRutaId!=null) {
sqlSb.append(" AND DECODE(:GRUPORUTA_ID, NULL, 1, RT.GRUPORUTA_ID) = DECODE(:GRUPORUTA_ID, NULL, 1, :GRUPORUTA_ID) "); 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.CORRIDA_ID = BL.CORRIDA_ID ");
sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID "); sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID ");
sqlSb.append(" AND CR.ORIGEN_ID = PO.PARADA_ID "); sqlSb.append(" AND CR.ORIGEN_ID = PO.PARADA_ID ");
sqlSb.append(" AND CR.DESTINO_ID = PD.PARADA_ID "); sqlSb.append(" AND CR.DESTINO_ID = PD.PARADA_ID ");
sqlSb.append(" AND PO.CIUDAD_ID = CO.CIUDAD_ID "); sqlSb.append(" AND PO.CIUDAD_ID = CO.CIUDAD_ID ");
sqlSb.append(" AND PD.CIUDAD_ID = CD.CIUDAD_ID "); sqlSb.append(" AND PD.CIUDAD_ID = CD.CIUDAD_ID ");
sqlSb.append(" AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+) "); sqlSb.append(" AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+) ");
sqlSb.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID "); sqlSb.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
sqlSb.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); sqlSb.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL "); sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL ");
sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' "); sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' ");
sqlSb.append(" AND VT.ACTIVO = 1 "); sqlSb.append(" AND VT.ACTIVO = 1 ");
sqlSb.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA "); 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.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 CR.ACTIVO = 1 ");
sqlSb.append(" GROUP BY RT.RUTA_ID, "); sqlSb.append(" GROUP BY RT.RUTA_ID, ");
sqlSb.append(" RT.NUMRUTA, "); sqlSb.append(" RT.NUMRUTA, ");
sqlSb.append(" RT.PREFIXO, "); sqlSb.append(" RT.PREFIXO, ");
sqlSb.append(" CR.FECCORRIDA, "); sqlSb.append(" CR.FECCORRIDA, ");
sqlSb.append(" RT.DESCRUTA, "); sqlSb.append(" RT.DESCRUTA, ");
sqlSb.append(" GR.DESCGRUPO, "); sqlSb.append(" GR.DESCGRUPO, ");
sqlSb.append(" CO.ESTADO_ID, "); sqlSb.append(" CO.ESTADO_ID, ");
sqlSb.append(" CD.ESTADO_ID, "); sqlSb.append(" CD.ESTADO_ID, ");
sqlSb.append(" RT.INDSENTIDOIDA, "); sqlSb.append(" RT.INDSENTIDOIDA, ");
sqlSb.append(" CS.CVECLASE, "); sqlSb.append(" CS.CVECLASE, ");
sqlSb.append(" BL.BOLETO_ID, "); sqlSb.append(" BL.BOLETO_ID, ");
sqlSb.append(" BL.preciopagado "); sqlSb.append(" BL.preciopagado ");
sqlSb.append(" ) DADOS "); sqlSb.append(" ) DADOS ");
sqlSb.append(" GROUP BY RUTA_ID, "); sqlSb.append(" GROUP BY RUTA_ID, ");
sqlSb.append(" INDSENTIDOIDA, "); sqlSb.append(" INDSENTIDOIDA, ");
sqlSb.append(" NUMRUTA, "); sqlSb.append(" NUMRUTA, ");
sqlSb.append(" PREFIXO, "); sqlSb.append(" PREFIXO, ");
sqlSb.append(" FECCORRIDA, "); sqlSb.append(" FECCORRIDA, ");
sqlSb.append(" DESCRUTA, "); sqlSb.append(" DESCRUTA, ");
sqlSb.append(" INTERESTADUAL, "); sqlSb.append(" INTERESTADUAL, ");
sqlSb.append(" GRUPO_LINHA, "); sqlSb.append(" GRUPO_LINHA, ");
sqlSb.append(" EXTENSAO_KM, "); sqlSb.append(" EXTENSAO_KM, ");
sqlSb.append(" RECEITA_SEGURO, "); sqlSb.append(" RECEITA_SEGURO, ");
sqlSb.append(" RECEITA_BAGAGEM, "); sqlSb.append(" RECEITA_BAGAGEM, ");
sqlSb.append(" RECEITA_SEGURO_OUTROS, "); sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" RECEITA_PEDAGIO, "); sqlSb.append(" RECEITA_PEDAGIO, ");
sqlSb.append(" RECEITA_EMBARQUE, "); sqlSb.append(" RECEITA_EMBARQUE, ");
sqlSb.append(" PASSAGEIROS, "); sqlSb.append(" PASSAGEIROS, ");
sqlSb.append(" VIAGENS_EXTRA, "); sqlSb.append(" VIAGENS_EXTRA, ");
sqlSb.append(" VIAGENS, "); sqlSb.append(" VIAGENS, ");
sqlSb.append(" CVE_CLASE_SERVICIO "); sqlSb.append(" CVE_CLASE_SERVICIO ");
sqlSb.append(" ) TAB1 "); sqlSb.append(" ) TAB1 ");
sqlSb.append(" )TAB "); sqlSb.append(" )TAB ");
sqlSb.append(" GROUP BY TAB.RUTA_ID, "); sqlSb.append(" GROUP BY TAB.RUTA_ID, ");
sqlSb.append(" TAB.NUMRUTA, "); sqlSb.append(" TAB.NUMRUTA, ");
sqlSb.append(" TAB.PREFIXO, "); sqlSb.append(" TAB.PREFIXO, ");
sqlSb.append(" TAB.DESCRUTA, "); sqlSb.append(" TAB.DESCRUTA, ");
sqlSb.append(" TAB.INTERESTADUAL, "); sqlSb.append(" TAB.INTERESTADUAL, ");
sqlSb.append(" TAB.GRUPO_LINHA, "); sqlSb.append(" TAB.GRUPO_LINHA, ");
sqlSb.append(" TAB.EXTENSAO_KM, "); sqlSb.append(" TAB.EXTENSAO_KM, ");
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, "); sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
sqlSb.append(" TAB.INDSENTIDOIDA "); sqlSb.append(" TAB.INDSENTIDOIDA ");
sqlSb.append(" ) SUB "); sqlSb.append(" ) SUB ");
sqlSb.append(" WHERE (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0) "); sqlSb.append(" WHERE (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0) ");
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 "); sqlSb.append(" AND DECODE(NVL(SUB.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.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.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 "); sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
sqlSb.append(" ORDER BY SUB.PREFIXO, "); sqlSb.append(" ORDER BY SUB.PREFIXO, ");
sqlSb.append(" SUB.INDSENTIDOIDA DESC "); sqlSb.append(" SUB.INDSENTIDOIDA DESC ");
return sqlSb.toString(); return sqlSb.toString();
} }

View File

@ -34,6 +34,7 @@ import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.GrupoRutaService; import com.rjconsultores.ventaboletos.service.GrupoRutaService;
import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@ -88,7 +89,7 @@ public class RelatorioResumoLinhasController extends MyGenericForwardComposer {
StringBuilder filtro = new StringBuilder(); StringBuilder filtro = new StringBuilder();
parametros.put("DATA_INICIAL", (java.util.Date) this.fecCorridaIni.getValue()); parametros.put("DATA_INICIAL", (java.util.Date) this.fecCorridaIni.getValue());
parametros.put("DATA_FINAL", (java.util.Date) this.fecCorridaFin.getValue()); parametros.put("DATA_FINAL", DateUtil.fimFecha((java.util.Date) this.fecCorridaFin.getValue()));
parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioResumoLinhasController.window.title")); parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioResumoLinhasController.window.title"));
parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString());
parametros.put("NOME_USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario().toString()); parametros.put("NOME_USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario().toString());