From f8eb0803603d9a742c5546ef3594238033f3b424 Mon Sep 17 00:00:00 2001 From: "daniel.zauli" Date: Tue, 4 Feb 2020 15:01:52 +0000 Subject: [PATCH] 0017509: [BPe] GLPI 16571 - Aliquota por UF de destino bug#0017509 dev:Valdevir qua:Debora git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@100024 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../EditarEmpresaImpostoController.java | 129 +++- .../render/RenderAliquotaEstadoDestino.java | 28 + src/java/spring-config.xml | 3 +- web/WEB-INF/i3-label_es_MX.label | 4 + web/WEB-INF/i3-label_pt_BR.label | 8 +- web/gui/catalogos/editarEmpresaImposto.zul | 604 +++++++++++------- 6 files changed, 511 insertions(+), 265 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAliquotaEstadoDestino.java 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 index 21959bba3..434e630ba 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaImpostoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaImpostoController.java @@ -5,6 +5,8 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; import java.math.BigDecimal; +import java.util.Calendar; +import java.util.List; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -14,13 +16,24 @@ 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.zkplus.databind.BindingListModel; +import org.zkoss.zkplus.databind.BindingListModelList; +import org.zkoss.zul.Button; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; import org.zkoss.zul.Messagebox; -import org.zkoss.zul.Radio; +import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.entidad.AliquotaEstadoDestino; import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; +import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.service.AliquotaEstadoDestinoService; import com.rjconsultores.ventaboletos.service.EmpresaImpostoService; +import com.rjconsultores.ventaboletos.service.EstadoService; +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.render.RenderAliquotaEstadoDestino; /** @@ -40,10 +53,25 @@ public class EditarEmpresaImpostoController extends MyGenericForwardComposer { @Autowired private EmpresaImpostoService empresaImpostoService; + @Autowired + private EstadoService estadoService; + + @Autowired + private AliquotaEstadoDestinoService aliquotaEstaDestinoService; + private MyListbox empresaImpostoList; - private Radio radTribEmissao; - private Radio radTribViagem; + private Textbox txtAliquotaEstadoDestino; + private Button btnAdicionarAliquotaEstadoDest; + private Button btnRemoverAliquotaEstadoDest; + private Checkbox chkIndAliquotaBPeUfDestino; + private BigDecimal aliquotaDest; + private Combobox cmbEstadoAliquotaEstadoDestino; + private List lsEstadosAliquotaEstadoDestino; + private Estado selectedEstadoAliquotaEstadoDestino; + private MyListbox aliquotaEstadoDestinoList; + private List lsAliquotaEstadoDestino; + /** * @return the empresaImposto @@ -65,19 +93,29 @@ public class EditarEmpresaImpostoController extends MyGenericForwardComposer { EmpresaImposto empresaImposto = (EmpresaImposto) Executions.getCurrent().getArg().get("empresaImposto"); this.empresaImpostoList = (MyListbox) Executions.getCurrent().getArg().get("empresaImpostoList"); this.empresaImposto = empresaImpostoService.obtenerID(empresaImposto.getEmpresaImpostoId()); - + this.lsEstadosAliquotaEstadoDestino = estadoService.obtenerTodos(); + lsEstadosAliquotaEstadoDestino.remove(empresaImposto.getEstado()); super.doAfterCompose(comp); + aliquotaEstadoDestinoList.setItemRenderer(new RenderAliquotaEstadoDestino()); + empresaImposto.setLsAliquotaEstadoDestino(aliquotaEstaDestinoService.getChildrens(empresaImposto)); + lsAliquotaEstadoDestino = empresaImposto.getLsAliquotaEstadoDestino(); + aliquotaEstadoDestinoList.setData(lsAliquotaEstadoDestino); + boolean isChecked=empresaImposto.getIndAliquotaBPeUfDestino() != null ? empresaImposto.getIndAliquotaBPeUfDestino() : false ; + chkIndAliquotaBPeUfDestino.setChecked(isChecked); + cmbEstadoAliquotaEstadoDestino.setDisabled(!isChecked); + txtAliquotaEstadoDestino.setDisabled(!isChecked); + btnAdicionarAliquotaEstadoDest.setDisabled(!isChecked); + btnRemoverAliquotaEstadoDest.setDisabled(!isChecked); + + + - radTribEmissao.setChecked(empresaImposto.getIndTribEmissao() != null ? empresaImposto.getIndTribEmissao() : false); - radTribViagem.setChecked(empresaImposto.getIndTribViagem() != null ? empresaImposto.getIndTribViagem() : false); } public void onClick$btnEmpresaImpostoSalvar(Event ev) throws InterruptedException { try { - empresaImposto.setIndTribEmissao(radTribEmissao.isChecked()); - empresaImposto.setIndTribViagem(radTribViagem.isChecked()); if(empresaImposto.getPorctributo() == null) { Messagebox.show( @@ -89,6 +127,8 @@ public class EditarEmpresaImpostoController extends MyGenericForwardComposer { setarValoreZero(); + empresaImposto.setLsAliquotaEstadoDestino(lsAliquotaEstadoDestino); + empresaImpostoService.actualizacion(this.empresaImposto); Messagebox.show( Labels.getLabel("editarEmpresaImpostoController.window.sucessoSalvar"), @@ -106,15 +146,42 @@ public class EditarEmpresaImpostoController extends MyGenericForwardComposer { Messagebox.OK, Messagebox.ERROR); } } + + public void onCheck$chkIndAliquotaBPeUfDestino(Event ev) throws InterruptedException { + cmbEstadoAliquotaEstadoDestino.setDisabled(!chkIndAliquotaBPeUfDestino.isChecked()); + txtAliquotaEstadoDestino.setDisabled(!chkIndAliquotaBPeUfDestino.isChecked()); + btnAdicionarAliquotaEstadoDest.setDisabled(!chkIndAliquotaBPeUfDestino.isChecked()); + btnRemoverAliquotaEstadoDest.setDisabled(!chkIndAliquotaBPeUfDestino.isChecked()); + } + + public void onClick$btnAdicionarAliquotaEstadoDest(Event ev) throws InterruptedException { + + if(aliquotaDest == null || selectedEstadoAliquotaEstadoDestino == null) return ; + + AliquotaEstadoDestino a = new AliquotaEstadoDestino(); + a.setEstado(selectedEstadoAliquotaEstadoDestino); + lsEstadosAliquotaEstadoDestino.remove(selectedEstadoAliquotaEstadoDestino); + BindingListModel listAliquotaEstado = new BindingListModelList(lsEstadosAliquotaEstadoDestino, true); + cmbEstadoAliquotaEstadoDestino.setModel(listAliquotaEstado); + a.setAliquota(aliquotaDest); + a.setEmpresaImposto(empresaImposto); + a.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + a.setActivo(Boolean.TRUE); + a.setFecmodif(Calendar.getInstance().getTime()); + lsAliquotaEstadoDestino.add(a); + aliquotaEstadoDestinoList.setData(lsAliquotaEstadoDestino); + + } + + public void onClick$btnRemoverAliquotaEstadoDest(Event ev) throws InterruptedException { + if(lsAliquotaEstadoDestino != null && lsAliquotaEstadoDestino.size() == 0) {return;} + int index = aliquotaEstadoDestinoList.getSelectedItem().getIndex(); + lsEstadosAliquotaEstadoDestino.add(lsAliquotaEstadoDestino.remove(index).getEstado()); + aliquotaEstadoDestinoList.setData(lsAliquotaEstadoDestino); + } + private void setarValoreZero() { - if(empresaImposto.getPorCredMunicipal() == null) { - empresaImposto.setPorCredMunicipal(BigDecimal.ZERO); - } - - if(empresaImposto.getPorCredEstadual() == null) { - empresaImposto.setPorCredEstadual(BigDecimal.ZERO); - } if(empresaImposto.getPorCredBaseIcms() == null) { empresaImposto.setPorCredBaseIcms(BigDecimal.ZERO); @@ -173,4 +240,36 @@ public class EditarEmpresaImpostoController extends MyGenericForwardComposer { } } + public List getLsEstadosAliquotaEstadoDestino() { + return lsEstadosAliquotaEstadoDestino; + } + + public void setLsEstadosAliquotaEstadoDestino(List lsEstadosAliquotaEstadoDestino) { + this.lsEstadosAliquotaEstadoDestino = lsEstadosAliquotaEstadoDestino; + } + + public BigDecimal getAliquotaDest() { + return aliquotaDest; + } + + public void setAliquotaDest(BigDecimal aliquotaDest) { + this.aliquotaDest = aliquotaDest; + } + + public Estado getSelectedEstadoAliquotaEstadoDestino() { + return selectedEstadoAliquotaEstadoDestino; + } + + public void setSelectedEstadoAliquotaEstadoDestino(Estado selectedEstadoAliquotaEstadoDestino) { + this.selectedEstadoAliquotaEstadoDestino = selectedEstadoAliquotaEstadoDestino; + } + + public Checkbox getChkIndAliquotaBPeUfDestino() { + return chkIndAliquotaBPeUfDestino; + } + + public void setChkIndAliquotaBPeUfDestino(Checkbox chkIndAliquotaBPeUfDestino) { + this.chkIndAliquotaBPeUfDestino = chkIndAliquotaBPeUfDestino; + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAliquotaEstadoDestino.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAliquotaEstadoDestino.java new file mode 100644 index 000000000..76096ff23 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAliquotaEstadoDestino.java @@ -0,0 +1,28 @@ +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.AliquotaEstadoDestino; + +public class RenderAliquotaEstadoDestino implements ListitemRenderer { + + @Override + public void render(Listitem listItem, Object selectedAliquotaEstadoDest) throws Exception { + + Listcell lc = new Listcell(); + + if(selectedAliquotaEstadoDest != null) { + + AliquotaEstadoDestino aliquotaEstadoDestino = (AliquotaEstadoDestino) selectedAliquotaEstadoDest; + lc = new Listcell(aliquotaEstadoDestino.getEstado() != null ? aliquotaEstadoDestino.getEstado().getNombestado() : ""); + lc.setParent(listItem); + lc = new Listcell(aliquotaEstadoDestino.getAliquota() != null ? ""+aliquotaEstadoDestino.getAliquota() : ""); + lc.setParent(listItem); + listItem.setAttribute("data", aliquotaEstadoDestino); + + } + + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 3c41b09da..8e78b5b08 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -493,7 +493,8 @@ com.rjconsultores.ventaboletos.entidad.ConfTotem com.rjconsultores.ventaboletos.entidad.TarifaEmbarcada com.rjconsultores.ventaboletos.entidad.TarifaEmbarcadaHist - com.rjconsultores.ventaboletos.entidad.Cotacao + com.rjconsultores.ventaboletos.entidad.Cotacao + com.rjconsultores.ventaboletos.entidad.AliquotaEstadoDestino diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 7ac6049cf..67cd2c7b1 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -1450,6 +1450,10 @@ editarEmpresaImpostoController.labelRedMunicial.value = Reductor ICMS Intermunic editarEmpresaImpostoController.labelRedEstadual.value = Reductor ICMS Interestadual editarEmpresaImpostoController.labelRedIcms.value = Reductor base de cálculo ICMS Interestadual editarEmpresaImpostoController.labelRedIcmsIM.value = Reductor base de cálculo ICMS Intermunicipal +editarEmpresaImpostoController.labelIndAliquotaBPeUfDestino.value = Habilitar alíquota por UF destino +editarEmpresaImpostoController.labelAliquota.value = Alíquota +editarEmpresaController.labelEstadoUFDestino.value = Alíquota ICMS por UF de destino +editarEmpresaController.labelEstadoUFDestino.value = Estado editarEmpresaImpostoController.labelPorctributo.value = % Impuesto editarEmpresaImpostoController.labelTributacaoImportacao.value = Tributacion Importacion BPe editarEmpresaImpostoController.codEstabelecimento.value = Codigo Estabelecimiento diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index f95fa2fe8..88e608e7f 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1571,9 +1571,13 @@ editarEmpresaImpostoController.labelRedMunicial.value = Redutor ICMS Intermunici editarEmpresaImpostoController.labelRedEstadual.value = Redutor ICMS Interestadual editarEmpresaImpostoController.labelRedIcms.value = Redutor Base de Cálculo ICMS Interestadual editarEmpresaImpostoController.labelRedIcmsIM.value = Redutor Base de Cálculo ICMS Intermunicipal +editarEmpresaImpostoController.labelIndAliquotaBPeUfDestino.value = Habilitar alíquota por UF destino +editarEmpresaImpostoController.labelAliquota.value = Alíquota +editarEmpresaController.labelEstadoUFDestino.value = Alíquota ICMS por UF de destino +editarEmpresaController.labelEstado.value = Estado editarEmpresaImpostoController.labelPorctributo.value = Demais Tributos % editarEmpresaImpostoController.labelPorcFECP.value= FECP % -editarEmpresaImpostoController.labelTributacaoImportacao.value = Tributação Importação BPe +editarEmpresaImpostoController.labelTributacaoImportacao.value =Alíquota BPe editarEmpresaImpostoController.codEstabelecimento.value = Código Estabelecimento editarEmpresaImpostoController.codigoContabilMunicipal.value = Código Contabil Municipal editarEmpresaImpostoController.codigoContabilEstadual.value = Código Contabil Estadual @@ -1595,7 +1599,7 @@ editarEmpresaImpostoController.lblTarifa.value = Tarifa editarEmpresaImpostoController.lblSeguro.value = Seguro editarEmpresaImpostoController.lblValidaAliquotaECF.value = Valida Aliquota ECF editarEmpresaImpostoController.lblPossuiRedBaseCalculo.value = Possui Redutor de Base de Cálculo -editarEmpresaImpostoController.lblTxEmbarque.value = Taxa de embarque +editarEmpresaImpostoController.lblTxEmbarque.value = Taxa de emb editarEmpresaImpostoController.lblPedagio.value = Pedagio editarEmpresaImpostoController.lblAltaTemporada.value = Alta Temporada editarEmpresaImpostoController.lblJaneiro.value = Janeiro diff --git a/web/gui/catalogos/editarEmpresaImposto.zul b/web/gui/catalogos/editarEmpresaImposto.zul index 8f24d7e3d..f2ae27080 100644 --- a/web/gui/catalogos/editarEmpresaImposto.zul +++ b/web/gui/catalogos/editarEmpresaImposto.zul @@ -41,63 +41,76 @@ - + - - + - - + - - - + - - - - - - - + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
- - -
-
- - - - - - - - - - - - -
- - - -
-
- - - - - - - - - - - - - - - - - - -
+ + + + +