From d561b5aaabf9473342a71eda0898dc167a38b18a Mon Sep 17 00:00:00 2001 From: Aristides Date: Thu, 30 Nov 2023 18:52:50 -0300 Subject: [PATCH] fixes bug#AL_3541 --- pom.xml | 4 +- .../GerarConexionPorRutaController.java | 109 ++++++++++++------ 2 files changed, 73 insertions(+), 40 deletions(-) diff --git a/pom.xml b/pom.xml index fb100fc45..c734ec348 100644 --- a/pom.xml +++ b/pom.xml @@ -4,11 +4,11 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.35.17 + 1.35.18 war - 1.26.3 + 1.26.4 1.22.1 UTF-8 UTF-8 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 738ee5e46..9290a3102 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 @@ -8,8 +8,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.apache.log4j.Logger; - +import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; @@ -122,10 +121,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private MyListbox localidadesComunsBCList; private MyListbox listEspCanal; private MyListbox listPuntoVenta; - //Localidade a serem combinadas (pode excluir localidades a serem combinadas) - private List lsLocalidadesComunsAB; - //Todas as localidades Localidade comuns entre A e B - private List lsLocalidadesComunsABTodas; + private List lsLocalidadesComunsLinhasBC; private Combobox cmbTipoPtovta; private Combobox cmbPtovta; @@ -139,8 +135,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private ConexionRutaConf conexionRutaConf; private MyListbox conexionRutaConfList; private Boolean isConexaoPorAgrupamento; - private List removerLocalidadesComumABList; - private List adicionarLocalidadesComumABList; private Doublebox txtDesconto; private Combobox cmbOrigemConexao; @@ -158,9 +152,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); - lsLocalidadesComunsABTodas = new ArrayList(); - removerLocalidadesComumABList = new ArrayList(); - adicionarLocalidadesComumABList = new ArrayList(); + this.isConexionGerada = false; txtTiempoMax.setConstraint("no empty"); txtTiempoMin.setConstraint("no empty"); @@ -424,9 +416,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { conexionRutaConf = conexionRutaConfService.salvarConfiguracao(conexionRutaConf, canalVentas, puntoVentas, conexoesCtrl, lsConexionRutaCtrl, localidadesGeradas, isConexionGerada); - adicionaLocalidadesExcluidas(); removeLocalidadesExcluidas(); + adicionaLocalidadesExcluidas(); + //Atualizar o indPricing alterado pela tabela atualizarIndPricing(); @@ -591,14 +584,11 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } private void removeLocalidadesExcluidas() { - if(adicionarLocalidadesComumABList !=null && !adicionarLocalidadesComumABList.isEmpty() ) { - for (Parada parada : adicionarLocalidadesComumABList) { - conexionRutaLocalidadeRemovidaService.removerPorParada(parada); - } - } + conexionRutaLocalidadeRemovidaService.removerTodosPorConexionrutaconfId(conexionRutaConf.getConexionRutaConfId()); } private void adicionaLocalidadesExcluidas() { + List removerLocalidadesComumABList = obterlsLocalidadesComunsABDesabilitadasNoMomento(); if(!removerLocalidadesComumABList.isEmpty()) { for (Parada parada : removerLocalidadesComumABList) { conexionRutaLocalidadeRemovidaService.suscribir(conexionRutaConf.getConexionRutaConfId(), parada.getParadaId()); @@ -637,23 +627,18 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { public void onEvent(Event arg0) throws Exception { Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); - List localidadesComunsABListIter =new ArrayList(lsLocalidadesComunsABTodas); + List localidadesComunsABListIter = new ArrayList(obterlsLocalidadesComunsAB()); for (Parada paradaIter : localidadesComunsABListIter) { //Caso parada seja a mesma ou seja uma parada do mesmo agrupamento remove. if (paradaIter.equals(conexionRutaVO) || (paradaIter.getAgrupamentoParada()!=null && paradaIter.getAgrupamentoParada().equals(conexionRutaVO.getAgrupamentoParada()))) { if(!Boolean.TRUE.equals(paradaIter.getIsParadaConexaoRutaExcluida())) { localidadesComunsABList.removeItem(conexionRutaVO); - lsLocalidadesComunsAB.remove(paradaIter); - conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.TRUE); localidadesComunsABList.addItemNovo(conexionRutaVO); - removerLocalidadesComumABList.add(conexionRutaVO); }else { localidadesComunsABList.removeItem(conexionRutaVO); conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.FALSE); localidadesComunsABList.addItemNovo(conexionRutaVO); - lsLocalidadesComunsAB.add(paradaIter); - adicionarLocalidadesComumABList.add(conexionRutaVO); } } } @@ -695,7 +680,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { localidadesLinhaASelecionadaList.addItemNovo(parada); } else { for (Object objectParada : localidadesLinhaASelecionadaList.getListData()) { - if (localidadesLinhaASelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsAB != null && lsLocalidadesComunsAB.contains(parada))) { + List lsLocalidadesComunsABHabilitadaNoMomento = obterlsLocalidadesComunsABHabilitadasNoMomento(); + if (localidadesLinhaASelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsABHabilitadaNoMomento != null && lsLocalidadesComunsABHabilitadaNoMomento.contains(parada))) { return; } if (!((Parada) objectParada).equals(parada)) { @@ -731,7 +717,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { localidadesLinhaBSelecionadaList.addItemNovo(parada); } else { for (Object objectParada : localidadesLinhaBSelecionadaList.getListData()) { - if (localidadesLinhaBSelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsAB != null && lsLocalidadesComunsAB.contains(parada))) { + List lsLocalidadesComunsABHabilitadaNoMomento = obterlsLocalidadesComunsABHabilitadasNoMomento(); + + + if (localidadesLinhaBSelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsABHabilitadaNoMomento != null && lsLocalidadesComunsABHabilitadaNoMomento.contains(parada))) { return; } if (!((Parada) objectParada).equals(parada)) { @@ -823,13 +812,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { localidadesLinhaASelecionadaList.getListData().removeAll(paradasDuplicadas); localidadesLinhaBSelecionadaList.getListData().removeAll(paradasDuplicadas); + adicionaParadasDuplicadas(paradasDuplicadas, lsLocalidadesComunsABAux, lsLocalidadesAgrupamento); + localidadesComunsABList.setData(lsLocalidadesComunsABAux); + - if(lsLocalidadesComunsAB!=null) { - adicionaParadasDuplicadas(paradasDuplicadas, lsLocalidadesComunsABAux, lsLocalidadesAgrupamento); - }else { - lsLocalidadesComunsAB = new ArrayList(paradasDuplicadas); - } - localidadesComunsABList.setData(lsLocalidadesComunsABAux); renderizarLinhasAB(); } @@ -864,8 +850,9 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { * @param paradasDuplicadas */ private void validaLocalidadesExcluidas(Set lsParadas, ArrayList paradasDuplicadas) { - if(paradasDuplicadas!=null && !paradasDuplicadas.isEmpty()) { - List ConexionRutaLocalidadeRemovidaList = conexionRutaLocalidadeRemovidaService.obtenerPorParadaList(paradasDuplicadas); + + if(paradasDuplicadas!=null && !paradasDuplicadas.isEmpty() && conexionRutaConf != null ) { + List ConexionRutaLocalidadeRemovidaList = conexionRutaLocalidadeRemovidaService.obtenerPorConexionrutaconfIdEParadaIdList(conexionRutaConf.getConexionRutaConfId(),paradasDuplicadas); if(ConexionRutaLocalidadeRemovidaList !=null) { ArrayList paradasDuplicadasAux = new ArrayList(lsParadas); for (ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida : ConexionRutaLocalidadeRemovidaList) { @@ -883,6 +870,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private void adicionaParadasDuplicadas(ArrayList paradasDuplicadas, List lsLocalidadesComunsABAux, List lsLocalidadesAgrupamento) { for (Parada parada : paradasDuplicadas) { + List lsLocalidadesComunsAB = obterlsLocalidadesComunsABHabilitadasNoMomento(); if(!lsLocalidadesComunsAB.contains(parada)){ if(parada.getAgrupamentoParada()!=null && Boolean.TRUE.equals(isConexaoPorAgrupamento)) { try { @@ -894,10 +882,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { }else { lsLocalidadesComunsABAux.add(parada); } - lsLocalidadesComunsABTodas.add(parada); - if(!Boolean.TRUE.equals(parada.getIsParadaConexaoRutaExcluida())) { - lsLocalidadesComunsAB.add(parada); - } } } } @@ -952,6 +936,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } public void onClick$btnCombinarTrechos(Event ev) throws InterruptedException { + List lsLocalidadesComunsAB = obterlsLocalidadesComunsABHabilitadasNoMomento(); if (lsLocalidadesComunsAB == null || lsLocalidadesComunsAB.isEmpty()) { Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.selecionarConexion"), Labels.getLabel("editarConexionPorRutaController.window.title"), @@ -1328,7 +1313,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { conexoesCtrl = new ArrayList(conexionRutaConfVO.getListConexionCtrl()); } else { this.isConexionGerada = true; - if(rutasEixoC.isEmpty()) { + List lsLocalidadesComunsAB = obterlsLocalidadesComunsABHabilitadasNoMomento(); + if(rutasEixoC.isEmpty()) { conexionRutaCombinacionService.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, lsLocalidadesComunsAB, listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO, isConexaoPorAgrupamento); } else { conexionRutaCombinacionService.gerarCombinacionEntre3Eixos(listParada1,rutasEixoA, rutasEixoB, lsLocalidadesComunsAB, listParada4,listParadasC, rutasEixoA, rutasEixoB,rutasEixoC,localidadesGeradas, conexoesCtrlVO ); @@ -1474,6 +1460,53 @@ public void onClick$btnFiltrar(Event ev) throws Exception { localidadesCombinadasList.clear(); localidadesCombinadasList.setData(localidadesGeradasFiltro); } + +private ListobterlsLocalidadesComunsAB() { + + List lsLocalidadehabilitadas = new ArrayList<>(); + + if(localidadesComunsABList!=null) { + return localidadesComunsABList.getListData(); + } + + return lsLocalidadehabilitadas; + } + + +private ListobterlsLocalidadesComunsABHabilitadasNoMomento() { + List lsLocalidadehabilitadas = new ArrayList<>(); + List lsParadaAux =null; + if(localidadesComunsABList!=null) { + lsParadaAux = localidadesComunsABList.getListData(); + } + if(lsParadaAux!=null && !lsParadaAux.isEmpty()) { + lsLocalidadehabilitadas = new ArrayList<>(); + for(Parada parada : lsParadaAux) { + if(!parada.getIsParadaConexaoRutaExcluida()) { + lsLocalidadehabilitadas.add(parada); + } + } + } + return lsLocalidadehabilitadas; +} + + +private ListobterlsLocalidadesComunsABDesabilitadasNoMomento() { + List lsDesabilitadas = null; + List lsParadaAux =null; + if(localidadesComunsABList!=null) { + lsParadaAux = localidadesComunsABList.getListData(); + } + if(lsParadaAux!=null && !lsParadaAux.isEmpty()) { + lsDesabilitadas = new ArrayList<>(); + for(Parada parada : lsParadaAux) { + if(parada.getIsParadaConexaoRutaExcluida()) { + lsDesabilitadas.add(parada); + } + } + } + return lsDesabilitadas; +} public void onClick$btnLimpraFiltros(Event ev) throws Exception { cmbOrigemConexao.setSelectedItem(null);