diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java index 25ca8a357..3537eaede 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java @@ -85,6 +85,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { Integer corridaId = this.resultSet.getInt("CORRIDA_ID"); Integer assentos = this.resultSet.getInt("ASSENTOS"); Integer rutaId = this.resultSet.getInt("RUTA_ID"); + + Integer diagramaAutoBusId = this.resultSet.getInt("DIAGRAMAAUTOBUS_ID"); String horario = this.resultSet.getString("HORARIO"); boolean isServicoExtra = isTipoServicoExtra(this.resultSet.getString("TIPO_SERVICO")); @@ -105,7 +107,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { // Assim foi retirado a coluna ROLOPERATIVO_ID da query principal mas foi feito antes um mapa com a relação CORRIDA_ID x ROLOPERATIVO_ID(s) if (listaRoloperativoId != null) { for (Integer rolOperativoId : listaRoloperativoId) { - ls.addAll(getValorByIndicador(corridaId, rolOperativoId, indicador, assentos, dataInicial, rutaId, horario, isServicoExtra)); + ls.addAll(getValorByIndicador(corridaId, rolOperativoId, indicador, assentos, dataInicial, rutaId, horario, isServicoExtra, + diagramaAutoBusId)); } } @@ -197,7 +200,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { protected List getValorByIndicador(Integer corridaId, Integer rolOperativoId, Integer indicador, Integer assentos, Date dataInicial, - Integer rutaId, String horario, boolean isServicoExtra) throws SQLException { + Integer rutaId, String horario, boolean isServicoExtra, Integer diagramaAutoBusId) throws SQLException { String sql = null; @@ -213,7 +216,6 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { break; case IAP: sql = getSqlIndicadorIap(isServicoExtra); - System.out.println(sql); break; case PAXKM: sql = getSqlIndicadorPax(isServicoExtra); @@ -225,8 +227,10 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql = getSqlIndicadorReceitaViagem(isServicoExtra); break; } + System.out.println(sql); - return getListaValoresIndicadores(corridaId, rolOperativoId, indicador, assentos, sql, dataInicial, rutaId, horario); + return getListaValoresIndicadores(corridaId, rolOperativoId, indicador, assentos, sql, dataInicial, rutaId, horario, + diagramaAutoBusId); } protected Map> getMapaCorridaIdListaRoloperativoId() throws SQLException { @@ -273,7 +277,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { } protected List getListaValoresIndicadores(Integer corridaId, Integer rolOperativoId, - Integer indicador, Integer assentos, String sql, Date dataInicial, Integer rutaId, String horario) throws SQLException { + Integer indicador, Integer assentos, String sql, Date dataInicial, Integer rutaId, String horario, + Integer diagramaAutoBusId) throws SQLException { List lsEquivalente = new ArrayList(); try { @@ -287,6 +292,10 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { stmt.setInt("ROLOPERATIVO_ID", rolOperativoId); stmt.setInt("RUTA_ID", rutaId); stmt.setString("HORARIO", horario); + if(IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.RECEITA_VIAGEM) + || IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.IAP)) { + stmt.setInt("DIAGRAMAAUTOBUS_ID", diagramaAutoBusId); + } if (IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.IAP)) { stmt.setInt("CAPACIDADE", assentos); @@ -425,6 +434,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql.append(" EXTENSAO_LINHA.EL EL, C.CORRIDA_ID, C.FECCORRIDA "); sql.append(" FROM CORRIDA C "); + sql.append(" inner join ROL_OPERATIVO ro on ro.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); sql.append(" LEFT JOIN BOLETO BO ON ((BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 ) "); sql.append(" AND C.CORRIDA_ID = BO.CORRIDA_ID AND C.FECCORRIDA = BO.FECCORRIDA "); sql.append(" AND BO.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(" ), ") ; @@ -440,6 +450,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql.append(" GROUP BY CR.CORRIDA_ID, CR.FECCORRIDA, CR.ROLOPERATIVO_ID) EXTENSAO_LINHA "); sql.append(" WHERE C.CORRIDA_ID = :CORRIDA_ID "); sql.append(" AND TO_CHAR(C.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') "); + sql.append(" AND ro.DIAGRAMAAUTOBUS_ID = :DIAGRAMAAUTOBUS_ID "); sql.append(" AND EXTENSAO_LINHA.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND EXTENSAO_LINHA.FECCORRIDA = C.FECCORRIDA "); sql.append(" AND EXTENSAO_LINHA.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); @@ -512,6 +523,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql.append(" BO.FECCORRIDA AS FECCORRIDA "); sql.append("FROM BOLETO BO "); sql.append("INNER JOIN CORRIDA CR ON CR.CORRIDA_ID = BO.CORRIDA_ID AND CR.FECCORRIDA = BO.FECCORRIDA "); + sql.append("inner join ROL_OPERATIVO ro on ro.ROLOPERATIVO_ID = cr.ROLOPERATIVO_ID "); sql.append("WHERE "); sql.append(" BO.CORRIDA_ID = :CORRIDA_ID "); sql.append("AND TO_CHAR(BO.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') "); @@ -519,10 +531,11 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql.append(isServicoExtra ? "AND CR.TIPOSERVICIO_ID = 2 " : " AND CR.TIPOSERVICIO_ID <> 2 "); sql.append("AND CR.RUTA_ID = :RUTA_ID "); sql.append("AND CR.ROLOPERATIVO_ID = :ROLOPERATIVO_ID "); + sql.append("AND ro.DIAGRAMAAUTOBUS_ID = :DIAGRAMAAUTOBUS_ID "); sql.append("AND BO.ACTIVO = 1 "); sql.append("AND BO.INDSTATUSOPERACION = 'F' "); sql.append("AND BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 "); - sql.append("GROUP BY BO.CORRIDA_ID, BO.FECCORRIDA "); + sql.append("GROUP BY ro.DIAGRAMAAUTOBUS_ID, BO.CORRIDA_ID, BO.FECCORRIDA "); sql.append("ORDER BY BO.FECCORRIDA"); return sql.toString(); @@ -631,15 +644,16 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { StringBuilder sql = new StringBuilder(); sql.append(" SELECT DISTINCT RT.RUTA_ID, "); + sql.append(" DA.DIAGRAMAAUTOBUS_ID, "); sql.append(" CR.CORRIDA_ID, "); sql.append(" RT.DESCRUTA, "); sql.append(" DA.CANTASIENTOS ASSENTOS, "); sql.append(" PO.CVEPARADA||' - '||PD.CVEPARADA SIGLA, "); sql.append(" TO_CHAR(CR.FECHORSALIDAORIGINAL, 'HH24:MI') HORARIO, "); - if (addRoloperativo_id) { + //if (addRoloperativo_id) { sql.append(" CR.ROLOPERATIVO_ID, "); - } + //} sql.append(" CASE "); sql.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN ");