diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaEscolaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaEscolaController.java new file mode 100644 index 000000000..2d23b7815 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaEscolaController.java @@ -0,0 +1,114 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Messagebox; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Ciudad; +import com.rjconsultores.ventaboletos.entidad.Escola; +import com.rjconsultores.ventaboletos.service.CiudadService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEscola; + +@Controller("busquedaEscolaController") +@Scope("prototype") +public class BusquedaEscolaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private CiudadService ciudadService; + @Autowired + private transient PagedListWrapper plwEscola; + private MyListbox escolaList; + private Paging pagingEscola; + private Textbox txtNombre; + private Combobox cmbCiudad; + + + @Override + public void doAfterCompose(Component comp) throws Exception { + + super.doAfterCompose(comp); + + escolaList.setItemRenderer(new RenderEscola()); + escolaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + Escola esc = (Escola) escolaList.getSelected(); + verEscola(esc); + } + }); + + refreshLista(); + + txtNombre.focus(); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verEscola(Escola e) { + if (e == null) { + return; + } + + Map args = new HashMap(); + args.put("escola", e); + args.put("escolaList", escolaList); + + openWindow("/gui/catalogos/editarEscola.zul", + Labels.getLabel("editarEscolaController.window.title"), args, MODAL); + } + + private void refreshLista() throws InterruptedException { + HibernateSearchObject escolaBusqueda = + new HibernateSearchObject(Escola.class, pagingEscola.getPageSize()); + + escolaBusqueda.addFilterLike("nombescola", "%" + txtNombre.getText().trim().concat("%")); + + Comboitem itemCiudad = cmbCiudad.getSelectedItem(); + if (itemCiudad != null) { + Ciudad ciudad = (Ciudad) itemCiudad.getValue(); + escolaBusqueda.addFilterEqual("ciudad", ciudad); + } + + escolaBusqueda.addFilterEqual("activo", Boolean.TRUE); + escolaBusqueda.addSortAsc("nombescola"); + escolaBusqueda.addFilterNotEqual("escolaId", -1); + + plwEscola.init(escolaBusqueda, escolaList, pagingEscola); + + if (escolaList.getData().length == 0) { + Messagebox.show( + Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("busquedaEscolaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + } + + public void onClick$btnRefresh(Event ev) throws InterruptedException { + refreshLista(); + } + + public void onClick$btnPesquisa(Event ev) throws InterruptedException { + refreshLista(); + } + + public void onClick$btnNovo(Event ev) throws InterruptedException { + verEscola(new Escola()); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEscolaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEscolaController.java new file mode 100644 index 000000000..4c8fcb762 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEscolaController.java @@ -0,0 +1,144 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Button; +import org.zkoss.zul.Messagebox; + +import com.rjconsultores.ventaboletos.entidad.Ciudad; +import com.rjconsultores.ventaboletos.entidad.Escola; +import com.rjconsultores.ventaboletos.service.EscolaService; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxCiudad; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; + +@Controller("editarEscolaController") +@Scope("prototype") +public class EditarEscolaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private EscolaService EscolaService; + private Escola escola; + private MyListbox escolaList; + private static Logger log = Logger.getLogger(EditarEscolaController.class); + private MyTextbox txtNome; + private MyComboboxCiudad cmbCiudad; + private Button btnApagar; + + public Escola getEscola() { + return escola; + } + + public void setEscola(Escola escola) { + this.escola = escola; + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + + super.doAfterCompose(comp); + + escola = (Escola) Executions.getCurrent().getArg().get("escola"); + escolaList = (MyListbox) Executions.getCurrent().getArg().get("escolaList"); + + if (escola.getEscolaId() == null) { + btnApagar.setVisible(Boolean.FALSE); + } + + txtNome.focus(); + } + + public void onClick$btnSalvar(Event ev) throws InterruptedException { + cmbCiudad.getValue(); + + try { + escola.setActivo(Boolean.TRUE); + escola.setFecmodif(Calendar.getInstance().getTime()); + escola.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + escola.setNombescola(txtNome.getValue()); + + List lsEscola = EscolaService.buscar(escola.getNombescola(), escola.getCiudad()); + + boolean podeSalvar = false; + if (lsEscola.isEmpty()) { + podeSalvar = true; + } else { + if (escola.getEscolaId() == null) { + podeSalvar = false; + } else { + for (Escola e : lsEscola) { + if (e.getEscolaId().equals(escola.getEscolaId())) { + podeSalvar = true; + } + } + } + } + + if (podeSalvar) { + if (escola.getEscolaId() == null) { + EscolaService.suscribir(escola); + escolaList.addItem(escola); + } else { + EscolaService.actualizacion(escola); + escolaList.updateItem(escola); + } + Messagebox.show( + Labels.getLabel("editarEscolaController.MSG.suscribirOK"), + Labels.getLabel("editarEscolaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarEscolaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + + } catch (Exception ex) { + log.error("editarEscolaController: " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarEscolaController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + } + + public void onClick$btnApagar(Event ev) throws InterruptedException { + try { + int resp = Messagebox.show( + Labels.getLabel("editarEscolaController.MSG.borrarPergunta"), + Labels.getLabel("editarEscolaController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + + EscolaService.borrar(escola); + + Messagebox.show( + Labels.getLabel("editarEscolaController.MSG.borrarOK"), + Labels.getLabel("editarEscolaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + escolaList.removeItem(escola); + + closeWindow(); + } + } catch (RegistroConDependenciaException ex) { + Messagebox.show(ex.getLocalizedMessage(), Labels.getLabel("editarEscolaController.window.title"), Messagebox.OK, Messagebox.ERROR); + } + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/catalogos/ItemMenuEscola.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/catalogos/ItemMenuEscola.java new file mode 100644 index 000000000..6d3fe4556 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/catalogos/ItemMenuEscola.java @@ -0,0 +1,26 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuEscola extends DefaultItemMenuSistema { + + public ItemMenuEscola() { + super("indexController.mniEscola.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.CATALOGO.MENU.ESCOLA"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/catalogos/busquedaEscola.zul", + Labels.getLabel("busquedaEscolaController.window.title"), + getArgs() ,desktop); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEscola.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEscola.java new file mode 100644 index 000000000..03a752f80 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEscola.java @@ -0,0 +1,31 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Escola; + +public class RenderEscola implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + Escola escola = (Escola) o; + + Listcell lc = new Listcell(); + + lc = new Listcell(escola.getEscolaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(escola.getNombescola()); + lc.setParent(lstm); + + if (escola.getCiudad() != null) { + lc = new Listcell(escola.getCiudad().getNombciudad()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + + lstm.setAttribute("data", escola); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index c6ce84182..cdc7a3fcb 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -126,6 +126,7 @@ com.rjconsultores.ventaboletos.entidad.Estacion com.rjconsultores.ventaboletos.entidad.EstacionSitef com.rjconsultores.ventaboletos.entidad.EstacionRioCard + com.rjconsultores.ventaboletos.entidad.Escola com.rjconsultores.ventaboletos.entidad.Estado com.rjconsultores.ventaboletos.entidad.EsquemaAsiento com.rjconsultores.ventaboletos.entidad.EsquemaAgrupacion diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 9eb238787..26b9d99db 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -251,6 +251,8 @@ indexController.mniRelatorioDiferencasTransferencias.label = Relatório de Difer indexController.mniSubMenuClientePacote.label=Pacote indexController.mniManutencaoPacote.label=Manutenção Pacote +indexController.mniEscola.label = Escuela + #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias para empleados indexController.mniTipoCortesiaD.label = Descuento por tipo de cortesia @@ -5352,4 +5354,28 @@ relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa relatorioVendasPacotesBoletosController.lblPacote.value = Pacote # Relatorio Venda Pacote Voucher -RelatorioVendaPacoteVoucher.window.title = Voucher Venda Pacote \ No newline at end of file +RelatorioVendaPacoteVoucher.window.title = Voucher Venda Pacote + + +#Busqueda Escola +busquedaEscolaController.window.title=Búsqueda Escuela +busquedaEscolaController.btnRefresh.tooltiptext=Actualizar +busquedaEscolaController.btnNovo.tooltiptext=Incluir +busquedaEscolaController.btnCerrar.tooltiptext=Cerrar +busquedaEscolaController.txtNombre.label=Nombre +busquedaEscolaController.txtCiudad.label=Ciudad +busquedaEscolaController.btnPesquisa.label=Búsqueda +busquedaEscolaController.lhId.label=ID +busquedaEscolaController.lhNombre.label=Nombre +busquedaEscolaController.lhCiudad.label=Ciudad + +#Editar Escola +editarEscolaController.window.title=Editar Escuela +editarEscolaController.btnApagar.tooltiptext=Borrar +editarEscolaController.btnSalvar.tooltiptext=Guardar +editarEscolaController.btnFechar.tooltiptext=Cerrar +editarEscolaController.txtCiudad.value=Ciudad + +editarEscolaController.MSG.suscribirOK=Escuela se registró exitosamente +editarEscolaController.MSG.borrarPergunta=Eliminar Escuela ? +editarEscolaController.MSG.borrarOK=Escuela se eliminó exitosamente \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 1c45085bf..cfa67ec00 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -263,6 +263,8 @@ indexController.mniImportacionFiscal.label=Importação Fiscal indexController.mniSubMenuClientePacote.label=Pacote indexController.mniManutencaoPacote.label=Manutenção Pacote +indexController.mniEscola.label = Escola + #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias Para Funcionários indexController.mniTipoCortesiaD.label = Desconto por Tipo de Cortesia @@ -5493,4 +5495,27 @@ relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa relatorioVendasPacotesBoletosController.lblPacote.value = Pacote # Relatorio Venda Pacote Voucher -RelatorioVendaPacoteVoucher.window.title = Voucher Venda Pacote \ No newline at end of file +RelatorioVendaPacoteVoucher.window.title = Voucher Venda Pacote + +#Busqueda Escola +busquedaEscolaController.window.title=Pesquisar Escola +busquedaEscolaController.btnRefresh.tooltiptext=Atualizar +busquedaEscolaController.btnNovo.tooltiptext=Incluir +busquedaEscolaController.btnCerrar.tooltiptext=Fechar +busquedaEscolaController.txtNombre.label=Nome +busquedaEscolaController.txtCiudad.label=Cidade +busquedaEscolaController.btnPesquisa.label=Pesquisa +busquedaEscolaController.lhId.label=ID +busquedaEscolaController.lhNombre.label=Nome +busquedaEscolaController.lhCiudad.label=Cidade + +#Editar Escola +editarEscolaController.window.title=Editar Escola +editarEscolaController.btnApagar.tooltiptext=Eliminar +editarEscolaController.btnSalvar.tooltiptext=Salvar +editarEscolaController.btnFechar.tooltiptext=Fechar +editarEscolaController.txtCiudad.value=Cidade + +editarEscolaController.MSG.suscribirOK=Escola gravada com sucesso! +editarEscolaController.MSG.borrarPergunta=Deseja eliminar Escola ? +editarEscolaController.MSG.borrarOK=Escola eliminada com sucesso! \ No newline at end of file diff --git a/web/gui/catalogos/busquedaEscola.zul b/web/gui/catalogos/busquedaEscola.zul new file mode 100644 index 000000000..fac2e36fa --- /dev/null +++ b/web/gui/catalogos/busquedaEscola.zul @@ -0,0 +1,71 @@ + + + + + + + + + + +