Validar CNPJ - Camada Servidor - Contribuição



  • Bom dia.

    Tive a necessidade de validar CNPJ na camada servidor mas nas funções do Maker só tinha na camada cliente.

    Caso queiram utilizar, basta modificar a função e colocar esse texto abaixo na caixa de texto JAVA da aba servidor, na função "Validar CNPJ".

    Respeitei o mesmo nome da função, parâmetro e o retorno. Depois de incluir reinicie o webrun. Peço aos amigos da Softwell para analisar e inserir isso na API de funções.

    Abs.

    Função Java:
    ------------------------------------------------------------------
    public static Variant ebfIsCnpj(Variant cnpjParametro) {
    String cnpj=cnpjParametro.toString();
    if (!cnpj.substring(0, 1).equals("")) {
    try {
    cnpj = cnpj.replace('.', ' ');//onde há ponto coloca espaço
    cnpj = cnpj.replace('/', ' ');//onde há barra coloca espaço
    cnpj = cnpj.replace('-', ' ');//onde há traço coloca espaço
    cnpj = cnpj.replaceAll(" ", "");//retira espaço
    int soma = 0, dig;
    String cnpj_calc = cnpj.substring(0, 12);

    if (cnpj.length() != 14) {
    return Variant.VARIANT_FALSE;
    }
    char[] chr_cnpj = cnpj.toCharArray();
    /* Primeira parte */
    for (int i = 0; i < 4; i++) {
    if (chr_cnpj[i] - 48 >= 0 && chr_cnpj[i] - 48 <= 9) {
    soma += (chr_cnpj[i] - 48) * (6 - (i + 1));
    }
    }
    for (int i = 0; i < 8; i++) {
    if (chr_cnpj[i + 4] - 48 >= 0 && chr_cnpj[i + 4] - 48 <= 9) {
    soma += (chr_cnpj[i + 4] - 48) * (10 - (i + 1));
    }
    }
    dig = 11 - (soma % 11);
    cnpj_calc += (dig == 10 || dig == 11) ? "0" : Integer.toString(
    dig);
    /* Segunda parte */
    soma = 0;
    for (int i = 0; i < 5; i++) {
    if (chr_cnpj[i] - 48 >= 0 && chr_cnpj[i] - 48 <= 9) {
    soma += (chr_cnpj[i] - 48) * (7 - (i + 1));
    }
    }
    for (int i = 0; i < 8; i++) {
    if (chr_cnpj[i + 5] - 48 >= 0 && chr_cnpj[i + 5] - 48 <= 9) {
    soma += (chr_cnpj[i + 5] - 48) * (10 - (i + 1));
    }
    }
    dig = 11 - (soma % 11);
    cnpj_calc += (dig == 10 || dig == 11) ? "0" : Integer.toString(
    dig);
    if (cnpj.equals(cnpj_calc)){
    return Variant.VARIANT_TRUE;
    }else{
    return Variant.VARIANT_FALSE;
    }
    } catch (Exception e) {
    return Variant.VARIANT_FALSE;
    }
    } else {
    return Variant.VARIANT_FALSE;
    }
    }

Log in to reply