From 11da08f4f66a7aa93a76c5e668cb067420a4af2e Mon Sep 17 00:00:00 2001 From: bruno Date: Thu, 4 Jul 2013 15:28:49 +0000 Subject: [PATCH] =?UTF-8?q?-=20Tela=20de=20impostos=20-=20Utilitarios=20pa?= =?UTF-8?q?ra=20convers=C3=A3o=20de=20valores=20-=20Altera=C3=A7=C3=A3o=20?= =?UTF-8?q?do=20padr=C3=A3o=20de=20exibi=C3=A7=C3=A3o=20e=20inser=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20campos=20monet=C3=A1rios=20para=20utiliza=C3=A7?= =?UTF-8?q?=C3=A3o=20do=20padr=C3=A3o=20brasileiro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@28623 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../catalogos/EditarEmpresaController.java | 81 ++++- .../EditarEmpresaImpostoController.java | 115 +++++++ .../RelatorioAproveitamentoController.java | 12 + .../StringDecimalToDecimalConverter.java | 8 +- .../StringPercentToDecimalConverter.java | 46 +++ .../render/RenderEmpresaImposto.java | 30 ++ src/java/spring-config.xml | 1 + web/WEB-INF/i3-label_pt_BR.label | 40 +++ web/gui/catalogos/editarEmpresa.zul | 39 +++ web/gui/catalogos/editarEmpresaImposto.zul | 293 ++++++++++++++++++ 10 files changed, 660 insertions(+), 5 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaImpostoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/StringPercentToDecimalConverter.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaImposto.java create mode 100644 web/gui/catalogos/editarEmpresaImposto.zul diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java index 49ceb0030..0dc9c18f7 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java @@ -6,7 +6,9 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; import java.util.ArrayList; import java.util.Calendar; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +18,7 @@ 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.zk.ui.event.EventListener; import org.zkoss.zkplus.databind.BindingListModel; import org.zkoss.zkplus.databind.BindingListModelList; import org.zkoss.zul.Button; @@ -26,8 +29,10 @@ import org.zkoss.zul.Row; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.service.CiudadService; +import com.rjconsultores.ventaboletos.service.EmpresaImpostoService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EstadoService; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; @@ -35,6 +40,7 @@ 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.render.RenderEmpresaImposto; /** * @@ -49,6 +55,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer { @Autowired private EmpresaService empresaService; @Autowired + private EmpresaImpostoService empresaImpostoService; + @Autowired private EstadoService estadoService; @Autowired private CiudadService ciudadService; @@ -56,9 +64,12 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private MyListbox empresaList; private MyTextbox txtNome; private MyTextbox txtCNPJ; + private MyListbox empresaImpostoList; + private List lsEmpresaImposto; private Button btnApagar; private Combobox cmbIndTipo; private Combobox cmbEstado; + private Combobox cmbEstadoImposto; private Combobox cmbCidade; private Row rowEquivalencia; private List lsEstados; @@ -90,13 +101,31 @@ public class EditarEmpresaController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { - lsEstados = estadoService.obtenerTodos(); + empresa = (Empresa) Executions.getCurrent().getArg().get("empresa"); + empresaList = (MyListbox) Executions.getCurrent().getArg().get("empresaList"); + + lsEstados = estadoService.buscarNotInEmpresaImposto(empresa); lsCidades = new ArrayList(); super.doAfterCompose(comp); - empresa = (Empresa) Executions.getCurrent().getArg().get("empresa"); - empresaList = (MyListbox) Executions.getCurrent().getArg().get("empresaList"); + empresaImpostoList.setItemRenderer(new RenderEmpresaImposto()); + empresaImpostoList.addEventListener("onDoubleClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + EmpresaImposto empresaImposto = (EmpresaImposto) empresaImpostoList.getSelected(); + abrirEmpresaImposto(empresaImposto); + } + }); + + if (empresa.getEmpresaId() != null) { + empresa = empresaService.obtenerID(empresa.getEmpresaId()); + + lsEmpresaImposto = empresaImpostoService.buscarByEmpresa(empresa); + + empresaImpostoList.setData(lsEmpresaImposto); + + } txtNome.focus(); @@ -117,6 +146,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { if (!ApplicationProperties.getInstance().mostrarEquivalencia()) { rowEquivalencia.setVisible(Boolean.FALSE); } + } public void onClick$btnSalvar(Event ev) throws InterruptedException { @@ -212,4 +242,49 @@ public class EditarEmpresaController extends MyGenericForwardComposer { cmbCidade.setModel(listModelCiudad); } } + + public void onClick$btnAdicionarEstadoImposto(Event ev) throws InterruptedException { + if (cmbEstadoImposto.getSelectedItem() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + Estado estado = (Estado) cmbEstadoImposto.getSelectedItem().getValue(); + + EmpresaImposto empresaImposto = new EmpresaImposto(); + + empresaImposto.setEstado(estado); + empresaImposto.setEmpresa(empresa); + + empresaImpostoService.suscribir(empresaImposto); + + lsEmpresaImposto.add(empresaImposto); + + List lsEmpresaImpostoAtivo = new ArrayList(); + for (EmpresaImposto rc : lsEmpresaImposto) { + if (rc.getActivo()) { + lsEmpresaImpostoAtivo.add(rc); + } + } + empresaImpostoList.setData(lsEmpresaImpostoAtivo); + + cmbEstadoImposto.getSelectedItem().setVisible(false); + cmbEstadoImposto.setSelectedIndex(-1); + + this.abrirEmpresaImposto(empresaImposto); + + } + + public void abrirEmpresaImposto(EmpresaImposto empresaImposto) { + Map args = new HashMap(); + args.put("empresaImposto", empresaImposto); + args.put("empresaImpostoList", empresaImpostoList); + + openWindow("/gui/catalogos/editarEmpresaImposto.zul", + Labels.getLabel("editarEmpresaImpostoController.window.title"), args, MODAL); + + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaImpostoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaImpostoController.java new file mode 100644 index 000000000..a860ff079 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaImpostoController.java @@ -0,0 +1,115 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; + +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.Messagebox; + +import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; +import com.rjconsultores.ventaboletos.service.EmpresaImpostoService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + + +/** + * + * @author Rafius + */ +@Controller("editarEmpresaImpostoController") +@Scope("prototype") +public class EditarEmpresaImpostoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarEmpresaImpostoController.class); + + + private EmpresaImposto empresaImposto; + + @Autowired + private EmpresaImpostoService empresaImpostoService; + + private MyListbox empresaImpostoList; + + /** + * @return the empresaImposto + */ + public EmpresaImposto getEmpresaImposto() { + return empresaImposto; + } + + /** + * @param empresaImposto + * the empresaImposto to set + */ + public void setEmpresaImposto(EmpresaImposto empresaImposto) { + this.empresaImposto = empresaImposto; + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + EmpresaImposto empresaImposto = (EmpresaImposto) Executions.getCurrent().getArg().get("empresaImposto"); + this.empresaImpostoList = (MyListbox) Executions.getCurrent().getArg().get("empresaImpostoList"); + + this.empresaImposto = empresaImpostoService.obtenerID(empresaImposto.getEmpresaImpostoId()); + + + super.doAfterCompose(comp); + + } + + public void onClick$btnEmpresaImpostoSalvar(Event ev) throws InterruptedException { + try { + + empresaImpostoService.actualizacion(this.empresaImposto); + Messagebox.show( + Labels.getLabel("editarEmpresaImpostoController.window.sucessoSalvar"), + Labels.getLabel("editarEmpresaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + + } catch (Exception ex) { + + log.error("editarEmpresaController: " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarEmpresaController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + } + + public void onClick$btnEmpresaImpostoApagar(Event ev) { + try { + int resp = Messagebox.show( + "Deseja apagar este registro?", + Labels.getLabel("editarEmpresaController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + + empresaImpostoService.borrar(this.empresaImposto); + + this.empresaImpostoList.removeItem(this.empresaImposto); + + Messagebox.show( + Labels.getLabel("editarEmpresaImpostoController.window.sucessoApagar"), + Labels.getLabel("editarEmpresaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + } + } catch (Exception ex) { + log.error(ex); + } + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoController.java index 379a973bd..a9775c1a1 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoController.java @@ -17,6 +17,7 @@ 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.Button; import org.zkoss.zul.Comboitem; import org.zkoss.zul.ComboitemRenderer; @@ -24,6 +25,7 @@ import org.zkoss.zul.Datebox; import org.zkoss.zul.Paging; import com.rjconsultores.ventaboletos.entidad.Corrida; +import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.relatorios.render.RenderRelatorioJasper; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; @@ -77,6 +79,16 @@ public class RelatorioAproveitamentoController extends MyGenericForwardComposer corridaList.setItemRenderer(new RenderCorridaAproveitamento()); + + corridaList.addEventListener("onDoubleClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + executarRelatorio(); + } + }); + + + btnExecutarRelatorio.setDisabled(true); cmbParadaOrigemCve.setItemRenderer(new ComboitemRenderer() { diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/StringDecimalToDecimalConverter.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/StringDecimalToDecimalConverter.java index 70edb5cec..85694c0e1 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/StringDecimalToDecimalConverter.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/StringDecimalToDecimalConverter.java @@ -6,6 +6,8 @@ package com.rjconsultores.ventaboletos.web.utilerias; import java.math.BigDecimal; import java.text.DecimalFormat; +import java.util.Locale; + import org.zkoss.zk.ui.Component; import org.zkoss.zkplus.databind.TypeConverter; @@ -23,7 +25,7 @@ public class StringDecimalToDecimalConverter implements TypeConverter { if (format == null) { format = FORMAT; } - DecimalFormat df = new DecimalFormat(format, new java.text.DecimalFormatSymbols(java.util.Locale.US)); + DecimalFormat df = new DecimalFormat(format, new java.text.DecimalFormatSymbols(new Locale("pt", "BR"))); return df.format(val); } return null; @@ -35,8 +37,10 @@ public class StringDecimalToDecimalConverter implements TypeConverter { } if (val instanceof String) { + + System.out.println(val.toString()); - return (val.toString().trim().isEmpty()) ? (BigDecimal) null : new BigDecimal(val.toString().replace(",", "")); + return (val.toString().trim().isEmpty()) ? (BigDecimal) null : new BigDecimal(val.toString().replace(".", "").replace(",", ".")); } return null; } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/StringPercentToDecimalConverter.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/StringPercentToDecimalConverter.java new file mode 100644 index 000000000..a23b25a13 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/StringPercentToDecimalConverter.java @@ -0,0 +1,46 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.utilerias; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.util.Locale; + +import org.zkoss.zk.ui.Component; +import org.zkoss.zkplus.databind.TypeConverter; + +/** + * + * @author Administrador + */ +public class StringPercentToDecimalConverter implements TypeConverter { + + private static final String FORMAT = "#####0.00"; + + public Object coerceToUi(Object val, Component comp) { + if (val != null) { + String format = (String) comp.getAttribute("format"); + if (format == null) { + format = FORMAT; + } + DecimalFormat df = new DecimalFormat(format, new java.text.DecimalFormatSymbols(new Locale("us"))); + return df.format(val); + } + return null; + } + + public Object coerceToBean(Object val, Component cmpnt) { + if (val == null) { + return null; + } + + if (val instanceof String) { + + return (val.toString().trim().isEmpty()) ? (BigDecimal) null : new BigDecimal(val.toString().replace(",", "")); + } + return null; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaImposto.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaImposto.java new file mode 100644 index 000000000..d6b6fc567 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaImposto.java @@ -0,0 +1,30 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +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.EmpresaImposto; + +/** + * + * @author Bruno H. G. Gouvêa + * + */ +public class RenderEmpresaImposto implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + EmpresaImposto empresaImposto = (EmpresaImposto) o; + + Listcell lc = new Listcell(empresaImposto.getEstado().getNombestado()); + lc.setParent(lstm); + + + + lstm.setAttribute("data", empresaImposto); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index b042a9730..baf8662a8 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -101,6 +101,7 @@ com.rjconsultores.ventaboletos.entidad.Division com.rjconsultores.ventaboletos.entidad.Empleado com.rjconsultores.ventaboletos.entidad.Empresa + com.rjconsultores.ventaboletos.entidad.EmpresaImposto com.rjconsultores.ventaboletos.entidad.EmpresaEquivalencia com.rjconsultores.ventaboletos.entidad.Estacion diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index bfea59f58..8e3d5e008 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -506,6 +506,7 @@ editarEmpresaController.equivalenciaElektraId.label = Equivalencia editarEmpresaController.rfc.label = DOC editarEmpresaController.cnpj.label = CNPJ editarEmpresaController.endereco.label = Endereço +editarEmpresaController.impostos.label = Impostos editarEmpresaController.logradouro.label = Logradouro editarEmpresaController.numero.label = Numero editarEmpresaController.complemento.label = Complemento @@ -514,6 +515,45 @@ editarEmpresaController.bairro.label = Bairro editarEmpresaController.cidade.label = Cidade editarEmpresaController.estado.label = Estado + +#Empresa Imposto +editarEmpresaImpostoController.window.title = Configuração de Imposto por Empresa/Estado +editarEmpresaImpostoController.labelIcms.value = ICMS +editarEmpresaImpostoController.labelRedMunicial.value = Redutor ICMS Intermunicipal +editarEmpresaImpostoController.labelRedEstadual.value = Redutor ICMS Interestadual +editarEmpresaImpostoController.labelRedIcms.value = Redutor Base de Cálculo ICMS +editarEmpresaImpostoController.btnApagar.tooltiptext = Eliminar +editarEmpresaImpostoController.btnSalvar.tooltiptext = Salvar +editarEmpresaImpostoController.btnFechar.tooltiptext = Fechar + +editarEmpresaImpostoController.lblValores.value = Valores +editarEmpresaImpostoController.lblBasedeCalculo.value = Base de Cálculo ICMS Intermunicipal +editarEmpresaImpostoController.lblBasedeCalculoInterestadual.value = Base de Cálculo ICMS Interestadual + +editarEmpresaImpostoController.window.sucessoApagar=Configuração de imposto apagada com sucesso! +editarEmpresaImpostoController.window.sucessoSalvar=Configuração de imposto salva com sucesso! + +editarEmpresaImpostoController.lblTarifa.value = Tarifa +editarEmpresaImpostoController.lblSeguro.value = Seguro +editarEmpresaImpostoController.lblTxEmbarque.value = Taxa de embarque +editarEmpresaImpostoController.lblPedagio.value = Pedagio +editarEmpresaImpostoController.lblAltaTemporada.value = Alta Temporada +editarEmpresaImpostoController.lblJaneiro.value = Janeiro +editarEmpresaImpostoController.lblFevereiro.value = Fevereiro +editarEmpresaImpostoController.lblMarco.value = Março +editarEmpresaImpostoController.lblAbril.value = Abril +editarEmpresaImpostoController.lblMaio.value = Maio +editarEmpresaImpostoController.lblJunho.value = Junho +editarEmpresaImpostoController.lblJulho.value = Julho +editarEmpresaImpostoController.lblAgosto.value = Agosto +editarEmpresaImpostoController.lblSetembro.value = Setembro +editarEmpresaImpostoController.lblOutubro.value = Outubro +editarEmpresaImpostoController.lblNovembro.value = Novembro +editarEmpresaImpostoController.lblDezembro.value = Dezembro +editarEmpresaImpostoController.lblOutrosIsento.value = Tratar outros como isento + + + # Muestra o ponto de Pesquisa de Venda busquedaPuntoVentaController.window.title = Ponto de Venda ( Agência ) busquedaPuntoVentaController.btnRefresh.tooltiptext = Atualizar diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 65d734a73..25ac90f88 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -31,6 +31,8 @@ label="${c:l('editarEmpresaController.lbNome.value')}" /> + @@ -149,6 +151,43 @@ + + + + + + + + +