diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDemandasConsolidado.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDemandasConsolidado.java index e8b291d0d..0ef0efb7f 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDemandasConsolidado.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDemandasConsolidado.java @@ -57,27 +57,17 @@ public class RelatorioDemandasConsolidado extends RelatorioDemandas { sql.append(" COUNT(ts_extra.TIPOSERVICIO_ID) OCUPACAO_EXTRA "); sql.append(" FROM "); sql.append(" boleto bol "); - sql.append(" LEFT JOIN ruta r "); - sql.append(" ON "); - sql.append(" r.RUTA_ID = bol.RUTA_ID "); - sql.append(" LEFT JOIN CLASE_SERVICIO cs "); - sql.append(" ON "); - sql.append(" cs.CLASESERVICIO_ID = bol.CLASESERVICIO_ID "); - sql.append(" LEFT JOIN TIPO_SERVICIO ts_normal "); - sql.append(" ON "); - sql.append(" ts_normal.TIPOSERVICIO_ID = cs.TIPOSERVICO "); - sql.append(" and ts_normal.TIPOSERVICIO_ID = 1 "); - sql.append(" LEFT JOIN TIPO_SERVICIO ts_extra "); - sql.append(" ON "); - sql.append(" ts_extra.TIPOSERVICIO_ID = cs.TIPOSERVICO "); - sql.append(" and ts_extra.TIPOSERVICIO_ID = 2 "); - sql.append(" LEFT JOIN empresa e "); - sql.append(" ON "); - sql.append(" e.EMPRESA_ID = bol.EMPRESACORRIDA_ID "); + sql.append(" LEFT JOIN ruta r ON r.RUTA_ID = bol.RUTA_ID "); + sql.append(" left join corrida cor on cor.CORRIDA_ID = bol.CORRIDA_ID and cor.FECCORRIDA = bol.FECCORRIDA "); + sql.append(" LEFT JOIN CLASE_SERVICIO cs ON cs.CLASESERVICIO_ID = bol.CLASESERVICIO_ID "); + sql.append(" LEFT JOIN TIPO_SERVICIO ts_normal ON ts_normal.TIPOSERVICIO_ID = cor.TIPOSERVICIO_ID and ts_normal.TIPOSERVICIO_ID = 1 "); + sql.append(" LEFT JOIN TIPO_SERVICIO ts_extra ON ts_extra.TIPOSERVICIO_ID = cor.TIPOSERVICIO_ID and ts_extra.TIPOSERVICIO_ID = 2 "); + sql.append(" LEFT JOIN empresa e ON e.EMPRESA_ID = bol.EMPRESACORRIDA_ID "); sql.append(" WHERE "); sql.append(" bol.FECHORVIAJE >= :DATA_INICIAL "); sql.append(" AND bol.FECHORVIAJE <= :DATA_FINAL "); sql.append(" AND bol.MOTIVOCANCELACION_ID is null "); + if (parametros.get("RUTA_ID") != null) { sql.append(" AND r.RUTA_ID = :RUTA_ID "); } @@ -104,7 +94,11 @@ public class RelatorioDemandasConsolidado extends RelatorioDemandas { sql.append(" ) "); } if (parametros.get("TIPO_SERVICO") != null) { - sql.append(" AND ts_normal.TIPOSERVICIO_ID = :TIPO_SERVICO "); + if (parametros.get("TIPO_SERVICO").toString().equals("1")) { //NORMAL + sql.append(" AND ts_normal.TIPOSERVICIO_ID = :TIPO_SERVICO "); + } else { //EXTRA + sql.append(" AND ts_extra.TIPOSERVICIO_ID = :TIPO_SERVICO "); + } } sql.append(" GROUP BY "); sql.append(" e.NOMBEMPRESA, ");