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 0a09a7f78..496c0d97f 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 @@ -100,7 +100,10 @@ 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; @@ -123,6 +126,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; @@ -440,24 +444,24 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { public void onEvent(Event arg0) throws Exception { Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); - for (Object objectParada : localidadesComunsABList.getListData()) { - if (((Parada) objectParada).equals(conexionRutaVO)) { - if(!Boolean.TRUE.equals(((Parada) objectParada).getIsParadaConexaoRutaExcluida())) { + List localidadesComunsABListIter =new ArrayList(lsLocalidadesComunsABTodas); + 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(conexionRutaVO); + lsLocalidadesComunsAB.remove(paradaIter); + conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.TRUE); localidadesComunsABList.addItemNovo(conexionRutaVO); removerLocalidadesComumABList.add(conexionRutaVO); }else { localidadesComunsABList.removeItem(conexionRutaVO); - lsLocalidadesComunsAB.remove(conexionRutaVO); conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.FALSE); localidadesComunsABList.addItemNovo(conexionRutaVO); - lsLocalidadesComunsAB.add(conexionRutaVO); - //localidadesGeradas.add(conexionRutaVO); + lsLocalidadesComunsAB.add(paradaIter); adicionarLocalidadesComumABList.add(conexionRutaVO); } - break; } } } @@ -498,7 +502,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { localidadesLinhaASelecionadaList.addItemNovo(parada); } else { for (Object objectParada : localidadesLinhaASelecionadaList.getListData()) { - if (localidadesLinhaASelecionadaList.getListData().contains(parada) || (getLsLocalidadesComuns() != null && getLsLocalidadesComuns().contains(parada))) { + if (localidadesLinhaASelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsAB != null && lsLocalidadesComunsAB.contains(parada))) { return; } if (!((Parada) objectParada).equals(parada)) { @@ -534,7 +538,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { localidadesLinhaBSelecionadaList.addItemNovo(parada); } else { for (Object objectParada : localidadesLinhaBSelecionadaList.getListData()) { - if (localidadesLinhaBSelecionadaList.getListData().contains(parada) || (getLsLocalidadesComuns() != null && getLsLocalidadesComuns().contains(parada))) { + if (localidadesLinhaBSelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsAB != null && lsLocalidadesComunsAB.contains(parada))) { return; } if (!((Parada) objectParada).equals(parada)) { @@ -655,7 +659,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { }else { lsLocalidadesComunsABAux.add(parada); } - lsLocalidadesComunsAB.add(parada); + lsLocalidadesComunsABTodas.add(parada); + if(!Boolean.TRUE.equals(parada.getIsParadaConexaoRutaExcluida())) { + lsLocalidadesComunsAB.add(parada); + } } } } @@ -1052,13 +1059,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { Messagebox.show(msg, Labels.getLabel("editarConexionController.window.title"), Messagebox.OK, Messagebox.INFORMATION); } - public List getLsLocalidadesComuns() { - return lsLocalidadesComunsAB; - } - - public void setLsLocalidadesComuns(List lsLocalidadesComuns) { - this.lsLocalidadesComunsAB = lsLocalidadesComuns; - } public List getLsLocalidadesComunsLinhasBC() { return lsLocalidadesComunsLinhasBC; @@ -1092,9 +1092,9 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } else { this.isConexionGerada = true; if(rutasEixoC.isEmpty()) { - conexionRutaCombinacionService.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO ); + conexionRutaCombinacionService.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, lsLocalidadesComunsAB, listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO ); } else { - conexionRutaCombinacionService.gerarCombinacionEntre3Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4,listParadasC, rutasEixoA, rutasEixoB,rutasEixoC,localidadesGeradas, conexoesCtrlVO ); + conexionRutaCombinacionService.gerarCombinacionEntre3Eixos(listParada1,rutasEixoA, rutasEixoB, lsLocalidadesComunsAB, listParada4,listParadasC, rutasEixoA, rutasEixoB,rutasEixoC,localidadesGeradas, conexoesCtrlVO ); } for (ConexionCtrlVO conexionCtrlVO : conexoesCtrlVO) {