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 91ae89e88..019c591ea 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 @@ -33,19 +33,23 @@ import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaContaBancaria; import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; +import com.rjconsultores.ventaboletos.entidad.InstiFinanceira; 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.service.InstiFinanceiraService; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; 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.RenderEmpresaContaBancaria; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaImposto; /** @@ -66,6 +70,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private EstadoService estadoService; @Autowired private CiudadService ciudadService; + @Autowired + private InstiFinanceiraService instFinanceiraService; private Empresa empresa; private MyListbox empresaList; private MyTextbox txtNome; @@ -89,6 +95,14 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private MyTextbox txtInscEstadual; private Button btnRemoverInscEstadual; + private List lsBanco; + private Combobox cmbBanco; + private Textbox txtNomeBanco; + private MyListbox empresaContaBancariaList; + private Textbox txtNumConta; + private Textbox txtNumAgencia; + private List lsEmpresaContaBancaria; + public Empresa getEmpresa() { return empresa; } @@ -137,9 +151,13 @@ public class EditarEmpresaController extends MyGenericForwardComposer { lsEstados = estadoService.buscarNotInEmpresaImposto(empresa); lsTodosEstados = estadoService.obtenerTodos(); lsCidades = new ArrayList(); - + lsBanco = instFinanceiraService.obtenerTodos(); + super.doAfterCompose(comp); + lsEmpresaContaBancaria = new ArrayList(); + empresaContaBancariaList.setItemRenderer(new RenderEmpresaContaBancaria()); + empresaImpostoList.setItemRenderer(new RenderEmpresaImposto()); empresaImpostoList.addEventListener("onDoubleClick", new EventListener() { @Override @@ -164,12 +182,13 @@ public class EditarEmpresaController extends MyGenericForwardComposer { if (empresa.getEmpresaId() != null) { empresa = empresaService.obtenerID(empresa.getEmpresaId()); - lsEmpresaImposto = empresaImpostoService.buscarByEmpresa(empresa); - empresaImpostoList.setData(lsEmpresaImposto); - - inscEstadualList.setData(empresa.getInscricoesEstaduaisActivas()); + inscEstadualList.setData(empresa.getInscricoesEstaduaisActivas()); + + //Contas Bancárias das Empresas + lsEmpresaContaBancaria = empresa.getEmpresaContaBancaria(); + empresaContaBancariaList.setData(lsEmpresaContaBancaria); } txtNome.focus(); @@ -397,4 +416,160 @@ public class EditarEmpresaController extends MyGenericForwardComposer { public void setBtnRemoverInscEstadual(Button btnRemoverInscEstadual) { this.btnRemoverInscEstadual = btnRemoverInscEstadual; } -} + + public void onSelect$cmbBanco() { + InstiFinanceira banco = (InstiFinanceira) cmbBanco.getSelectedItem().getValue(); + txtNomeBanco.setValue(banco.getNome()); + } + + public List getLsBanco() { + return lsBanco; + } + + public void setLsBanco(List lsBanco) { + this.lsBanco = lsBanco; + } + + public Combobox getCmbBanco() { + return cmbBanco; + } + + public void setCmbBanco(Combobox cmbBanco) { + this.cmbBanco = cmbBanco; + } + + public Textbox getTxtNomeBanco() { + return txtNomeBanco; + } + + public void setTxtNomeBanco(Textbox txtNomeBanco) { + this.txtNomeBanco = txtNomeBanco; + } + + public MyListbox getEmpresaContaBancariaList() { + return empresaContaBancariaList; + } + + public void setEmpresaContaBancariaList(MyListbox empresaContaBancariaList) { + this.empresaContaBancariaList = empresaContaBancariaList; + } + + public Textbox getTxtNumConta() { + return txtNumConta; + } + + public void setTxtNumConta(Textbox txtNumConta) { + this.txtNumConta = txtNumConta; + } + + public Textbox getTxtNumAgencia() { + return txtNumAgencia; + } + + public void setTxtNumAgencia(Textbox txtNumAgencia) { + this.txtNumAgencia = txtNumAgencia; + } + + public void onClick$btnRemoverContaBancaria(Event ev) { + + EmpresaContaBancaria empresaToRemove = (EmpresaContaBancaria) empresaContaBancariaList.getSelected(); + + if (empresaToRemove != null) { + lsEmpresaContaBancaria.remove(empresaToRemove); + empresaToRemove.setFecmodif(Calendar.getInstance().getTime()); + empresaToRemove.setActivo(Boolean.FALSE); + empresaToRemove.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + lsEmpresaContaBancaria.add(empresaToRemove); + empresaContaBancariaList.updateItem(empresaToRemove); + empresaContaBancariaList.removeItem(empresaToRemove); + empresa.setEmpresaContaBancaria(lsEmpresaContaBancaria); + } else { + try { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.selecioneUmItem"), + Labels.getLabel("editarEmpresaController.contaBancaria.label"), + Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException e) { + log.error("editarEmpresaController: " + e); + } + } + } + + public void onClick$btnAdicionarContaBancaria(Event ev) throws InterruptedException { + + if(infoContaBancariaValida()) { + InstiFinanceira instiFinanceira = (InstiFinanceira) cmbBanco.getSelectedItem().getValue(); + String numConta = txtNumConta.getValue(); + String numAgencia = txtNumAgencia.getValue(); + + EmpresaContaBancaria empresaContaBancariaToAdd = new EmpresaContaBancaria(); + empresaContaBancariaToAdd.setActivo(Boolean.TRUE); + empresaContaBancariaToAdd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + empresaContaBancariaToAdd.setFecmodif(Calendar.getInstance().getTime()); + empresaContaBancariaToAdd.setEmpresa(empresa); + empresaContaBancariaToAdd.setInstituicaoFinandeira(instiFinanceira); + empresaContaBancariaToAdd.setNumAgencia(numAgencia); + empresaContaBancariaToAdd.setNumConta(numConta); + + boolean achou = Boolean.FALSE; + for (EmpresaContaBancaria empresaContaBancariaInTheList : lsEmpresaContaBancaria) { + if(empresaContaBancariaInTheList.equals(empresaContaBancariaToAdd)) { + achou = Boolean.TRUE; + } + } + + if(!achou) { + lsEmpresaContaBancaria.add(empresaContaBancariaToAdd); + empresa.setEmpresaContaBancaria(lsEmpresaContaBancaria); + } + + List tempList = new ArrayList(); + if(lsEmpresaContaBancaria != null) { + for (EmpresaContaBancaria empresaContaBancaria : lsEmpresaContaBancaria) { + if(empresaContaBancaria.getActivo()) { + tempList.add(empresaContaBancaria); + } + } + } + + empresaContaBancariaList.setData(tempList); + clearContaBancaria(); + } + } + + private void clearContaBancaria() { + cmbBanco.setSelectedItem(null); + txtNumAgencia.setValue(null); + txtNumConta.setValue(null); + txtNomeBanco.setValue(null); + } + + private boolean infoContaBancariaValida() throws InterruptedException { + + if (cmbBanco.getSelectedItem().getValue() == null) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.informeBanco"), + Labels.getLabel("editarEmpresaController.contaBancaria.label"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if(txtNumConta.getValue() == null) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.informeConta"), + Labels.getLabel("editarEmpresaController.contaBancaria.label"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if(txtNumAgencia.getValue() == null) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.informeAgencia"), + Labels.getLabel("editarEmpresaController.contaBancaria.label"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java index 5879f1342..af1f7d3b9 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java @@ -65,6 +65,7 @@ import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Colonia; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaContaBancaria; import com.rjconsultores.ventaboletos.entidad.FechamentoParamptovta; import com.rjconsultores.ventaboletos.entidad.FormaPago; import com.rjconsultores.ventaboletos.entidad.FormaPagoDet; @@ -117,6 +118,7 @@ import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales.FechamentoParamptovtaListItemRenderer; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; @@ -210,6 +212,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private List lsEmpresasBloquear; private List lsEmpresas; + private List lsEmpresaContaBancarias; private List lsBanco; private List lsTipoPuntoVenta; private List lsMoneda; @@ -269,6 +272,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private Combobox cmbReceita; private Combobox cmbEmpresaComissao; private Combobox cmbEmpresas; + private MyComboboxEstandar cmbEmpresasContaBancarias; private Combobox cmbCategorias; private Combobox cmbEmpresaFechamentoParamptovta; private Combobox cmbLogFiles; @@ -828,6 +832,19 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { InstiFinanceira banco = (InstiFinanceira) cmbBanco.getSelectedItem().getValue(); txtNomeBanco.setValue(banco.getNome()); } + + public void onSelect$cmbEmpresaPtoVta() { + + Empresa empresa = (Empresa) cmbEmpresaPtoVta.getSelectedItem().getValue(); + lsEmpresaContaBancarias = ptovtaBancoService.buscarContasBancariasPorIdEmpresa(empresa.getEmpresaId()); + + if(lsEmpresaContaBancarias != null && !lsEmpresaContaBancarias.isEmpty()) { + cmbEmpresasContaBancarias.setModel(new BindingListModelList(lsEmpresaContaBancarias, true)); + } else { + cmbEmpresasContaBancarias.setModel(new BindingListModelList(new ArrayList(), true)); + cmbEmpresasContaBancarias.setSelectedItem(null); + } + } public void onClick$ckIsento(Event ev) { if (ckIsento.isChecked()) { @@ -1697,7 +1714,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { ptovtaEmpresa.setIndTerceirizada(checkPtoVtaEmpresaIndTerceirizada.isChecked()); ptovtaEmpresa.setIndBloqueada(checkPtoVtaEmpresaIndBloqueada.isChecked()); ptovtaEmpresa.setNumeroSitef(txtNumeroSitef.getText()); - + ptovtaEmpresa.setEmpresaContaBancaria((EmpresaContaBancaria) cmbEmpresasContaBancarias.getSelectedItem().getValue()); lsPtovtaEmpresa.add(ptovtaEmpresa); List lsP = new ArrayList(); @@ -2719,5 +2736,20 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { public Boolean isPermissaoEditarComissao() { return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_EDITAR_COMISSAO); } - -} + + public List getLsEmpresaContaBancarias() { + return lsEmpresaContaBancarias; + } + + public void setLsEmpresaContaBancarias(List lsEmpresaContaBancarias) { + this.lsEmpresaContaBancarias = lsEmpresaContaBancarias; + } + + public MyComboboxEstandar getCmbEmpresasContaBancarias() { + return cmbEmpresasContaBancarias; + } + + public void setCmbEmpresasContaBancarias(MyComboboxEstandar cmbEmpresasContaBancarias) { + this.cmbEmpresasContaBancarias = cmbEmpresasContaBancarias; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/PtovtaEmpresaRender.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/PtovtaEmpresaRender.java index 5fa594194..d4cfab580 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/PtovtaEmpresaRender.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/PtovtaEmpresaRender.java @@ -31,6 +31,9 @@ public class PtovtaEmpresaRender implements ListitemRenderer { lc = new Listcell(ptoVta.getIndBloqueada() != null ? ptoVta.getNumeroSitef() : ""); lc.setParent(lstm); + + lc = new Listcell(ptoVta.getEmpresaContaBancaria() != null ? ptoVta.getEmpresaContaBancaria().toString() : ""); + lc.setParent(lstm); lstm.setAttribute("data", ptoVta); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaContaBancaria.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaContaBancaria.java new file mode 100644 index 000000000..f7273fd14 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaContaBancaria.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.EmpresaContaBancaria; + +public class RenderEmpresaContaBancaria implements ListitemRenderer { + + @Override + public void render(Listitem listItem, Object selectedEmpresaContaBancaria) throws Exception { + + Listcell lc = new Listcell(); + + if(selectedEmpresaContaBancaria != null) { + EmpresaContaBancaria empresaContaBancaria = (EmpresaContaBancaria) selectedEmpresaContaBancaria; + + lc = new Listcell(empresaContaBancaria.getInstituicaoFinandeira() != null ? empresaContaBancaria.getInstituicaoFinandeira().getNome() : ""); + lc.setParent(listItem); + lc = new Listcell(empresaContaBancaria.getNumConta() != null ? empresaContaBancaria.getNumConta() : ""); + lc.setParent(listItem); + lc = new Listcell(empresaContaBancaria.getNumAgencia() != null ? empresaContaBancaria.getNumAgencia() : ""); + lc.setParent(listItem); + listItem.setAttribute("data", empresaContaBancaria); + } + } +} \ No newline at end of file diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 793ae2d98..5f61a3da6 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -402,6 +402,7 @@ com.rjconsultores.ventaboletos.entidad.DescontoComissao com.rjconsultores.ventaboletos.entidad.ExcepcionPeaje com.rjconsultores.ventaboletos.entidad.ExcepcionPeajeVigencia + com.rjconsultores.ventaboletos.entidad.EmpresaContaBancaria diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index c574fe61f..a9ed55017 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -782,6 +782,14 @@ editarEmpresaController.estado.label = Estado editarEmpresaController.inscricaoestadual.label=Insc.Estadual editarEmpresaController.lhUFInscEstadual.label=UF editarEmpresaController.telefono.label = Teléfono +editarEmpresaController.contaBancaria.label = Contas Bancárias +editarEmpresaController.contaBancaria.instiFinanceira = Instituição Financeira +editarEmpresaController.contaBancaria.conta = Número da Conta +editarEmpresaController.contaBancaria.agencia = Número da Agência +editarEmpresaController.MSG.informeBanco = Informe o Banco +editarEmpresaController.MSG.informeConta = Informe a Conta +editarEmpresaController.MSG.informeAgencia = Informe a Agência +editarEmpresaController.MSG.selecioneUmItem = Selecione a Conta Bancária a ser Removida #Empresa impuesto editarEmpresaImpostoController.window.title = Configuración de impuesto por empresa/estado @@ -867,6 +875,7 @@ editarPuntoVentaController.lbNumEdirecion.value = Dirección editarPuntoVentaController.lbIndDatosTarjeta.value = Base de datos editarPuntoVentaController.lbNodo.value = Servidor editarPuntoVentaController.lbEmpresa.value = Empresa +editarPuntoVentaController.lbEmpresaContaBancaria.value = Conta Bancária editarPuntoVentaController.lbEmpresaBloqueada.value = Bloqueada editarPuntoVentaController.lbNumeroSitef.value = Número SITEF editarPuntoVentaController.lbEmpresaTerceirizada.value = Terceirizada diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 4efe3d9af..7620214e2 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -818,6 +818,14 @@ editarEmpresaController.estado.label = Estado editarEmpresaController.inscricaoestadual.label=Insc.Estadual editarEmpresaController.lhUFInscEstadual.label=UF editarEmpresaController.telefono.label = Telefone +editarEmpresaController.contaBancaria.label = Contas Bancárias +editarEmpresaController.contaBancaria.instiFinanceira = Instituição Financeira +editarEmpresaController.contaBancaria.conta = Número da Conta +editarEmpresaController.contaBancaria.agencia = Número da Agência +editarEmpresaController.MSG.informeBanco = Informe o Banco +editarEmpresaController.MSG.informeConta = Informe a Conta +editarEmpresaController.MSG.informeAgencia = Informe a Agência +editarEmpresaController.MSG.selecioneUmItem = Selecione a Conta Bancária a ser Removida #Empresa Imposto editarEmpresaImpostoController.window.title = Configuração de Imposto por Empresa/Estado @@ -905,6 +913,7 @@ editarPuntoVentaController.lbNumEdirecion.value = Endereço editarPuntoVentaController.lbIndDatosTarjeta.value = Base de dados editarPuntoVentaController.lbNodo.value = Servidor editarPuntoVentaController.lbEmpresa.value = Empresa +editarPuntoVentaController.lbEmpresaContaBancaria.value = Conta Bancária editarPuntoVentaController.lbEmpresaBloqueada.value = Bloqueada editarPuntoVentaController.lbNumeroSitef.value = Número SITEF editarPuntoVentaController.lbEmpresaTerceirizada.value = Terceirizada diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 8b82ba8bc..e413900cf 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -7,7 +7,7 @@ @@ -27,15 +27,11 @@ - - - - - + + + + + @@ -250,7 +246,57 @@ - + + + + + + + + + + + + + + + +