walace 2017-08-11 12:27:59 +00:00
parent d9a0e01055
commit 8481a19242
1 changed files with 26 additions and 25 deletions

View File

@ -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(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' ELSE 'INTERMUNICIPAL' END TIPO_LINHA, ");
sql.append(" ABSOL, "); sql.append(" ABSOL, ");
sql.append(" CJ.KM_REAL AS KM_REAL "); sql.append(" CJ.KM_REAL AS KM_REAL ");
sql.append("FROM "); sql.append(" FROM CORRIDA C ");
sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, "); 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 = 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(" 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(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")"); 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(" WHERE C.ACTIVO = 1 AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
sql.append(" AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); sql.append(" GROUP BY C.CORRIDA_ID, ");
sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI')) TB2, "); sql.append(" C.ROLOPERATIVO_ID, ");
sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, "); 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(" COUNT(B.BOLETO_ID) AS ABSOL ");
sql.append(" FROM CORRIDA C "); 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(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(" 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.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" AND B.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(") "); sql.append(" AND B.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(") ");
sql.append(" WHERE C.ACTIVO = 1 "); sql.append(" WHERE C.ACTIVO = 1 AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
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') ");
sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI')) TB4, "); sql.append(" ) TB4 ON TB4.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" CORRIDA C "); 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("LEFT JOIN ");
sql.append(" (SELECT CO.FECCORRIDA, "); sql.append(" (SELECT CO.FECCORRIDA, ");
sql.append(" CO.CORRIDA_ID, "); 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(") TB5 ON TB5.RUTA_ID = C.RUTA_ID ");
sql.append("AND TB5.ORIGEN_ID = ORIGEM.PARADA_ID "); sql.append("AND TB5.ORIGEN_ID = ORIGEM.PARADA_ID ");
sql.append("AND TB5.DESTINO_ID = DESTINO.PARADA_ID "); sql.append("AND TB5.DESTINO_ID = DESTINO.PARADA_ID ");
sql.append("WHERE TB2.CORRIDA_ID = C.CORRIDA_ID "); sql.append("WHERE C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
sql.append("AND TB2.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
sql.append("AND TB2.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); sql.append(" ");
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 ");
if (lsNumServico.size() > 0) { if (lsNumServico.size() > 0) {
for (Corrida corrida : lsNumServico) { for (Corrida corrida : lsNumServico) {