diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaCursoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaCursoController.java new file mode 100644 index 000000000..0eaa9cbc7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaCursoController.java @@ -0,0 +1,105 @@ +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.Curso; +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.RenderCurso; + +@Controller("busquedaCursoController") +@Scope("prototype") +public class BusquedaCursoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private transient PagedListWrapper plwCurso; + private MyListbox CursoList; + private Paging pagingCurso; + private Textbox txtNombre; + private Combobox cmbCiudad; + + + @Override + public void doAfterCompose(Component comp) throws Exception { + + super.doAfterCompose(comp); + + CursoList.setItemRenderer(new RenderCurso()); + CursoList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + Curso curso = (Curso) CursoList.getSelected(); + verCurso(curso); + } + }); + + refreshLista(); + + txtNombre.focus(); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verCurso(Curso e) { + if (e == null) { + return; + } + + Map args = new HashMap(); + args.put("curso", e); + args.put("cursoList", CursoList); + + openWindow("/gui/catalogos/editarCurso.zul", + Labels.getLabel("editarCursoController.window.title"), args, MODAL); + } + + private void refreshLista() throws InterruptedException { + HibernateSearchObject CursoBusqueda = + new HibernateSearchObject(Curso.class, pagingCurso.getPageSize()); + + CursoBusqueda.addFilterLike("nomcurso", "%" + txtNombre.getText().trim().concat("%")); + + CursoBusqueda.addFilterEqual("activo", Boolean.TRUE); + CursoBusqueda.addSortAsc("nomcurso"); + CursoBusqueda.addFilterNotEqual("cursoId", -1); + + plwCurso.init(CursoBusqueda, CursoList, pagingCurso); + + if (CursoList.getData().length == 0) { + Messagebox.show( + Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("busquedaCursoController.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 { + verCurso(new Curso()); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCursoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCursoController.java new file mode 100644 index 000000000..d08096eb1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCursoController.java @@ -0,0 +1,139 @@ +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.Curso; +import com.rjconsultores.ventaboletos.service.CursoService; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; + +@Controller("editarCursoController") +@Scope("prototype") +public class EditarCursoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private CursoService CursoService; + private Curso curso; + private MyListbox cursoList; + private static Logger log = Logger.getLogger(EditarCursoController.class); + private MyTextbox txtNome; + private Button btnApagar; + + public Curso getCurso() { + return curso; + } + + public void setCurso(Curso curso) { + this.curso = curso; + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + + super.doAfterCompose(comp); + + curso = (Curso) Executions.getCurrent().getArg().get("curso"); + cursoList = (MyListbox) Executions.getCurrent().getArg().get("cursoList"); + + if (curso.getCursoId() == null) { + btnApagar.setVisible(Boolean.FALSE); + } + + txtNome.focus(); + } + + public void onClick$btnSalvar(Event ev) throws InterruptedException { + try { + curso.setActivo(Boolean.TRUE); + curso.setFecmodif(Calendar.getInstance().getTime()); + curso.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + curso.setNomcurso(txtNome.getValue()); + + List lsCurso = CursoService.buscar(curso.getNomcurso()); + + boolean podeSalvar = false; + if (lsCurso.isEmpty()) { + podeSalvar = true; + } else { + if (curso.getCursoId() == null) { + podeSalvar = false; + } else { + for (Curso e : lsCurso) { + if (e.getCursoId().equals(curso.getCursoId())) { + podeSalvar = true; + } + } + } + } + + if (podeSalvar) { + if (curso.getCursoId() == null) { + CursoService.suscribir(curso); + cursoList.addItem(curso); + } else { + CursoService.actualizacion(curso); + cursoList.updateItem(curso); + } + Messagebox.show( + Labels.getLabel("editarCursoController.MSG.suscribirOK"), + Labels.getLabel("editarCursoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarCursoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + + } catch (Exception ex) { + log.error("editarCursoController: " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarCursoController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + } + + public void onClick$btnApagar(Event ev) throws InterruptedException { + try { + int resp = Messagebox.show( + Labels.getLabel("editarCursoController.MSG.borrarPergunta"), + Labels.getLabel("editarCursoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + + CursoService.borrar(curso); + + Messagebox.show( + Labels.getLabel("editarCursoController.MSG.borrarOK"), + Labels.getLabel("editarCursoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + cursoList.removeItem(curso); + + closeWindow(); + } + } catch (RegistroConDependenciaException ex) { + Messagebox.show(ex.getLocalizedMessage(), Labels.getLabel("editarCursoController.window.title"), Messagebox.OK, Messagebox.ERROR); + } + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/catalogos/ItemMenuCurso.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/catalogos/ItemMenuCurso.java new file mode 100644 index 000000000..0ee3b5a9f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/catalogos/ItemMenuCurso.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 ItemMenuCurso extends DefaultItemMenuSistema { + + public ItemMenuCurso() { + super("indexController.mniCurso.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.CATALOGO.MENU.CURSO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/catalogos/busquedaCurso.zul", + Labels.getLabel("busquedaCursoController.window.title"), + getArgs() ,desktop); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCurso.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCurso.java new file mode 100644 index 000000000..b084dcc0b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCurso.java @@ -0,0 +1,24 @@ +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.Curso; + +public class RenderCurso implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + Curso curso = (Curso) o; + + Listcell lc = new Listcell(); + + lc = new Listcell(curso.getCursoId().toString()); + lc.setParent(lstm); + + lc = new Listcell(curso.getNomcurso()); + lc.setParent(lstm); + + lstm.setAttribute("data", curso); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index cdc7a3fcb..a4ce71b2d 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -111,6 +111,7 @@ com.rjconsultores.ventaboletos.entidad.CuponConvenio com.rjconsultores.ventaboletos.entidad.CuponSecretaria + com.rjconsultores.ventaboletos.entidad.Curso com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus com.rjconsultores.ventaboletos.entidad.DepositoBancario diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 941c8f97e..b4363eddd 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -252,6 +252,7 @@ indexController.mniSubMenuClientePacote.label=Pacote indexController.mniManutencaoPacote.label=Manutenção Pacote indexController.mniEscola.label = Escuela +indexController.mniCurso.label = Curso #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias para empleados @@ -5379,4 +5380,24 @@ 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 +editarEscolaController.MSG.borrarOK=Escuela se eliminó exitosamente + +#Busqueda Escola +busquedaEscolaController.window.title=Búsqueda Curso +busquedaEscolaController.btnRefresh.tooltiptext=Actualizar +busquedaEscolaController.btnNovo.tooltiptext=Incluir +busquedaEscolaController.btnCerrar.tooltiptext=Cerrar +busquedaEscolaController.txtNombre.label=Nombre +busquedaEscolaController.btnPesquisa.label=Búsqueda +busquedaEscolaController.lhId.label=ID +busquedaEscolaController.lhNombre.label=Nombre + +#Editar Escola +editarEscolaController.window.title=Editar Curso +editarEscolaController.btnApagar.tooltiptext=Borrar +editarEscolaController.btnSalvar.tooltiptext=Guardar +editarEscolaController.btnFechar.tooltiptext=Cerrar + +editarEscolaController.MSG.suscribirOK=Curso se registró exitosamente +editarEscolaController.MSG.borrarPergunta=Eliminar Curso ? +editarEscolaController.MSG.borrarOK=Curso 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 405955019..08df08416 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -264,6 +264,7 @@ indexController.mniSubMenuClientePacote.label=Pacote indexController.mniManutencaoPacote.label=Manutenção Pacote indexController.mniEscola.label = Escola +indexController.mniCurso.label = Curso #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias Para Funcionários @@ -5519,4 +5520,25 @@ 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 +editarEscolaController.MSG.borrarOK=Escola eliminada com sucesso! + + +#Busqueda Curso +busquedaCursoController.window.title=Pesquisar Curso +busquedaCursoController.btnRefresh.tooltiptext=Atualizar +busquedaCursoController.btnNovo.tooltiptext=Incluir +busquedaCursoController.btnCerrar.tooltiptext=Fechar +busquedaCursoController.txtNombre.label=Nome +busquedaCursoController.btnPesquisa.label=Pesquisa +busquedaCursoController.lhId.label=ID +busquedaCursoController.lhNombre.label=Nome + +#Editar Curso +editarCursoController.window.title=Editar Curso +editarCursoController.btnApagar.tooltiptext=Eliminar +editarCursoController.btnSalvar.tooltiptext=Salvar +editarCursoController.btnFechar.tooltiptext=Fechar + +editarCursoController.MSG.suscribirOK=Curso gravado com sucesso! +editarCursoController.MSG.borrarPergunta=Deseja eliminar Curso ? +editarCursoController.MSG.borrarOK=Curso eliminado com sucesso! \ No newline at end of file diff --git a/web/gui/catalogos/busquedaCurso.zul b/web/gui/catalogos/busquedaCurso.zul new file mode 100644 index 000000000..1a6c7017a --- /dev/null +++ b/web/gui/catalogos/busquedaCurso.zul @@ -0,0 +1,60 @@ + + + + + + + + + + +