From 8481a19242417017c7bff5887ed46e49e939fd42 Mon Sep 17 00:00:00 2001 From: walace Date: Fri, 11 Aug 2017 12:27:59 +0000 Subject: [PATCH] fixes bug #9580 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@72546 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioLinhasHorario.java | 51 ++++++++++--------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java index 8c8bdd5e6..cb5f03b1d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java @@ -422,26 +422,31 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' ELSE 'INTERMUNICIPAL' END TIPO_LINHA, "); sql.append(" ABSOL, "); sql.append(" CJ.KM_REAL AS KM_REAL "); - sql.append("FROM "); - sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, "); - sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 1 THEN 1 ELSE NULL END) AS ORD, "); - sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 2 THEN 1 ELSE NULL END) AS EXTRA "); - sql.append(" FROM CORRIDA C "); + sql.append(" FROM CORRIDA C "); + sql.append(" INNER JOIN (SELECT C.CORRIDA_ID,C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, "); + sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 1 THEN 1 ELSE NULL END) AS ORD, "); + sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 2 THEN 1 ELSE NULL END) AS EXTRA "); + sql.append(" FROM CORRIDA C "); sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")"); - sql.append(" WHERE C.ACTIVO = 1"); - sql.append(" AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI')) TB2, "); - sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, "); - sql.append(" COUNT(B.BOLETO_ID) AS ABSOL "); - sql.append(" FROM CORRIDA C "); + sql.append(" WHERE C.ACTIVO = 1 AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" GROUP BY C.CORRIDA_ID, "); + sql.append(" C.ROLOPERATIVO_ID, "); + sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); + sql.append(" ) TB2 ON TB2.CORRIDA_ID = C.CORRIDA_ID "); + sql.append(" AND TB2.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); + sql.append(" AND TB2.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); + sql.append(" INNER JOIN (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, "); + sql.append(" COUNT(B.BOLETO_ID) AS ABSOL "); + sql.append(" FROM CORRIDA C "); sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")"); - sql.append(" LEFT JOIN BOLETO B ON (B.CORRIDA_ID = C.CORRIDA_ID AND B.FECCORRIDA = C.FECCORRIDA "); - sql.append(" AND B.MOTIVOCANCELACION_ID IS NULL "); - sql.append(" AND B.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(") "); - sql.append(" WHERE C.ACTIVO = 1 "); - sql.append(" AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI')) TB4, "); - sql.append(" CORRIDA C "); + sql.append(" LEFT JOIN BOLETO B ON (B.CORRIDA_ID = C.CORRIDA_ID AND B.FECCORRIDA = C.FECCORRIDA AND B.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" AND B.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(") "); + sql.append(" WHERE C.ACTIVO = 1 AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); + sql.append(" ) TB4 ON TB4.CORRIDA_ID = C.CORRIDA_ID "); + sql.append(" AND TB4.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); + sql.append(" AND TB4.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); + sql.append("LEFT JOIN "); sql.append(" (SELECT CO.FECCORRIDA, "); sql.append(" CO.CORRIDA_ID, "); @@ -506,13 +511,9 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(") TB5 ON TB5.RUTA_ID = C.RUTA_ID "); sql.append("AND TB5.ORIGEN_ID = ORIGEM.PARADA_ID "); sql.append("AND TB5.DESTINO_ID = DESTINO.PARADA_ID "); - sql.append("WHERE TB2.CORRIDA_ID = C.CORRIDA_ID "); - sql.append("AND TB2.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); - sql.append("AND TB2.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); - sql.append("AND TB4.CORRIDA_ID = C.CORRIDA_ID "); - sql.append("AND TB4.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); - sql.append("AND TB4.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); - sql.append("AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append("WHERE C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + + sql.append(" "); if (lsNumServico.size() > 0) { for (Corrida corrida : lsNumServico) {