diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarOperadorEmbarcadaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarOperadorEmbarcadaController.java index 42d265243..c038c051c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarOperadorEmbarcadaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarOperadorEmbarcadaController.java @@ -33,6 +33,7 @@ import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaLinha; import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; import com.rjconsultores.ventaboletos.entidad.Usuario; @@ -40,6 +41,7 @@ import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.MarcaService; import com.rjconsultores.ventaboletos.service.OperadorEmbarcadaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; @@ -48,6 +50,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.ItemRenderRutaOperado import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCorrida; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutasOperadorEmbarcada; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderSelecionarUsuario; +import com.trg.search.Filter; @Controller("editarOperadorEmbarcadaController") @Scope("prototype") @@ -78,6 +81,7 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer private Intbox txtNumeroServico; private Combobox cmbMarcaServicio; private Combobox cmbClaseServicioServico; + private MyComboboxPuntoVenta cmbPuntoVenta; private List itensRutaList = new ArrayList(); private List servicosSelecionados = new ArrayList(); @@ -118,6 +122,7 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer private transient PagedListWrapper plwEsquemaCorrida; private Button btnPesquisaUsuario; + private Button btnApagar; @Override public void doAfterCompose(Component comp) throws Exception { @@ -137,6 +142,10 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer super.doAfterCompose(comp); operadorEdicao = (OperadorEmbarcada) Executions.getCurrent().getArg().get("Operador"); + + if (operadorEdicao.getUsuario() == null) { + btnApagar.setVisible(false); + } usuarioList.setItemRenderer( new RenderSelecionarUsuario()); usuarioList.setMultiple(true); @@ -175,7 +184,7 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer atualizarListaUsuariosSelecionados(false); } - private void refreshLista() { + private void refreshLista() { usuariosSelecionados = usuarioList.getItensSelecionados(Usuario.class); HibernateSearchObject sistemaBusqueda = new HibernateSearchObject(Usuario.class, pagingUsuario.getPageSize()); @@ -189,6 +198,14 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer if (!cveUsuario.equals("")) { sistemaBusqueda.addFilterLike("claveUsuario", "%" + cveUsuario.trim().concat("%")); } + + Comboitem puntoVentaSeleccionada = cmbPuntoVenta.getSelectedItem(); + + if (puntoVentaSeleccionada != null) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaSeleccionada.getValue(); + sistemaBusqueda.addFilterSome("usuarioUbicacionList", Filter.and(Filter.equal("puntoVenta", puntoVenta), + Filter.equal("activo", Boolean.TRUE))); + } sistemaBusqueda.addSortAsc("claveUsuario"); sistemaBusqueda.addFilterEqual("activo", Boolean.TRUE); @@ -261,10 +278,19 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer } private void separarRutasRenderer(List rutasList, boolean selecionadas) { + +// if (!linhaList.getItensSelecionados(ItemRenderRutaOperadorEmbarcada.class).isEmpty()) { +// return; +// } +// +// itensRutaList.clear(); for(Ruta r : rutasList) { List listRutaEmpresa = rutaEmpresaDAO.obtenerPorRuta(r); + +// itensRutaList.add(new ItemRenderRutaOperadorEmbarcada(r.getNumRuta(), r.getDescruta(), r.getClaseServicio().getDescclase(), r.getPrefixo(), listRutaEmpresa, r)); + if(itensRutaList.isEmpty()) { - itensRutaList.add(new ItemRenderRutaOperadorEmbarcada(r.getDescruta(), r.getClaseServicio().getDescclase(), r.getPrefixo(), listRutaEmpresa, r)); + itensRutaList.add(new ItemRenderRutaOperadorEmbarcada(r.getNumRuta(), r.getDescruta(), r.getClaseServicio().getDescclase(), r.getPrefixo(), listRutaEmpresa, r)); } else { boolean adicionou = false; for(int i = 0 ; i < itensRutaList.size(); i++) { @@ -284,11 +310,12 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer } if(!adicionou) { - itensRutaList.add(new ItemRenderRutaOperadorEmbarcada(r.getDescruta(), r.getClaseServicio().getDescclase(), r.getPrefixo(), listRutaEmpresa, r)); + itensRutaList.add(new ItemRenderRutaOperadorEmbarcada(r.getNumRuta(), r.getDescruta(), r.getClaseServicio().getDescclase(), r.getPrefixo(), listRutaEmpresa, r)); } } } - + +// itemRutaSelecionados = linhaList.getItensSelecionados(ItemRenderRutaOperadorEmbarcada.class); if(selecionadas) { itemRutaSelecionados = itensRutaList; } @@ -373,7 +400,7 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer } public void onSelect$linhaList(SelectEvent event) { - if (event.getReference().getClass() == Listitem.class) { + if (event != null && event.getReference() != null && event.getReference().getClass() == Listitem.class) { event.stopPropagation(); Listitem item = (Listitem)event.getReference(); ItemRenderRutaOperadorEmbarcada itemRuta = (ItemRenderRutaOperadorEmbarcada)linhaList.getListData().get(item.getIndex()); @@ -434,7 +461,7 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer } for(Usuario us : usuariosSelecionados) { - OperadorEmbarcada operador = new OperadorEmbarcada(); + OperadorEmbarcada operador = operadorService.buscarOperadorEmbarcadaPorUsuario(us.getUsuarioId()); if(operadorEdicao != null && operadorEdicao.getUsuario() != null && us.getUsuarioId() == operadorEdicao.getUsuario().getUsuarioId()) { operador = operadorEdicao; @@ -444,6 +471,11 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer operador.setFecmodif(new Date()); operador.setUsuario(us); + List selected = linhaList.getItensSelecionados(ItemRenderRutaOperadorEmbarcada.class); + if (selected != null && !selected.isEmpty()) { + itemRutaSelecionados = selected; + } + //Separa todas as rutas selecionadas List rutasSelecionadas = new ArrayList(); for(ItemRenderRutaOperadorEmbarcada r :itemRutaSelecionados) { @@ -520,6 +552,7 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer } public void onClick$btnPesquisaLinha(Event ev) { + itensRutaList.clear(); refreshListaLinha(); } @@ -731,4 +764,13 @@ public class EditarOperadorEmbarcadaController extends MyGenericForwardComposer public void setEsquemaCorridaList(MyListbox esquemaCorridaList) { this.esquemaCorridaList = esquemaCorridaList; } + + public MyComboboxPuntoVenta getCmbPuntoVenta() { + return cmbPuntoVenta; + } + + public void setCmbPuntoVenta(MyComboboxPuntoVenta cmbPuntoVenta) { + this.cmbPuntoVenta = cmbPuntoVenta; + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/ItemRenderRutaOperadorEmbarcada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/ItemRenderRutaOperadorEmbarcada.java index fa6ee7ec4..0af1ae594 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/ItemRenderRutaOperadorEmbarcada.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/ItemRenderRutaOperadorEmbarcada.java @@ -15,12 +15,14 @@ public class ItemRenderRutaOperadorEmbarcada implements Serializable { private String classe; private String prefixo; private String empresa; + private String numRuta; - public ItemRenderRutaOperadorEmbarcada(String descricao, String classe, String prefixo, List empresas, Ruta ruta) { + public ItemRenderRutaOperadorEmbarcada(String numRuta, String descricao, String classe, String prefixo, List empresas, Ruta ruta) { super(); this.descricao = descricao; this.classe = classe; this.prefixo = prefixo; + this.numRuta = numRuta; this.empresa = ""; int i = 0; @@ -78,4 +80,12 @@ public class ItemRenderRutaOperadorEmbarcada implements Serializable { public void setListaRutas(List listaRutas) { this.listaRutas = listaRutas; } + + public String getNumRuta() { + return numRuta; + } + + public void setNumRuta(String numRuta) { + this.numRuta = numRuta; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutasOperadorEmbarcada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutasOperadorEmbarcada.java index 512e29030..32f4da469 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutasOperadorEmbarcada.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutasOperadorEmbarcada.java @@ -13,10 +13,10 @@ public class RenderRutasOperadorEmbarcada implements ListitemRenderer { Listcell lc = new Listcell(ruta.getDescricao()); lc.setParent(lstm); - lc = new Listcell(ruta.getClasse()); + lc = new Listcell(ruta.getNumRuta()); lc.setParent(lstm); - - lc = new Listcell(ruta.getPrefixo()); + + lc = new Listcell(ruta.getClasse()); lc.setParent(lstm); lc = new Listcell(ruta.getEmpresa()); diff --git a/web/gui/esquema_operacional/busquedaOperadorEmbarcada.zul b/web/gui/esquema_operacional/busquedaOperadorEmbarcada.zul index e6e3fe6c1..b1ccdbe1c 100644 --- a/web/gui/esquema_operacional/busquedaOperadorEmbarcada.zul +++ b/web/gui/esquema_operacional/busquedaOperadorEmbarcada.zul @@ -60,16 +60,16 @@ + sort="auto(operadorEmbarcadaId)"/> + sort="auto(usuario.claveUsuario)"/> + sort="auto(usuario.empleado.cveEmpleado)"/> + /> diff --git a/web/gui/esquema_operacional/editarOperadorEmbarcada.zul b/web/gui/esquema_operacional/editarOperadorEmbarcada.zul index 8a6c8717c..5cc62f5df 100644 --- a/web/gui/esquema_operacional/editarOperadorEmbarcada.zul +++ b/web/gui/esquema_operacional/editarOperadorEmbarcada.zul @@ -38,11 +38,12 @@ - + + + - - + @@ -53,6 +54,13 @@