leonardo 2015-07-27 20:15:37 +00:00
parent 35af8cba1a
commit 614ef0abea
9 changed files with 493 additions and 2 deletions

View File

@ -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<Escola> 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<Escola> escolaBusqueda =
new HibernateSearchObject<Escola>(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());
}
}

View File

@ -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<Escola> 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);
}
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -126,6 +126,7 @@
<value>com.rjconsultores.ventaboletos.entidad.Estacion</value>
<value>com.rjconsultores.ventaboletos.entidad.EstacionSitef</value>
<value>com.rjconsultores.ventaboletos.entidad.EstacionRioCard</value>
<value>com.rjconsultores.ventaboletos.entidad.Escola</value>
<value>com.rjconsultores.ventaboletos.entidad.Estado</value>
<value>com.rjconsultores.ventaboletos.entidad.EsquemaAsiento</value>
<value>com.rjconsultores.ventaboletos.entidad.EsquemaAgrupacion

View File

@ -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
@ -5353,3 +5355,27 @@ relatorioVendasPacotesBoletosController.lblPacote.value = Pacote
# Relatorio Venda Pacote Voucher
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

View File

@ -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
@ -5494,3 +5496,26 @@ relatorioVendasPacotesBoletosController.lblPacote.value = Pacote
# Relatorio Venda Pacote Voucher
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!

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winBusquedaEscola"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winBusquedaEscola"
title="${c:l('busquedaEscolaController.window.title')}"
apply="${busquedaEscolaController}" contentStyle="overflow:auto"
height="415px" width="800px" border="normal">
<toolbar>
<button id="btnRefresh" image="/gui/img/refresh.png"
width="35px"
tooltiptext="${c:l('busquedaEscolaController.btnRefresh.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnNovo" image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('busquedaEscolaController.btnNovo.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnCerrar" onClick="winBusquedaEscola.detach()"
image="/gui/img/exit.png" width="35px"
tooltiptext="${c:l('busquedaEscolaController.btnCerrar.tooltiptext')}" />
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="80%" />
</columns>
<rows>
<row>
<label
value="${c:l('busquedaEscolaController.txtNombre.label')}" />
<textbox id="txtNombre" width="200px"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row>
<row>
<label
value="${c:l('busquedaEscolaController.txtCiudad.label')}" />
<combobox id="cmbCiudad" width="90%" mold="rounded"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxCiudad"
/>
</row>
</rows>
</grid>
<toolbar>
<button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('busquedaEscolaController.btnPesquisa.label')}" />
</toolbar>
<paging id="pagingEscola" pageSize="20" />
<listbox id="escolaList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="false">
<listhead sizable="true">
<listheader width="10%" image="/gui/img/builder.gif"
label="${c:l('busquedaEscolaController.lhId.label')}"
sort="auto(escolaId)" />
<listheader image="/gui/img/builder.gif"
label="${c:l('busquedaEscolaController.lhNombre.label')}"
sort="auto(nombEscola)" />
<listheader width="15%" image="/gui/img/builder.gif"
label="${c:l('busquedaEscolaController.lhCiudad.label')}"
sort="auto(ciudad.nombciudad)" />
</listhead>
</listbox>
</window>
</zk>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winEditarEscola"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk>
<window id="winEditarEscola" border="normal"
apply="${editarEscolaController}" width="550px" height="245px"
contentStyle="overflow:auto"
title="${c:l('editarEscolaController.window.title')}">
<toolbar>
<hbox spacing="5px" style="padding:1px" align="right">
<button id="btnApagar" height="20"
image="/gui/img/remove.png" width="35px"
tooltiptext="${c:l('editarEscolaController.btnApagar.tooltiptext')}" />
<button id="btnSalvar" height="20"
image="/gui/img/save.png" width="35px"
tooltiptext="${c:l('editarEscolaController.btnSalvar.tooltiptext')}" />
<button id="btnFechar" height="20"
image="/gui/img/exit.png" width="35px"
onClick="winEditarEscola.detach()"
tooltiptext="${c:l('editarEscolaController.btnFechar.tooltiptext')}" />
</hbox>
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="30%" />
<column width="70%" />
</columns>
<rows>
<row>
<label id="lbNome"
value="${c:l('busquedaEscolaController.txtNombre.label')}" />
<textbox id="txtNome" constraint="no empty"
width="90%" maxlength="30"
value="@{winEditarEscola$composer.escola.nombescola}"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row>
<row>
<label
value="${c:l('editarEscolaController.txtCiudad.value')}" />
<combobox id="cmbCiudad" width="90%" mold="rounded"
buttonVisible="true" constraint="no empty"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxCiudad"
initialValue="@{winEditarEscola$composer.escola.ciudad}"
selectedItem="@{winEditarEscola$composer.escola.ciudad}" />
</row>
</rows>
</grid>
</window>
</zk>