diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java index 9856d1cc9..fdcf48420 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java @@ -12,18 +12,20 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.util.Clients; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada; import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.RutaEmbarqueDesembarque; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.AgruparParadaService; import com.rjconsultores.ventaboletos.service.ParadaService; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderParada; -import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaEmbarqueDesembarque; @Controller("editarCatalogoDeAgruparParadaController") @Scope("prototype") @@ -44,7 +46,10 @@ public class EditarCatalogoDeAgruparParadaController extends MyGenericForwardCom private Textbox descAgrupamentoParada; private Textbox cveAgrupamentoParada; private MyListbox localidadesListbox; - private List lsLocalidades ; + private List lsLocalidades; + private List lsLocalidadesAdicionar; + private List lsLocalidadesApagar; + private Combobox cmbLocalidade; public AgruparParadaService getAgruparParadaService() { return agruparParadaService; @@ -92,8 +97,12 @@ public class EditarCatalogoDeAgruparParadaController extends MyGenericForwardCom agrupamentoParada = (AgrupamentoParada) Executions.getCurrent().getArg().get("agrupamentoParada"); agrupamentoParadaList = (MyListbox) Executions.getCurrent().getArg().get("agrupamentoParadaList"); lsLocalidades = new ArrayList(); - lsLocalidades = paradaService.obtenerTodos(); localidadesListbox.setItemRenderer(new RenderParada()); + lsLocalidades = paradaService.buscarPorAgrupamentoParadaId(agrupamentoParada); + localidadesListbox.setData(lsLocalidades); + lsLocalidadesApagar = new ArrayList(); + lsLocalidadesAdicionar = new ArrayList(); + } @@ -103,6 +112,12 @@ public class EditarCatalogoDeAgruparParadaController extends MyGenericForwardCom cveAgrupamentoParada.getValue(); agruparParadaService.suscribirActualizar(agrupamentoParada); agrupamentoParadaList.updateItem(agrupamentoParada); + for (Parada parada : lsLocalidadesAdicionar) { + paradaService.suscribirActualizar(parada); + } + for (Parada parada : lsLocalidadesApagar) { + paradaService.suscribirActualizar(parada); + } Messagebox.show( Labels.getLabel("editarCatalogoDeAgruparParadaController.MSG.suscribirOK"), Labels.getLabel("editarCatalogoDeAgruparParadaController.window.title"), @@ -145,5 +160,47 @@ public class EditarCatalogoDeAgruparParadaController extends MyGenericForwardCom Messagebox.INFORMATION); } } + + public void onClick$btnAdicionarLocalidade(Event ev) { + + Comboitem selectedItem = cmbLocalidade.getSelectedItem(); + if (selectedItem == null) { + return; + } + + Parada parada = (Parada) selectedItem.getValue(); + + if(parada !=null) { + for (Parada paradaAux : lsLocalidades ) { + if (paradaAux.equals(parada)) { + return; + } + } + + parada.setAgrupamentoParada(agrupamentoParada); + lsLocalidades.add(parada); + lsLocalidadesAdicionar.add(parada); + localidadesListbox.setData(lsLocalidades); + } + } + + public void onClick$btnRemoverLocalidade(Event ev) throws InterruptedException { + + + Parada parada = (Parada) localidadesListbox.getSelected(); + + if (parada != null) { + lsLocalidades.remove(parada); + parada.setAgrupamentoParada(null); + if(lsLocalidadesAdicionar.contains(parada)) { + lsLocalidadesAdicionar.remove(parada); + }else { + lsLocalidadesApagar.add(parada); + } + localidadesListbox.setData(lsLocalidades); + } + + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java index 9e822cc5d..2dddc8858 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java @@ -14,7 +14,6 @@ public class RenderParada implements ListitemRenderer { Listcell lc = new Listcell(parada.getCveparada() + " - " + parada.getDescparada()); lc.setParent(lstm); - lstm.setAttribute("data", parada); } diff --git a/web/gui/esquema_operacional/editarAgruparParada.zul b/web/gui/esquema_operacional/editarAgruparParada.zul index c88dd7b22..f925845f8 100644 --- a/web/gui/esquema_operacional/editarAgruparParada.zul +++ b/web/gui/esquema_operacional/editarAgruparParada.zul @@ -54,7 +54,7 @@ use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada" /> - +