From dd56cfeb45928d997a39852e93dae71f64e50820 Mon Sep 17 00:00:00 2001 From: wilian Date: Tue, 29 Sep 2015 20:02:33 +0000 Subject: [PATCH] fixes bug #6661 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@48408 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../BusquedaItemDescontoController.java | 106 ++++++++++++++++ .../EditarItemDescontoController.java | 114 ++++++++++++++++++ .../item/comissao/ItemMenuItemDesconto.java | 26 ++++ .../utilerias/render/RenderItemDesconto.java | 32 +++++ src/java/spring-config.xml | 1 + web/WEB-INF/i3-label_es_MX.label | 25 +++- web/WEB-INF/i3-label_pt_BR.label | 23 +++- web/gui/comissao/busquedaItemDesconto.zul | 78 ++++++++++++ web/gui/comissao/editarItemDesconto.zul | 65 ++++++++++ 9 files changed, 467 insertions(+), 3 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaItemDescontoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/EditarItemDescontoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/comissao/ItemMenuItemDesconto.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderItemDesconto.java create mode 100644 web/gui/comissao/busquedaItemDesconto.zul create mode 100644 web/gui/comissao/editarItemDesconto.zul diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaItemDescontoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaItemDescontoController.java new file mode 100644 index 000000000..fd5b82361 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaItemDescontoController.java @@ -0,0 +1,106 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.comissao; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.ItemDesconto; +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.RenderItemDesconto; + +@Scope("prototype") +@Controller("busquedaItemDescontoController") +public class BusquedaItemDescontoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private static final Logger log = LoggerFactory.getLogger(BusquedaItemDescontoController.class); + + @Autowired + private transient PagedListWrapper plwItemDesconto; + private MyListbox itemDescontoList; + private Paging pagingItemDesconto; + private Textbox txtNomitemdesconto; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + itemDescontoList.setItemRenderer(new RenderItemDesconto()); + itemDescontoList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + ItemDesconto a = (ItemDesconto) itemDescontoList.getSelected(); + verItemDesconto(a); + } + }); + + refreshLista(); + + txtNomitemdesconto.focus(); + } + + private void verItemDesconto(ItemDesconto t) { + if (t == null) { + return; + } + + Map args = new HashMap(); + args.put("itemDesconto", t); + args.put("itemDescontoList", itemDescontoList); + + openWindow("/gui/comissao/editarItemDesconto.zul", + Labels.getLabel("editarItemDescontoController.window.title"), args, MODAL); + } + + private void refreshLista() { + try { + HibernateSearchObject itemDescontoBusqueda = new HibernateSearchObject(ItemDesconto.class, pagingItemDesconto.getPageSize()); + + if(StringUtils.isNotBlank(txtNomitemdesconto.getText())) { + itemDescontoBusqueda.addFilterEqual("nomitemdesconto", txtNomitemdesconto.getText().trim()); + } + + itemDescontoBusqueda.addFilterEqual("activo", Boolean.TRUE); + plwItemDesconto.init(itemDescontoBusqueda, itemDescontoList, pagingItemDesconto); + + if (itemDescontoList.getData().length == 0) { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("busquedaItemDescontoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + } catch (InterruptedException e) { + log.error(e.getMessage(), e.getCause()); + } + } + + public void onClick$btnPesquisa(Event ev) { + refreshLista(); + } + + public void onClick$btnRefresh(Event ev) { + refreshLista(); + } + + public void onClick$btnNovo(Event ev) { + verItemDesconto(new ItemDesconto()); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/EditarItemDescontoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/EditarItemDescontoController.java new file mode 100644 index 000000000..44ba62ca5 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/EditarItemDescontoController.java @@ -0,0 +1,114 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.comissao; + +import java.text.DecimalFormat; +import java.util.Locale; + +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.WrongValueException; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Messagebox; + +import com.rjconsultores.ventaboletos.entidad.ItemDesconto; +import com.rjconsultores.ventaboletos.service.ItemDescontoService; +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; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal; + +@Scope("prototype") +@Controller("editarItemDescontoController") +public class EditarItemDescontoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private static final Logger log = Logger.getLogger(EditarItemDescontoController.class); + + private static final Locale LOC = new Locale("pt","br"); + + @Autowired + private ItemDescontoService itemDescontoService; + + private ItemDesconto itemDesconto; + private MyTextbox txtNomitemdesconto; + private MyTextboxDecimal txtPreco; + private MyListbox itemDescontoList; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + itemDesconto = (ItemDesconto) Executions.getCurrent().getArg().get("itemDesconto"); + itemDescontoList = (MyListbox) Executions.getCurrent().getArg().get("itemDescontoList"); + + if (itemDesconto.getItemdescontoId() != null) { + txtNomitemdesconto.setValue(itemDesconto.getNomitemdesconto()); + txtPreco.setValue(DecimalFormat.getInstance(LOC).format(itemDesconto.getPreco())); + } + + txtNomitemdesconto.focus(); + } + + public void onClick$btnSalvar(Event ev) throws InterruptedException { + try { + txtNomitemdesconto.getValue(); + txtPreco.getValue(); + + itemDesconto.setNomitemdesconto(txtNomitemdesconto.getValue()); + itemDesconto.setPreco(txtPreco.getValueDecimal()); + + if (itemDesconto.getItemdescontoId() == null) { + itemDescontoService.suscribir(itemDesconto); + itemDescontoList.addItemNovo(itemDesconto); + } else { + itemDescontoService.actualizacion(itemDesconto); + } + + itemDescontoList.updateItem(itemDesconto); + + closeWindow(); + + } catch (WrongValueException ex) { + throw (WrongValueException) ex; + } catch (Exception ex) { + log.error(ex); + Messagebox.show(Labels.getLabel("MSG.Error").concat(" - ").concat(ex.toString()), + Labels.getLabel("editarItemDescontoController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + } + + public void onClick$btnApagar(Event ev) { + try { + int resp = Messagebox.show( + Labels.getLabel("editarItemDescontoController.MSG.borrarPergunta"), + Labels.getLabel("editarItemDescontoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + + itemDescontoService.borrar(itemDesconto); + + log.warn("Usuário " + UsuarioLogado.getUsuarioLogado().getNombusuario() + " excluiu o item desconto " + itemDesconto.getItemdescontoId()); + + Messagebox.show( + Labels.getLabel("editarItemDescontoController.MSG.borrarOK"), + Labels.getLabel("editarItemDescontoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + itemDescontoList.removeItem(itemDesconto); + + closeWindow(); + } + } catch (Exception ex) { + log.error(ex); + } + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/comissao/ItemMenuItemDesconto.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/comissao/ItemMenuItemDesconto.java new file mode 100644 index 000000000..38ed8d7a9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/comissao/ItemMenuItemDesconto.java @@ -0,0 +1,26 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.comissao; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuItemDesconto extends DefaultItemMenuSistema { + + public ItemMenuItemDesconto() { + super("indexController.mniItemDesconto.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.COMISSAO.ITEMDESCONTO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/comissao/busquedaItemDesconto.zul", + Labels.getLabel("busquedaItemDescontoController.window.title"), getArgs(), desktop); + } + +} + diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderItemDesconto.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderItemDesconto.java new file mode 100644 index 000000000..db6608978 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderItemDesconto.java @@ -0,0 +1,32 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.util.Locale; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.ItemDesconto; + +public class RenderItemDesconto implements ListitemRenderer { + + private static NumberFormat NF = DecimalFormat.getInstance(new Locale("pt","br")); + + public void render(Listitem lstm, Object o) throws Exception { + ItemDesconto itemDesconto = (ItemDesconto) o; + + Listcell lc = new Listcell(itemDesconto.getItemdescontoId().toString()); + lc.setParent(lstm); + + lc = new Listcell(itemDesconto.getNomitemdesconto() != null ? itemDesconto.getNomitemdesconto() : ""); + lc.setParent(lstm); + + NF.setMinimumFractionDigits(2); + lc = new Listcell(itemDesconto.getPreco() != null ? NF.format(itemDesconto.getPreco()) : "0,00"); + lc.setParent(lstm); + + lstm.setAttribute("data", itemDesconto); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 9fded4c18..3832e6595 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -397,6 +397,7 @@ com.rjconsultores.ventaboletos.entidad.ConvenioTramo com.rjconsultores.ventaboletos.entidad.ConvenioUsuario com.rjconsultores.ventaboletos.entidad.ConvenioPuntoVenta + com.rjconsultores.ventaboletos.entidad.ItemDesconto diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 5d2d37fc9..2bca8fd7d 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -259,7 +259,8 @@ indexController.mniSubMenuClientePacote.label=Pacote indexController.mniManutencaoPacote.label=Manutenção Pacote indexController.mnSubMenuComissao.label=Comisión -indexController.mniCalculoComissao.label=Cálculo Comisión +indexController.mniCalculoComissao.label=Cálculo Comisión +indexController.mniItemDesconto.label=Elemento de Descuento indexController.mniEscola.label = Escuela indexController.mniCurso.label = Curso @@ -5662,4 +5663,24 @@ editarPracaPedagioController.btnFechar.MSG.borrarOK = Praça de Pedágio Excluid # Relatorio de Vendas para Comissao relatorioVendasComissaoController.lbDataIni.value = Fecha Inicio -relatorioVendasComissaoController.lbDataFin.value = Fecha Final \ No newline at end of file +relatorioVendasComissaoController.lbDataFin.value = Fecha Final + +# Busqueda Item Desconto +busquedaItemDescontoController.window.title = Elemento de Descuento +busquedaItemDescontoController.btnRefresh.tooltiptext = Actualizar +busquedaItemDescontoController.btnNovo.tooltiptext = Incluir +busquedaItemDescontoController.btnCerrar.tooltiptext = Cerrar +busquedaItemDescontoController.btnPesquisa.label = Búsqueda +busquedaItemDescontoController.lhId.label = ID +busquedaItemDescontoController.lhNomitemdesconto.label = Elemento de Descuento +busquedaItemDescontoController.lhPreco.label = Precio + +# Editar Item Desconto +editarItemDescontoController.window.title = Elemento de Descuento +editarItemDescontoController.btnApagar.tooltiptext = Borrar +editarItemDescontoController.btnSalvar.tooltiptext = Guardar +editarItemDescontoController.btnFechar.tooltiptext = Cerrar +editarItemDescontoController.lbNomitemdesconto.value = Elemento +editarItemDescontoController.lbPreco.value = Precio +editarItemDescontoController.MSG.borrarPergunta = Deseas eliminar este elemento de descuento? +editarItemDescontoController.MSG.borrarOK = Elemento de Descuento 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 3cd0a674c..ed49f4c50 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -272,6 +272,7 @@ indexController.mniManutencaoPacote.label=Manutenção Pacote indexController.mnSubMenuComissao.label=Comissão indexController.mniCalculoComissao.label=Cálculo Comissão +indexController.mniItemDesconto.label=Item Desconto indexController.mniEscola.label = Escola indexController.mniCurso.label = Curso @@ -5803,4 +5804,24 @@ editarPracaPedagioController.btnFechar.MSG.borrarOK = Praça de Pedágio Excluid # Relatorio de Vendas para Comissao relatorioVendasComissaoController.lbDataIni.value = Data Início -relatorioVendasComissaoController.lbDataFin.value = Data Final \ No newline at end of file +relatorioVendasComissaoController.lbDataFin.value = Data Final + +# Busqueda Item Desconto +busquedaItemDescontoController.window.title = Item Desconto +busquedaItemDescontoController.btnRefresh.tooltiptext = Atualizar +busquedaItemDescontoController.btnNovo.tooltiptext = Incluir +busquedaItemDescontoController.btnCerrar.tooltiptext = Fechar +busquedaItemDescontoController.btnPesquisa.label = Pesquisa +busquedaItemDescontoController.lhId.label = ID +busquedaItemDescontoController.lhNomitemdesconto.label = Item +busquedaItemDescontoController.lhPreco.label = Preço + +# Editar Item Desconto +editarItemDescontoController.window.title = Item Desconto +editarItemDescontoController.btnApagar.tooltiptext = Eliminar +editarItemDescontoController.btnSalvar.tooltiptext = Salvar +editarItemDescontoController.btnFechar.tooltiptext = Fechar +editarItemDescontoController.lbNomitemdesconto.value = Item +editarItemDescontoController.lbPreco.value = Preço +editarItemDescontoController.MSG.borrarPergunta = Deseja Eliminar este item de desconto? +editarItemDescontoController.MSG.borrarOK = Item Desconto excluido com Sucesso. \ No newline at end of file diff --git a/web/gui/comissao/busquedaItemDesconto.zul b/web/gui/comissao/busquedaItemDesconto.zul new file mode 100644 index 000000000..5c6ff1d6b --- /dev/null +++ b/web/gui/comissao/busquedaItemDesconto.zul @@ -0,0 +1,78 @@ + + + + + + + + + +