diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java index e4c4ea720..315681e09 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java @@ -6,6 +6,7 @@ import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -89,9 +90,16 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio { NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; if (parametros.get("HORA_INICIAL") == null) { - stmt.setTimestamp("DATA_INICIO", (Timestamp) parametros.get("DATA_INICIO")); - stmt.setTimestamp("DATA_FINAL", (Timestamp) parametros.get("DATA_FINAL")); - + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); + if (parametros.get("DATA_INICIO") != null) { + Date dataInicio = (Date) parametros.get("DATA_INICIO"); + stmt.setString("DATA_INICIO", sdf.format(dataInicio)); + } + + if (parametros.get("DATA_FINAL") != null) { + Date dataFinal = (Date) parametros.get("DATA_FINAL"); + stmt.setString("DATA_FINAL", sdf.format(dataFinal)); + } }else { setaParametroDataHora(parametros, stmt); } @@ -246,22 +254,25 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio { } private void setaParametroDataHora(Map parametros, NamedParameterStatement stmt) throws SQLException { + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Calendar dataInicial = Calendar.getInstance(); dataInicial.setTime((Date) parametros.get("DATA_INICIO")); Calendar horaInicialCal = Calendar.getInstance(); horaInicialCal.setTime((Date) parametros.get("HORA_INICIAL")); mesclarDataHora(dataInicial, horaInicialCal); - stmt.setTimestamp("DATA_INICIO", new Timestamp(dataInicial.getTimeInMillis())); + stmt.setString("DATA_INICIO", sdf.format(dataInicial.getTime())); if (parametros.get("HORA_FINAL") != null) { Calendar dataFinal = Calendar.getInstance(); dataFinal.setTime((Date) parametros.get("DATA_FINAL")); Calendar horaFinalCal = Calendar.getInstance(); horaFinalCal.setTime((Date) parametros.get("HORA_FINAL")); mesclarDataHora(dataFinal, horaFinalCal); - stmt.setTimestamp("DATA_FINAL", new Timestamp( dataFinal.getTimeInMillis())); + stmt.setString("DATA_FINAL", sdf.format(dataFinal.getTime())); }else { - stmt.setTimestamp("DATA_FINAL", (Timestamp) parametros.get("DATA_FINAL")); + Date dataFinal = (Date) parametros.get("DATA_FINAL"); + stmt.setString("DATA_FINAL", sdf.format(dataFinal)); } + } public List getLsDadosRelatorio() { @@ -484,7 +495,7 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio { sql.append(" WHERE "); sql.append(" EXISTS (SELECT * FROM CAJA CA WHERE CA.CORRIDA_ID = C.CORRIDA_ID AND CA.FECCORRIDA = C.FECCORRIDA AND CA.MOTIVOCANCELACION_ID IS NULL) "); - sql.append(" AND C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') "); sql.append(" GROUP BY C.CORRIDA_ID, "); sql.append(" C.ROLOPERATIVO_ID, "); sql.append(" c.ruta_id, "); @@ -509,8 +520,9 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio { sql.append(" LEFT JOIN BOLETO B ON (B.CORRIDA_ID = C.CORRIDA_ID AND B.FECCORRIDA = C.FECCORRIDA AND B.ACTIVO = 1 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(" WHERE C.ACTIVO = 1 "); + sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') "); + if (lsNumServico.size() > 0) { for (Corrida corrida : lsNumServico) { if (lsNumServico.indexOf(corrida) == 0) { @@ -556,7 +568,7 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio { sql.append(" AND T.ACTIVO = 1"); sql.append(" AND BO.INDSTATUSBOLETO != 'S' AND BO.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND BO.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA); - sql.append(" AND BO.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" AND BO.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') "); if (lsNumServico.size() > 0) { for (Corrida corrida : lsNumServico) { @@ -594,7 +606,7 @@ public class RelatorioLinhasHorarioSimplificado 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 C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" WHERE C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') "); sql.append(" ");