From 6665daf32520ec16a39b45bff207f9fed43942f7 Mon Sep 17 00:00:00 2001 From: valdevir Date: Tue, 21 Jun 2022 14:18:53 +0000 Subject: [PATCH] fixes bug#24682 qua: dev:Valdevir git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@112836 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../GerarConexionPorRutaController.java | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java index 05d8adf23..48b4f3769 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java @@ -603,21 +603,14 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { @SuppressWarnings("unchecked") private void gerarLocalidadesComunsAB() { - Set lsParadas = new HashSet(localidadesOrigemlList.getListData()); + Set lsParadasOrigem = new HashSet(localidadesOrigemlList.getListData()); Set lsParadasDestino = new HashSet(localidadesDestinoList.getListData()); - ArrayList paradasDuplicadas = new ArrayList(lsParadas); + ArrayList paradasDuplicadas = new ArrayList(lsParadasOrigem); isConexaoPorAgrupamento = !Boolean.TRUE.equals(isConexaoPorAgrupamento) ? validaConfAgrupamentoLocalidadeEmpresaLinhas() : isConexaoPorAgrupamento; if(Boolean.TRUE.equals(isConexaoPorAgrupamento) && !lsParadasDestino.isEmpty()) { - Set lsParadasIterator = new HashSet(localidadesOrigemlList.getListData()); - Set lsParadasOrigemAux = new HashSet(); - for (Parada parada : lsParadasIterator ) { - if (parada!=null && parada.getAgrupamentoParada() !=null) { - lsParadasOrigemAux.addAll(conexionRutaCombinacionService.getParadasByAgrupamentoId(parada)); - } - - } - if(lsParadasOrigemAux!=null && !lsParadasOrigemAux.isEmpty()) { - for (Parada parada : lsParadasOrigemAux) { + Set lsParadasAgrupamento = getLsAgrupamentoParada(lsParadasOrigem, lsParadasDestino); + if(lsParadasAgrupamento!=null && !lsParadasAgrupamento.isEmpty()) { + for (Parada parada : lsParadasAgrupamento) { if(!paradasDuplicadas.contains(parada)) { paradasDuplicadas.add(parada); } @@ -631,7 +624,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } paradasDuplicadas.retainAll(lsParadasDestino); - validaLocalidadesExcluidas(lsParadas, paradasDuplicadas); + validaLocalidadesExcluidas(lsParadasOrigem, paradasDuplicadas); //Lista auxiliar usada para ser setada na Listview de localidades comuns A e B List lsLocalidadesComunsABAux = new ArrayList(); List lsLocalidadesAgrupamento = new ArrayList(); @@ -648,6 +641,31 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { renderizarLinhasAB(); } + private Set getLsAgrupamentoParada(Set lsParadasOrigem, Set lsParadasDestino) { + Set lsParadasAgrupamento = new HashSet(); + for (Parada parada : lsParadasOrigem ) { + if (parada!=null && parada.getAgrupamentoParada() !=null) { + Set lsParadasAgrupamentoAux = new HashSet(); + lsParadasAgrupamentoAux.addAll(conexionRutaCombinacionService.getParadasByAgrupamentoId(parada)); + Boolean isAgrupamentoOrigem = Boolean.FALSE; + Boolean isAgrupamentoDestino = Boolean.FALSE; + for (Parada paradaAgrupamento : lsParadasAgrupamentoAux) { + if(lsParadasOrigem.contains(paradaAgrupamento)) { + isAgrupamentoOrigem = Boolean.TRUE; + } + if(lsParadasDestino.contains(paradaAgrupamento)) { + isAgrupamentoDestino = Boolean.TRUE; + } + } + if(isAgrupamentoOrigem && isAgrupamentoDestino ) { + lsParadasAgrupamento = lsParadasAgrupamentoAux; + } + } + + } + return lsParadasAgrupamento; + } + /** * Valida Localidades excluídas, caso encontre insere na tela botão adicionar, caso não encontre inserena tela o botão remover. * @param lsParadas