fixes bug#AL-2233

master
Célio de Souza Ribeiro JR 2023-03-06 10:48:57 -03:00
parent ba30705ee7
commit 0a33931625
3 changed files with 45 additions and 42 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId> <artifactId>ventaboletosadm</artifactId>
<version>1.0.66</version> <version>1.0.67</version>
<packaging>war</packaging> <packaging>war</packaging>
<properties> <properties>

View File

@ -1,14 +1,17 @@
package com.rjconsultores.ventaboletos.relatorios.impl; package com.rjconsultores.ventaboletos.relatorios.impl;
import java.lang.reflect.Array;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.Connection; import java.sql.Connection;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -50,10 +53,18 @@ public class RelatorioLinhasHorario extends Relatorio {
parametros.put("LINHA_FILTRO", retornaFiltro(null, lsNumLinha)); parametros.put("LINHA_FILTRO", retornaFiltro(null, lsNumLinha));
Empresa empresa = (Empresa) parametros.get("EMPRESA"); Empresa empresa = (Empresa) parametros.get("EMPRESA");
String corridaIds = "", rutaIds = "";
GrupoRuta grupoRuta = (GrupoRuta) parametros.get("GRUPORUTA"); GrupoRuta grupoRuta = (GrupoRuta) parametros.get("GRUPORUTA");
Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID"); Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID");
Boolean isPorData = parametros.get("ISPORDATA") == null ? false : true; Boolean isPorData = parametros.get("ISPORDATA") == null ? false : true;
String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta, isPorData); if (lsNumServico != null && !lsNumServico.isEmpty()) {
corridaIds = retornaFiltro(lsNumServico, null);
}
if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
rutaIds = retornaFiltro(null, lsNumLinha);
}
String sql = getSql(corridaIds, rutaIds, empresa, tipoServico, grupoRuta, isPorData);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null; ResultSet rset = null;
@ -75,14 +86,6 @@ public class RelatorioLinhasHorario extends Relatorio {
if (grupoRuta != null) { if (grupoRuta != null) {
stmt.setInt("GRUPORUTA_ID", grupoRuta.getGrupoRutaId()); stmt.setInt("GRUPORUTA_ID", grupoRuta.getGrupoRutaId());
} }
if (lsNumServico != null && !lsNumServico.isEmpty()) {
String corridaIds = retornaFiltro(lsNumServico, null);
stmt.setString("CORRIDA_ID", corridaIds);
}
if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
String rutaIds = retornaFiltro(null, lsNumLinha);
stmt.setString("RUTA_ID", rutaIds);
}
if (tipoServico > 0) { if (tipoServico > 0) {
stmt.setInt("TIPOSERVICIO_ID", tipoServico); stmt.setInt("TIPOSERVICIO_ID", tipoServico);
} }
@ -241,21 +244,21 @@ public class RelatorioLinhasHorario extends Relatorio {
if (lsNumServico != null && !lsNumServico.isEmpty()) { if (lsNumServico != null && !lsNumServico.isEmpty()) {
for (Corrida corrida : lsNumServico) { for (Corrida corrida : lsNumServico) {
if (lsNumServico.indexOf(corrida) == 0) { if (lsNumServico.indexOf(corrida) == 0) {
filtro = "" + corrida.getId().getCorridaId(); filtro = "'" + corrida.getId().getCorridaId();
} else { } else {
filtro += ", " + corrida.getId().getCorridaId(); filtro += "','" + corrida.getId().getCorridaId();
} }
} }
return filtro; return filtro.concat("'");
} else if (lsNumLinha != null && !lsNumLinha.isEmpty()) { } else if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
for (Ruta ruta : lsNumLinha) { for (Ruta ruta : lsNumLinha) {
if (lsNumLinha.indexOf(ruta) == 0) { if (lsNumLinha.indexOf(ruta) == 0) {
filtro = "" + ruta.getRutaId(); filtro = "'" + ruta.getRutaId();
} else { } else {
filtro += ", " + ruta.getRutaId(); filtro += "','" + ruta.getRutaId();
} }
} }
return filtro; return filtro.concat("'");
} else { } else {
return filtro; return filtro;
} }
@ -376,7 +379,7 @@ public class RelatorioLinhasHorario extends Relatorio {
protected void processaParametros() throws Exception { protected void processaParametros() throws Exception {
} }
private String getSql(ArrayList<Ruta> lsNumLinha, ArrayList<Corrida> lsNumServico, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta, Boolean isPorData) { private String getSql(String corridaIds,String rutaIds, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta, Boolean isPorData) {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
sql.append(" SELECT "); sql.append(" SELECT ");
@ -510,7 +513,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" INNER JOIN TARIFA TF ON ( TR.TRAMO_ID=TF.TRAMO_ID AND TF.CLASESERVICIO_ID = C.CLASESERVICIO_ID AND TF.DESTINO_ID = C.DESTINO_ID AND TF.ORIGEN_ID = C.ORIGEN_ID AND TF.MARCA_ID = C.MARCA_ID AND TF.RUTA_ID = C.RUTA_ID AND R.ORGAOCONCEDENTE_ID= TF.ORGAOCONCEDENTE_ID AND TF.ACTIVO=1 AND ((TF.MONEDA_ID = B.MONEDA_ID) OR (B.MONEDA_ID IS NULL))) "); sql.append(" INNER JOIN TARIFA TF ON ( TR.TRAMO_ID=TF.TRAMO_ID AND TF.CLASESERVICIO_ID = C.CLASESERVICIO_ID AND TF.DESTINO_ID = C.DESTINO_ID AND TF.ORIGEN_ID = C.ORIGEN_ID AND TF.MARCA_ID = C.MARCA_ID AND TF.RUTA_ID = C.RUTA_ID AND R.ORGAOCONCEDENTE_ID= TF.ORGAOCONCEDENTE_ID AND TF.ACTIVO=1 AND ((TF.MONEDA_ID = B.MONEDA_ID) OR (B.MONEDA_ID IS NULL))) ");
sql.append(" INNER JOIN VIGENCIA_TARIFA VT ON (VT.VIGENCIATARIFA_ID = TF.VIGENCIATARIFA_ID AND C.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ) "); sql.append(" INNER JOIN VIGENCIA_TARIFA VT ON (VT.VIGENCIATARIFA_ID = TF.VIGENCIATARIFA_ID AND C.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ) ");
sql.append(" WHERE C.ACTIVO NOT IN (0,2) AND C.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') "); sql.append(" WHERE C.ACTIVO NOT IN (0,2) AND C.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN ( :CORRIDA_ID ) "); sql.append(corridaIds.isEmpty() ? "" : " AND B.CORRIDA_ID IN (" + corridaIds + ") ");
sql.append(" GROUP BY C.CORRIDA_ID,C.CORRIDA2_ID, c.ruta_id, C.ROLOPERATIVO_ID, "); sql.append(" GROUP BY C.CORRIDA_ID,C.CORRIDA2_ID, c.ruta_id, C.ROLOPERATIVO_ID, ");
sql.append(" C.DESTINO_ID, C.ORIGEN_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI'),NVL(TF.PRECIO, 0) "); sql.append(" C.DESTINO_ID, C.ORIGEN_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI'),NVL(TF.PRECIO, 0) ");
sql.append(" ) TB4 ON (TB4.CORRIDA_ID = C.CORRIDA_ID AND (TB4.CORRIDA2_ID=C.CORRIDA2_ID OR (TB4.CORRIDA2_ID IS NULL AND C.CORRIDA2_ID IS NULL)) and tb4.c_ruta_id = c.ruta_id "); sql.append(" ) TB4 ON (TB4.CORRIDA_ID = C.CORRIDA_ID AND (TB4.CORRIDA2_ID=C.CORRIDA2_ID OR (TB4.CORRIDA2_ID IS NULL AND C.CORRIDA2_ID IS NULL)) and tb4.c_ruta_id = c.ruta_id ");
@ -557,7 +560,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" AND BO.CATEGORIA_ID <> :CRIANCA_ID"); sql.append(" AND BO.CATEGORIA_ID <> :CRIANCA_ID");
sql.append(" AND BO.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') "); sql.append(" AND BO.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
sql.append(lsNumServico.isEmpty() ? "" : " AND BO.CORRIDA_ID IN ( :CORRIDA_ID ) "); sql.append(corridaIds.isEmpty() ? "" : " AND BO.CORRIDA_ID IN (" + corridaIds + ") ");
sql.append(" GROUP BY CO.FECCORRIDA, CO.CORRIDA_ID, CO.CORRIDA2_ID, CO.ROLOPERATIVO_ID, "); sql.append(" GROUP BY CO.FECCORRIDA, CO.CORRIDA_ID, CO.CORRIDA2_ID, CO.ROLOPERATIVO_ID, ");
sql.append(" CO.RUTA_ID, CO.EMPRESACORRIDA_ID, BO.NUMKMVIAJE, BO.BOLETO_ID, T.CANTKMREAL, "); sql.append(" CO.RUTA_ID, CO.EMPRESACORRIDA_ID, BO.NUMKMVIAJE, BO.BOLETO_ID, T.CANTKMREAL, ");
sql.append(" NVL(BO.IMPORTESEGURO, 0), NVL(BO.IMPORTETAXAEMBARQUE, 0), "); sql.append(" NVL(BO.IMPORTESEGURO, 0), NVL(BO.IMPORTETAXAEMBARQUE, 0), ");
@ -566,9 +569,10 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" AND CJ.RUTA_ID = C.RUTA_ID AND CJ.EMPRESACORRIDA_ID = C.EMPRESACORRIDA_ID AND CJ.TARIFA=TF.PRECIO ) "); sql.append(" AND CJ.RUTA_ID = C.RUTA_ID AND CJ.EMPRESACORRIDA_ID = C.EMPRESACORRIDA_ID AND CJ.TARIFA=TF.PRECIO ) ");
sql.append(" WHERE C.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') "); sql.append(" WHERE C.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
sql.append(lsNumServico.isEmpty() ? "" : " AND C.CORRIDA_ID IN ( :CORRIDA_ID ) "); sql.append(corridaIds.isEmpty() ? "" : " AND C.CORRIDA_ID IN (" + corridaIds + ")");
sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN ( :GRUPORUTA_ID ) "); sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN ( :GRUPORUTA_ID ) ");
sql.append(lsNumLinha.isEmpty() ? "" : " AND R.RUTA_ID IN ( :RUTA_ID ) "); sql.append(rutaIds.isEmpty() ? "" : " AND R.RUTA_ID IN (" + rutaIds + ")");
sql.append(tipoServico == 0 ? "" : " AND C.TIPOSERVICIO_ID = :TIPOSERVICIO_ID" ); sql.append(tipoServico == 0 ? "" : " AND C.TIPOSERVICIO_ID = :TIPOSERVICIO_ID" );
sql.append(" AND C.ACTIVO <> 0 AND ORIGEM.ACTIVO = 1 AND DESTINO.ACTIVO = 1 AND TB2.ORIGEM = ORIGEM.CVEPARADA AND TB2.DESTINO = DESTINO.CVEPARADA "); sql.append(" AND C.ACTIVO <> 0 AND ORIGEM.ACTIVO = 1 AND DESTINO.ACTIVO = 1 AND TB2.ORIGEM = ORIGEM.CVEPARADA AND TB2.DESTINO = DESTINO.CVEPARADA ");

View File

@ -53,10 +53,17 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
parametros.put("LINHA_FILTRO", retornaFiltro(null, lsNumLinha)); parametros.put("LINHA_FILTRO", retornaFiltro(null, lsNumLinha));
Empresa empresa = (Empresa) parametros.get("EMPRESA"); Empresa empresa = (Empresa) parametros.get("EMPRESA");
String corridaIds = "", rutaIds = "";
GrupoRuta grupoRuta = (GrupoRuta) parametros.get("GRUPORUTA"); GrupoRuta grupoRuta = (GrupoRuta) parametros.get("GRUPORUTA");
Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID"); Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID");
Boolean isPorData = parametros.get("ISPORDATA") == null ? false : true; Boolean isPorData = parametros.get("ISPORDATA") == null ? false : true;
String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta, (Boolean)parametros.get("ISSENTIDOIDA"), (Boolean)parametros.get("ISSENTIDOVOLTA"), isPorData); if (lsNumServico != null && !lsNumServico.isEmpty()) {
corridaIds = retornaFiltro(lsNumServico, null);
}
if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
rutaIds = retornaFiltro(null, lsNumLinha);
}
String sql = getSql(corridaIds, rutaIds, empresa, tipoServico, grupoRuta, (Boolean)parametros.get("ISSENTIDOIDA"), (Boolean)parametros.get("ISSENTIDOVOLTA"), isPorData);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null; ResultSet rset = null;
@ -82,14 +89,6 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
if (grupoRuta != null) { if (grupoRuta != null) {
stmt.setInt("GRUPORUTA_ID", grupoRuta.getGrupoRutaId()); stmt.setInt("GRUPORUTA_ID", grupoRuta.getGrupoRutaId());
} }
if (lsNumServico != null && !lsNumServico.isEmpty()) {
String corridaIds = retornaFiltro(lsNumServico, null);
stmt.setString("CORRIDA_ID", corridaIds);
}
if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
String rutaIds = retornaFiltro(null, lsNumLinha);
stmt.setString("RUTA_ID", rutaIds);
}
if (tipoServico > 0) { if (tipoServico > 0) {
stmt.setInt("TIPOSERVICIO_ID", tipoServico); stmt.setInt("TIPOSERVICIO_ID", tipoServico);
} }
@ -247,21 +246,21 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
if (lsNumServico != null && !lsNumServico.isEmpty()) { if (lsNumServico != null && !lsNumServico.isEmpty()) {
for (Corrida corrida : lsNumServico) { for (Corrida corrida : lsNumServico) {
if (lsNumServico.indexOf(corrida) == 0) { if (lsNumServico.indexOf(corrida) == 0) {
filtro = "" + corrida.getId().getCorridaId(); filtro = "'" + corrida.getId().getCorridaId();
} else { } else {
filtro += ", " + corrida.getId().getCorridaId(); filtro += "','" + corrida.getId().getCorridaId();
} }
} }
return filtro; return filtro.concat("'");
} else if (lsNumLinha != null && !lsNumLinha.isEmpty()) { } else if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
for (Ruta ruta : lsNumLinha) { for (Ruta ruta : lsNumLinha) {
if (lsNumLinha.indexOf(ruta) == 0) { if (lsNumLinha.indexOf(ruta) == 0) {
filtro = "" + ruta.getRutaId(); filtro = "'" + ruta.getRutaId();
} else { } else {
filtro += ", " + ruta.getRutaId(); filtro += "','" + ruta.getRutaId();
} }
} }
return filtro; return filtro.concat("'");
} else { } else {
return filtro; return filtro;
} }
@ -439,7 +438,7 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
protected void processaParametros() throws Exception { protected void processaParametros() throws Exception {
} }
private String getSql(ArrayList<Ruta> lsNumLinha, ArrayList<Corrida> lsNumServico, Empresa empresa, Integer tipoServico, private String getSql(String corridaIds, String rutaIds, Empresa empresa, Integer tipoServico,
GrupoRuta grupoRuta, Boolean isSentidoIda, Boolean isSentidoVolta, Boolean isPorData) { GrupoRuta grupoRuta, Boolean isSentidoIda, Boolean isSentidoVolta, Boolean isPorData) {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
@ -541,7 +540,7 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" WHERE C.ACTIVO NOT IN (0,2) "); sql.append(" WHERE C.ACTIVO NOT IN (0,2) ");
sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YYYY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YYYY hh24:mi:ss') "); sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YYYY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YYYY hh24:mi:ss') ");
sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN (:CORRIDA_ID) "); sql.append(corridaIds.isEmpty() ? "" : " AND B.CORRIDA_ID IN ("+corridaIds+") ");
sql.append(" GROUP BY C.CORRIDA_ID, c.ruta_id, C.ROLOPERATIVO_ID, C.DESTINO_ID, C.ORIGEN_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); sql.append(" GROUP BY C.CORRIDA_ID, c.ruta_id, C.ROLOPERATIVO_ID, C.DESTINO_ID, C.ORIGEN_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') ");
sql.append(" ) TB4 ON ((TB4.CORRIDA_ID = C.CORRIDA_ID and tb4.c_ruta_id = c.ruta_id) "); sql.append(" ) TB4 ON ((TB4.CORRIDA_ID = C.CORRIDA_ID and tb4.c_ruta_id = c.ruta_id) ");
@ -579,7 +578,7 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" AND BO.CATEGORIA_ID <> :CRIANCA_ID"); sql.append(" AND BO.CATEGORIA_ID <> :CRIANCA_ID");
sql.append(" AND BO.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YYYY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YYYY hh24:mi:ss') "); sql.append(" AND BO.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YYYY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YYYY hh24:mi:ss') ");
sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN (:CORRIDA_ID) "); sql.append(corridaIds.isEmpty() ? "" : " AND BO.CORRIDA_ID IN ("+corridaIds+") ");
sql.append(" GROUP BY CO.FECCORRIDA, CO.CORRIDA_ID, CO.ROLOPERATIVO_ID, CO.RUTA_ID, CO.EMPRESACORRIDA_ID, BO.NUMKMVIAJE, BO.BOLETO_ID, T.CANTKMREAL, "); sql.append(" GROUP BY CO.FECCORRIDA, CO.CORRIDA_ID, CO.ROLOPERATIVO_ID, CO.RUTA_ID, CO.EMPRESACORRIDA_ID, BO.NUMKMVIAJE, BO.BOLETO_ID, T.CANTKMREAL, ");
sql.append(" NVL(BO.IMPORTESEGURO, 0), NVL(BO.IMPORTETAXAEMBARQUE, 0), NVL(BO.IMPORTEPEDAGIO, 0), NVL(BO.PRECIOPAGADO, 0) "); sql.append(" NVL(BO.IMPORTESEGURO, 0), NVL(BO.IMPORTETAXAEMBARQUE, 0), NVL(BO.IMPORTEPEDAGIO, 0), NVL(BO.PRECIOPAGADO, 0) ");
@ -610,9 +609,9 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" AND (TF.TARIFA_ID IS NULL OR (TF.TARIFA_ID IS NOT NULL AND C.FECCORRIDA BETWEEN VTF.FECINICIOVIGENCIA AND VTF.FECFINVIGENCIA )) "); sql.append(" AND (TF.TARIFA_ID IS NULL OR (TF.TARIFA_ID IS NOT NULL AND C.FECCORRIDA BETWEEN VTF.FECINICIOVIGENCIA AND VTF.FECFINVIGENCIA )) ");
sql.append(" "); sql.append(" ");
sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN (:CORRIDA_ID) "); sql.append(corridaIds.isEmpty() ? "" : " AND C.CORRIDA_ID IN ("+corridaIds+") ");
sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN (:GRUPORUTA_ID) "); sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN (:GRUPORUTA_ID) ");
sql.append(lsNumLinha.isEmpty() ? "" : " AND R.RUTA_ID IN (:RUTA_ID) "); sql.append(rutaIds.isEmpty() ? "" : " AND R.RUTA_ID IN ("+rutaIds+") ");
sql.append(tipoServico == 0 ? "" : " AND C.TIPOSERVICIO_ID = :TIPOSERVICIO_ID" ); sql.append(tipoServico == 0 ? "" : " AND C.TIPOSERVICIO_ID = :TIPOSERVICIO_ID" );
if(Boolean.TRUE.equals(isSentidoIda)) { if(Boolean.TRUE.equals(isSentidoIda)) {