PROC002 - Cadastro de Nova Empresa


image-1762776253666.png

Projeto/Sistema:
GERENCIEAQUI - MIGRAÇÃO CNPJ ALFANUMÉRICO (NT 2026.004)
Versão do Template:
1.2
Processo:
PROC002 - Cadastro de Nova Empresa
Versão do Documento:
1.0
Responsável(eis): 
Luís Leite

Data: 

25/05/2026

1. Introdução

Este processo descreve a adaptação do fluxo de cadastro inicial e do cadastro adicional de empresa pelo usuário logado ao CNPJ Alfanumérico (NT 2026.004).

2. Processo

Processo

Envolvidos

Dados de Entrada

Dados de Saída

PROC002 - Cadastro de Nova Empresa

Usuário

CNPJ Alfanumérico

CNPJ Alfanumérico validado e cadastrado em banco.

Processos Relacionados


PROC001 — Núcleo de validação e formatação de CNP

Especificação Funcional


PROC002 - Cadastro de Nova Empresa:

Protótipo de Tela:

image-1779734202008.png

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

CNPJ*

Texto

14

Sim

-

-

Regras de Interface:

1.Ajuste de validação: Conferir validação do campo para aceitar alfanumérico. Reaproveitar validações do PROC001 - Núcleo de validação de formatação de CNPJ
2. Normalização: Deve ser tratado para deixar todas as letras em caixa maior (maiúsculo) visando a padronização da informação.

Regras de Negócio:

1. Validação tripla mantida: O fluxo atual valida o CNPJ em três pontos (ajax onChange, novaEmpresa, EmpresaService.salvarNovaEmpresa) via CnpjUtil.isCnpjValidoSalvar. Como o util legado já usa charAt-48 e substring (tolerantes a alfanumérico), a validação funciona após a correção do PROC001.

2. Unicidade global do CNPJ: isDBContainCnpj (CnpjUtil:400) verifica via EmpresaDao.existsByCnpj se já há empresa cadastrada com o mesmo CNPJ. Bloqueia o cadastro com mensagem "Já existe uma empresa com esse CNPJ!". A collation default do MariaDB é case-insensitive — a normalização para maiúsculas elimina ambiguidades em comparações externas.

3. Token A3 sensível à caixa: Empresa.gerarTokenA3 (Empresa.java:736) faz gerarHash(cnpj + email, "SHA-256"). Como SHA-256 é sensível a caixa, o CNPJ DEVE ser gravado em maiúsculas — caso contrário, "ABC..." e "abc..." gerariam tokens diferentes e quebrariam a integração com certificado A3.

Regras de Interface:

1. Mudança na base de dados: Sem alteração. Coluna 'empresa'.'cnpj' é varchar(20).

©SOFTEN SISTEMAS 2026


Revision #3
Created 25 May 2026 18:25:38 by Luís Leite
Updated 26 May 2026 14:22:32 by Luís Leite