From d4b954742b706790c898c98efb6394e76a91dcc5 Mon Sep 17 00:00:00 2001 From: Lucas Date: Wed, 21 Aug 2024 20:35:17 -0300 Subject: [PATCH 1/3] AL-4824 --- .../catalogos/EditarEmpresaController.java | 92 ++++++++++++++++++- .../RenderEmpresaSicfeFormasPagamento.java | 54 +++++++++++ web/WEB-INF/i3-label_en.label | 3 + web/WEB-INF/i3-label_es_MX.label | 3 + web/WEB-INF/i3-label_fr_FR.label | 3 + web/WEB-INF/i3-label_pt_BR.label | 3 + web/gui/catalogos/editarEmpresa.zul | 29 +++++- 7 files changed, 180 insertions(+), 7 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaSicfeFormasPagamento.java 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 99907a069..46bdad982 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 @@ -49,6 +49,7 @@ import org.zkoss.util.resource.Labels; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.UiException; +import org.zkoss.zk.ui.event.DropEvent; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.InputEvent; @@ -64,6 +65,7 @@ import org.zkoss.zul.Groupbox; import org.zkoss.zul.Image; import org.zkoss.zul.Intbox; import org.zkoss.zul.Label; +import org.zkoss.zul.Listitem; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Radio; import org.zkoss.zul.Row; @@ -166,6 +168,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaContaBan import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaEmpresaConfigLayout; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaImposto; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaInscricaoEstadual; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaSicfeFormasPagamento; /** * @@ -582,12 +585,16 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private Textbox txtSicfeDepartamento; private Textbox txtSicfeEndereco; private Textbox txtSicfeRazaoSocial; + private Textbox txtSicfeSucursal; private MyCheckboxSiNo chkSicfeUsaRUTCliente; private MyCheckboxSiNo chkSicfeUsaTermica; private MyCheckboxSiNo chkSicfeDesconto100Emite; private MyCheckboxSiNo chkSicfeCreditoOrdemServico; + private MyListbox empresaFormasPagamentoSicfe; + private MyListbox empresaFormasPagamentoSicfeSelecionado; + private Checkbox chkIndProducaoCrediBanco; private Textbox txtUsuarioCrediBanco; private Textbox txtSenhaCrediBanco; @@ -986,7 +993,12 @@ public class EditarEmpresaController extends MyGenericForwardComposer { ckIsento.setChecked(true); empresaLayoutConfigList.setItemRenderer(new RenderEmpresaEmpresaConfigLayout()); - + + empresaFormasPagamentoSicfe.setItemRenderer(new RenderEmpresaSicfeFormasPagamento()); + empresaFormasPagamentoSicfeSelecionado.setItemRenderer(new RenderEmpresaSicfeFormasPagamento()); + empresaFormasPagamentoSicfe.addEventListener("onDrop", new _DragEvent()); + empresaFormasPagamentoSicfeSelecionado.addEventListener("onDrop", new _DragEvent()); + if (empresa.getEmpresaId() != null) { empresa = empresaService.obtenerID(empresa.getEmpresaId()); lsEmpresaImposto = empresaImpostoService.buscarByEmpresa(empresa); @@ -1797,7 +1809,30 @@ public class EditarEmpresaController extends MyGenericForwardComposer { chkSicfeUsaRUTCliente.setChecked(BooleanUtils.toBoolean(mapConfigSicfe.get("indRUTCliente"))); chkSicfeUsaTermica.setChecked(BooleanUtils.toBoolean(mapConfigSicfe.get("indUsaTermica"))); chkSicfeDesconto100Emite.setChecked(BooleanUtils.toBoolean(mapConfigSicfe.get("indDesconto100Emite"))); - chkSicfeCreditoOrdemServico.setChecked(BooleanUtils.toBoolean(mapConfigSicfe.get("indCreditoOrdemServico"))); + txtSicfeSucursal.setText(mapConfigSicfe.get("sucursal")); + } + + String[] valorSelecionado = mapConfigSicfe.get("formasPagoOrdemServico") != null + ? mapConfigSicfe.get("formasPagoOrdemServico").toString().replace("[", "").replace("]", "") + .replace(" ", "").trim().split(",") + : null; + + int tamanhoSelecionado = valorSelecionado != null ? valorSelecionado.length : 0; + + Short[] selecionados = new Short[tamanhoSelecionado]; + + for (int i = 0; i < tamanhoSelecionado; i++) { + if (StringUtils.isNotBlank(valorSelecionado[i])) { + selecionados[i] = Short.valueOf(valorSelecionado[i]); + } else { + selecionados[i] = -1; + } + } + + empresaFormasPagamentoSicfe.setData(formaPagoService.buscarNotIn(selecionados)); + + if (selecionados.length > 0) { + empresaFormasPagamentoSicfeSelecionado.setData(formaPagoService.buscarIn(selecionados)); } } @@ -1825,7 +1860,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer { salvaValoresSicfe("indRUTCliente", String.valueOf(chkSicfeUsaRUTCliente.isChecked()), mapConfigSicfe); salvaValoresSicfe("indUsaTermica", String.valueOf(chkSicfeUsaTermica.isChecked()), mapConfigSicfe); salvaValoresSicfe("indDesconto100Emite", String.valueOf(chkSicfeDesconto100Emite.isChecked()), mapConfigSicfe); - salvaValoresSicfe("indCreditoOrdemServico", String.valueOf(chkSicfeCreditoOrdemServico.isChecked()), mapConfigSicfe); + salvaValoresSicfe("formasPagoOrdemServico", Arrays.asList(retornaIdsFormaPagamento(empresaFormasPagamentoSicfeSelecionado.getListData())), mapConfigSicfe); + salvaValoresSicfe("sucursal", txtSicfeSucursal.getValue(), mapConfigSicfe); } private Map retornaValoresSicfe() { @@ -3379,6 +3415,40 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException { validarCPFCNPJ(numDoc); } + private class _DragEvent implements EventListener { + @Override + public void onEvent(Event event) throws Exception { + + MyListbox droppedListbox = (MyListbox) (((DropEvent) event).getTarget()); + Listitem draggedListitem = (Listitem) ((DropEvent) event).getDragged(); + MyListbox draggedListBox = (MyListbox) draggedListitem.getParent(); + + if (draggedListitem instanceof Listitem) { + + if (!droppedListbox.equals(draggedListBox)) { + if (draggedListitem.getIndex() >= 0) { + droppedListbox + .addItemNovo(draggedListBox.getListModel().getElementAt(draggedListitem.getIndex())); + draggedListBox + .removeItem(draggedListBox.getListModel().getElementAt(draggedListitem.getIndex())); + + } + } + + } else { + droppedListbox.appendChild(draggedListitem); + } + } + } + + private Short[] retornaIdsFormaPagamento(List idFormasPagos) { + Short[] retorno = new Short[idFormasPagos.size()]; + for (int i = 0; i < idFormasPagos.size(); i++) { + retorno[i] = idFormasPagos.get(i).getFormapagoId(); + } + return retorno; + } + public void uploadFile(UploadEvent event) { org.zkoss.util.media.Media media = event.getMedia(); @@ -3806,5 +3876,21 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException { public void setEmpresaLayoutConfigList(MyListbox empresaLayoutConfigList) { this.empresaLayoutConfigList = empresaLayoutConfigList; } + + public MyListbox getEmpresaFormasPagamentoSicfe() { + return empresaFormasPagamentoSicfe; + } + + public void setEmpresaFormasPagamentoSicfe(MyListbox empresaFormasPagamentoSicfe) { + this.empresaFormasPagamentoSicfe = empresaFormasPagamentoSicfe; + } + + public MyListbox getEmpresaFormasPagamentoSicfeSelecionado() { + return empresaFormasPagamentoSicfeSelecionado; + } + + public void setEmpresaFormasPagamentoSicfeSelecionado(MyListbox empresaFormasPagamentoSicfeSelecionado) { + this.empresaFormasPagamentoSicfeSelecionado = empresaFormasPagamentoSicfeSelecionado; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaSicfeFormasPagamento.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaSicfeFormasPagamento.java new file mode 100644 index 000000000..e4d3fb92c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaSicfeFormasPagamento.java @@ -0,0 +1,54 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zk.ui.event.DropEvent; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.FormaPago; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +public class RenderEmpresaSicfeFormasPagamento implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object selected) throws Exception { + + lstm.addEventListener("onDrop", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + + Listitem droppedListitem = (Listitem) (((DropEvent) event).getTarget()); + Listitem draggedListitem = (Listitem) ((DropEvent) event).getDragged(); + + MyListbox droppedListBox = (MyListbox) droppedListitem.getParent(); + MyListbox draggedListBox = (MyListbox) draggedListitem.getParent(); + + if (draggedListitem instanceof Listitem) { + + if (!droppedListBox.equals(draggedListBox)) { + if (draggedListitem.getIndex() > -1) { + droppedListBox.addItemNovo(draggedListitem.getIndex(), + draggedListBox.getListModel().getElementAt(draggedListitem.getIndex())); + draggedListBox + .removeItem(draggedListBox.getListModel().getElementAt(draggedListitem.getIndex())); + } + } + } else { + droppedListBox.insertBefore(draggedListitem, droppedListitem); + } + } + }); + + FormaPago entity = (FormaPago) selected; + + Listcell lc = new Listcell(entity.getDescpago()); + lc.setParent(lstm); + + lstm.setDroppable("true"); + lstm.setDraggable("true"); + lstm.setAttribute("data", entity); + + } +} \ No newline at end of file diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 4ac948396..445b2c5c0 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -4804,6 +4804,9 @@ editarEmpresaController.sicfe.txtSicfeTicket = Ticket Sicfe editarEmpresaController.sicfe.txtSicfeTipoDocRecepcao = Reception Doc Type editarEmpresaController.sicfe.txtSicfeURL = WebService URL editarEmpresaController.sicfe.txtSicfeUSR = USR WebService +editarEmpresaController.sicfe.txtSicfeSucursal = Sucursal +editarEmpresaController.sicfe.empresaFormasPagamentoSicfe = Hold and drag the payment methods that issue Credit to the table on the right. +editarEmpresaController.sicfe.empresaFormasPagamentoSicfeSelecionado = Selected payment methods editarEmpresaController.subTabComprovanteEmail.value = Email editarEmpresaController.subTabComprovanteImpressao.value = Print editarEmpresaController.subTabComprovanteSMS.value = SMS diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index a8e681fb5..4a2f73360 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -4802,6 +4802,9 @@ editarEmpresaController.sicfe.txtSicfeTicket = Boleto Sicfe editarEmpresaController.sicfe.txtSicfeTipoDocRecepcao = Tipo Doc Recepción editarEmpresaController.sicfe.txtSicfeURL = URL WebService editarEmpresaController.sicfe.txtSicfeUSR = USR WebService +editarEmpresaController.sicfe.txtSicfeSucursal = Sucursal +editarEmpresaController.sicfe.empresaFormasPagamentoSicfe = Mantenga presionados y arrastre los métodos de pago que emiten crédito a la tabla de la derecha. +editarEmpresaController.sicfe.empresaFormasPagamentoSicfeSelecionado = Métodos de pago seleccionados editarEmpresaController.subTabComprovanteEmail.value = E-mail editarEmpresaController.subTabComprovanteImpressao.value = Imprimir editarEmpresaController.subTabComprovanteSMS.value = SMS diff --git a/web/WEB-INF/i3-label_fr_FR.label b/web/WEB-INF/i3-label_fr_FR.label index 247e6fcea..8e51fe516 100644 --- a/web/WEB-INF/i3-label_fr_FR.label +++ b/web/WEB-INF/i3-label_fr_FR.label @@ -4802,6 +4802,9 @@ editarEmpresaController.sicfe.txtSicfeTicket = Billet Sicfe editarEmpresaController.sicfe.txtSicfeTipoDocRecepcao = Tapez Réception Doc editarEmpresaController.sicfe.txtSicfeURL = URL WebService editarEmpresaController.sicfe.txtSicfeUSR = USR WebService +editarEmpresaController.sicfe.txtSicfeSucursal = Sucursal +editarEmpresaController.sicfe.empresaFormasPagamentoSicfe = Maintenez enfoncé et faites glisser les méthodes de paiement qui émettent du crédit vers le tableau de droite. +editarEmpresaController.sicfe.empresaFormasPagamentoSicfeSelecionado = Modes de paiement sélectionnés editarEmpresaController.subTabComprovanteEmail.value = E-mail editarEmpresaController.subTabComprovanteImpressao.value = Imprimer editarEmpresaController.subTabComprovanteSMS.value = SMS diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 4e523bb06..2fc90c710 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -4798,6 +4798,9 @@ editarEmpresaController.sicfe.txtSicfeTicket = Ticket Sicfe editarEmpresaController.sicfe.txtSicfeTipoDocRecepcao = Tipo Doc Recepção editarEmpresaController.sicfe.txtSicfeURL = URL WebService editarEmpresaController.sicfe.txtSicfeUSR = USR WebService +editarEmpresaController.sicfe.txtSicfeSucursal = Sucursal +editarEmpresaController.sicfe.empresaFormasPagamentoSicfe = Segure e arraste para a tabela da direita as formas de pagamento que emitem Credito. +editarEmpresaController.sicfe.empresaFormasPagamentoSicfeSelecionado = Formas de pagamento selecionadas editarEmpresaController.subTabComprovanteEmail.value = E-mail editarEmpresaController.subTabComprovanteImpressao.value = Impressão editarEmpresaController.subTabComprovanteSMS.value = SMS diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 777506da6..9e6049e3e 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -2754,10 +2754,27 @@