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 435734fa7..a6d9bc6c3 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 @@ -27,6 +27,7 @@ import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionTipoPtoVta; +import com.rjconsultores.ventaboletos.entidad.ConexionRutaLocalidadeRemovida; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.Ruta; @@ -37,8 +38,8 @@ import com.rjconsultores.ventaboletos.service.ConexionRutaCombinacionService; import com.rjconsultores.ventaboletos.service.ConexionRutaConfService; import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionPtoVtaService; import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionTipoPtoVtaService; +import com.rjconsultores.ventaboletos.service.ConexionRutaLocalidadeRemovidaService; import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService; -import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.RutaEmpresaService; import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; @@ -74,8 +75,9 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private ConexionRutaExcepcionTipoPtoVtaService conexionRutaExcepcionTipoPtoVtaService; @Autowired ConexionRutaCombinacionService conexionRutaCombinacionService; + @Autowired - EmpresaService empresaService; + ConexionRutaLocalidadeRemovidaService conexionRutaLocalidadeRemovidaService; @Autowired RutaEmpresaService rutaEmpresaService; private MyListbox localidadesOrigemlList; @@ -414,13 +416,28 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { @Override public void onEvent(Event arg0) throws Exception { - + Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); for (Object objectParada : localidadesComunsABList.getListData()) { if (((Parada) objectParada).equals(conexionRutaVO)) { - localidadesComunsABList.removeItem(conexionRutaVO); - lsLocalidadesComunsAB.remove(conexionRutaVO); - localidadesGeradas.remove(conexionRutaVO); + if(!Boolean.TRUE.equals(((Parada) objectParada).getIsParadaConexaoRutaExcluida())) { + localidadesComunsABList.removeItem(conexionRutaVO); + lsLocalidadesComunsAB.remove(conexionRutaVO); + //localidadesGeradas.remove(conexionRutaVO); + conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.TRUE); + localidadesComunsABList.addItemNovo(conexionRutaVO); + lsLocalidadesComunsAB.add(conexionRutaVO); + conexionRutaLocalidadeRemovidaService.suscribir(conexionRutaConf.getConexionRutaConfId(), conexionRutaVO.getParadaId()); + }else { + localidadesComunsABList.removeItem(conexionRutaVO); + lsLocalidadesComunsAB.remove(conexionRutaVO); + conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.FALSE); + localidadesComunsABList.addItemNovo(conexionRutaVO); + lsLocalidadesComunsAB.add(conexionRutaVO); + //localidadesGeradas.add(conexionRutaVO); + conexionRutaLocalidadeRemovidaService.removerPorParada((Parada) objectParada); + + } break; } } @@ -566,6 +583,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { lsParadas = new HashSet(localidadesOrigemlList.getListData()); ArrayList paradasDuplicadas = new ArrayList(lsParadas); paradasDuplicadas.retainAll(localidadesDestinoList.getListData()); + validaLocalidadesExcluidas(lsParadas, paradasDuplicadas); //Lista auxiliar usada para ser setada na Listview de localidades comuns A e B List lsLocalidadesComunsABAux = new ArrayList(); List lsLocalidadesAgrupamento = new ArrayList(); @@ -582,6 +600,29 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { renderizarLinhasAB(); } + /** + * Validade Localidades excluídas, caso encontre insere na tela botão adicionar, caso não entre addiciona o botão remover. + * @param lsParadas + * @param paradasDuplicadas + */ + private void validaLocalidadesExcluidas(Set lsParadas, ArrayList paradasDuplicadas) { + if(paradasDuplicadas!=null && !paradasDuplicadas.isEmpty()) { + List ConexionRutaLocalidadeRemovidaList = conexionRutaLocalidadeRemovidaService.obtenerPorParadaList(paradasDuplicadas); + if(ConexionRutaLocalidadeRemovidaList !=null) { + ArrayList paradasDuplicadasAux = new ArrayList(lsParadas); + for (ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida : ConexionRutaLocalidadeRemovidaList) { + for (Parada parada : paradasDuplicadasAux) { + if(conexionRutaLocalidadeRemovida.getParadaId()!=null && conexionRutaLocalidadeRemovida.getParadaId().intValue() ==parada.getParadaId().intValue()) { + paradasDuplicadas.remove(parada); + parada.setIsParadaConexaoRutaExcluida(Boolean.TRUE); + paradasDuplicadas.add(parada); + } + } + } + } + } + } + private void adicionaParadasDuplicadas(ArrayList paradasDuplicadas, List lsLocalidadesComunsABAux, List lsLocalidadesAgrupamento) { for (Parada parada : paradasDuplicadas) { if(!lsLocalidadesComunsAB.contains(parada)){ diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java index ef11d1777..b865012c4 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java @@ -30,11 +30,20 @@ public class RenderEixoConexionRutaRemoveSelecionada implements ListitemRenderer lc = new Listcell(); - Button btnRemoverPermissao = new Button(); - btnRemoverPermissao.setAttribute("data", o); - btnRemoverPermissao.addEventListener("onClick", listenerGenerico); - btnRemoverPermissao.setImage("/gui/img/remove.png"); - lc.appendChild(btnRemoverPermissao); + if(!Boolean.TRUE.equals(parada.getIsParadaConexaoRutaExcluida())) { + Button btnRemoverPermissao = new Button(); + btnRemoverPermissao.setAttribute("data", o); + btnRemoverPermissao.addEventListener("onClick", listenerGenerico); + btnRemoverPermissao.setImage("/gui/img/remove.png"); + lc.appendChild(btnRemoverPermissao); + + }else { + Button btnAddPermissao = new Button(); + btnAddPermissao.setAttribute("data", o); + btnAddPermissao.addEventListener("onClick", listenerGenerico); + btnAddPermissao.setImage("/gui/img/add.png"); + lc.appendChild(btnAddPermissao); + } lc.setParent(lstm); diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 1d3ea78ff..92481e77d 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -513,6 +513,7 @@ com.rjconsultores.ventaboletos.entidad.ComissaoLog com.rjconsultores.ventaboletos.entidad.ConfContratoPuntoVenta com.rjconsultores.ventaboletos.entidad.ReservaEspecialCliente + com.rjconsultores.ventaboletos.entidad.ConexionRutaLocalidadeRemovida