From 136365f087dba2ebf2de5fd9b8d572be9d80783c Mon Sep 17 00:00:00 2001 From: valdir Date: Tue, 12 Jan 2021 20:38:40 +0000 Subject: [PATCH] 0021013: glpi 30911 - XML para Contabilidade bug#21013 dev:wilian qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@104998 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../catalogos/EditarEmpresaController.java | 92 ++++++++++++++++++- web/WEB-INF/i3-label_es_MX.label | 5 + web/WEB-INF/i3-label_pt_BR.label | 5 + web/gui/catalogos/editarEmpresa.zul | 14 +++ 4 files changed, 115 insertions(+), 1 deletion(-) 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 0f1a60a09..091a37603 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 @@ -13,7 +13,11 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.lang.BooleanUtils; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import org.brazilutils.br.cpfcnpj.Cnpj; +import org.brazilutils.br.cpfcnpj.Cpf; +import org.brazilutils.validation.ValidationException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; @@ -31,7 +35,6 @@ import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Image; import org.zkoss.zul.Intbox; -import org.zkoss.zul.Label; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Radio; import org.zkoss.zul.Row; @@ -293,6 +296,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private Radio radGrupoLinhasLinhaOriginal; private Radio radGrupoLinhasAproveitamentoSeletivo; + private MyTextbox txtCpfCnpj_AutorizadoDowload; + private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; @@ -648,6 +653,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { chkIndSegundaViaFechamentoCaixa.getValue(); chkIndExigeBpeExcessoBagagem.getValue(); chkIndMantemVdaCajaVdaEmbarcada.getValue(); + txtCpfCnpj_AutorizadoDowload.getValue(); rdCst00.getValue(); rdCst40.getValue(); @@ -660,6 +666,13 @@ public class EditarEmpresaController extends MyGenericForwardComposer { txtEmail.focus(); return; } + + if(!validarCPFCNPJ(txtCpfCnpj_AutorizadoDowload.getValue())) { + txtCpfCnpj_AutorizadoDowload.focus(); + return; + } else if(StringUtils.isBlank(txtCpfCnpj_AutorizadoDowload.getValue())) { + empresa.setCpfCnpjAutDownload(null); + } boolean isBPe = false; @@ -1819,4 +1832,81 @@ public class EditarEmpresaController extends MyGenericForwardComposer { } + public void onBlur$txtCpfCnpj_AutorizadoDowload(Event event) { + String numDoc = txtCpfCnpj_AutorizadoDowload.getValue(); + + validarCPFCNPJ(numDoc); + } + + private boolean validarCPFCNPJ(String numDoc) { + try { + if(numDoc == null) { + return true; + } + + numDoc = numDoc.trim(); + + String msg = ""; + + if(StringUtils.isNotBlank(numDoc)) { + Boolean documentoValido = false; + if(numDoc.length() == 11) { + if(!isCPFValido(numDoc)) { + msg = "editarEmpresaController.cpfCnpjAutorizadoDownload.CPFincorreto"; + } + } else if(numDoc.length() == 14) { + if(!isCNPJValido(numDoc)) { + msg = "editarEmpresaController.cpfCnpjAutorizadoDownload.CNPJincorreto"; + } + } else { //Se o tamanho estiver errado + msg = "editarEmpresaController.cpfCnpjAutorizadoDownload.CPFCNPJincorreto"; + } + } + + if(StringUtils.isNotBlank(msg)) { + Messagebox.show(Labels.getLabel(msg), Labels.getLabel("editarEmpresaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + return true; + } catch (Exception e) { + log.error("Erro ao validar CPF/CNPJ: ", e); + return false; + } + } + + private Boolean isCPFValido(String numDoc) { + try { + // O Validador não pegava os CPFs com todos os numeros iguais + if (numDoc.length() != 11 || numDoc.equals("00000000000") || numDoc.equals("11111111111") || numDoc.equals("22222222222") || + numDoc.equals("33333333333") || numDoc.equals("44444444444") || numDoc.equals("55555555555") || + numDoc.equals("66666666666") || numDoc.equals("77777777777") || numDoc.equals("88888888888") || + numDoc.equals("99999999999")) { + return false; + } + + Cpf cpf = new Cpf(numDoc); + if(!cpf.isValid()) { + return false; + } + } catch (ValidationException e) { + return false; + } + + return true; + } + + private Boolean isCNPJValido(String numDoc) { + try { + Cnpj cnpj = new Cnpj(numDoc); + if(!cnpj.isValid()) { + return false; + } + } catch (ValidationException e) { + return false; + } + + return true; + } } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 39371adc5..9531aff34 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -1367,6 +1367,11 @@ editarEmpresaController.tarBPe.label = TAR editarEmpresaController.crtBPe.label = CRT editarEmpresaController.cnpjAutorizadora.label = CNPJ Autorizadora editarEmpresaController.endereco.label = Dirección +editarEmpresaController.cpfCnpjAutorizadoDownload.label = CPF/CNPJ Autorizado para download +editarEmpresaController.cpfCnpjAutorizadoDownload.ajuda = Campo não é obrigatório. Se preenchido será enviado no XML do BPe o cnpj de empresa ou cpf do contador autorizado para download do XML do DF-e. +editarEmpresaController.cpfCnpjAutorizadoDownload.CPFincorreto = CPF autorizado para Download inválido, verifique o campo. +editarEmpresaController.cpfCnpjAutorizadoDownload.CNPJincorreto = CNPJ autorizado para Download inválido, verifique o campo. +editarEmpresaController.cpfCnpjAutorizadoDownload.CPFCNPJincorreto = CNPJ/CPF autorizado para Download inválido, verifique o campo.editarEmpresaController.endereco.label = Dirección editarEmpresaController.impostos.label = Impuestos editarEmpresaController.logradouro.label = Logradouro editarEmpresaController.numero.label = Numero diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 6e12ffbcf..88a393167 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1481,6 +1481,11 @@ editarEmpresaController.cnae.label = CNAE editarEmpresaController.tarBPe.label = TAR editarEmpresaController.crtBPe.label = CRT editarEmpresaController.cnpjAutorizadora.label = CNPJ Autorizadora +editarEmpresaController.cpfCnpjAutorizadoDownload.label = CPF/CNPJ Autorizado para download +editarEmpresaController.cpfCnpjAutorizadoDownload.ajuda = Campo não é obrigatório. Se preenchido será enviado no XML do BPe o cnpj de empresa ou cpf do contador autorizado para download do XML do DF-e. +editarEmpresaController.cpfCnpjAutorizadoDownload.CPFincorreto = CPF autorizado para Download inválido, verifique o campo. +editarEmpresaController.cpfCnpjAutorizadoDownload.CNPJincorreto = CNPJ autorizado para Download inválido, verifique o campo. +editarEmpresaController.cpfCnpjAutorizadoDownload.CPFCNPJincorreto = CNPJ/CPF autorizado para Download inválido, verifique o campo. editarEmpresaController.fechatarifa.label = Data da Tarifa editarEmpresaController.fechaventa.label = Data da Venda editarEmpresaController.fechasalida.label = Data da Viagem diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 9664b6f5c..009c39e88 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -150,6 +150,20 @@ value="@{winEditarEmpresa$composer.empresa.cnpjAutorizadora}" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" /> + + + + + + + +