# 1. Cadastros



# PROC002 - Cadastro de Nova Empresa

<table border="1" id="bkmrk-%C2%A0-projeto%2Fsistema%3Age" style="border-collapse: collapse; width: 100.123%; height: 68px;"><tbody><tr style="border-style: solid;"><td rowspan="3" style="width: 26.6667%; height: 68px; border-color: black; border-top-style: hidden; border-left-style: hidden; border-bottom-style: hidden;">  
<span style="color: #000000;">[![image-1762776253666.png](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/scaled-1680-/image-1762776253666.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/image-1762776253666.png)</span>

</td><td style="width: 49.9999%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Projeto/Sistema:**</span>  
<span style="color: #000000;">GERENCIEAQUI - MIGRAÇÃO CNPJ ALFANUMÉRICO (NT 2026.004)</span></td><td class="align-center" style="width: 23.3333%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do *Template:***</span>  
<span style="color: #000000;">1.2</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Processo:**</span>  
PROC002 - Cadastro de Nova Empresa</td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do Documento:**</span>  
<span style="color: #000000;">1.0</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Responsável(eis):** </span>  
<span style="color: #000000;">Luís Leite</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Data:** </span>

<span style="color: #000000;">25/05/2026</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">**1. Introdução**</span>

<span style="color: #000000;">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).</span>

##### <span style="color: #000000;">**2. Processo** </span>

<table cellpadding="9" cellspacing="0" id="bkmrk-processo-envolvidos-" style="height: 93px; width: 100%;" width="100%"><tbody><tr style="height: 35px;" valign="top"><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; height: 35px;" width="27%"><span style="font-size: small; color: #000000;">**Processo**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; height: 35px;" width="19%"><span style="font-size: small; color: #000000;">**Envolvidos**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; height: 35px;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Entrada**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; height: 35px;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Saída**</span>

</td></tr><tr style="height: 58px;" valign="top"><td style="border-style: solid; border-color: black; height: 58px;" width="27%">PROC002 - Cadastro de Nova Empresa

</td><td style="border-style: solid; border-color: black; height: 58px;" width="19%"><span style="font-size: small; color: #000000;">Usuário</span>

</td><td style="border-style: solid; border-color: black; height: 58px;" width="27%"><span style="color: #000000; font-size: small;">CNPJ Alfanumérico</span>

</td><td style="border-style: solid; border-color: black; height: 58px;" width="27%"><span style="color: #000000; font-size: small;">CNPJ Alfanumérico validado e cadastrado em banco.</span>

</td></tr></tbody></table>

#### <span style="color: #000000;">**Processos Relacionados** </span>

- - - - - -

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">PROC001 — Núcleo de validação e formatação de CNP  
</span></span></span>

#### <span style="color: #000000;">**Especificação Funcional**</span>

- - - - - -

#### <span style="color: #000000;">**PROC002 - Cadastro de Nova Empresa:**</span>

##### <span style="color: #000000;">***Protótipo de Tela:***</span>

<span style="color: #000000;">[![image-1779734202008.png](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/scaled-1680-/image-1779734202008.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/image-1779734202008.png)</span>

##### <span style="color: #000000;">***Descrição dos Campos:***</span>

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o" style="width: 843px;"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr><td style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">CNPJ\*</span>

</td><td style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span>

</td><td style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">14</span>

</td><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim</span>

</td><td style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td><td style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">***Regras de Interface:***</span>

<span style="color: #000000;">***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 </span>  
<span style="color: #000000;">***2. Normalização:*** Deve ser tratado para deixar todas as letras em caixa maior (maiúsculo) visando a padronização da informação.</span>

##### <span style="color: #000000;">***Regras de Negócio:***</span>

<span style="color: #000000;">**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.</span>

<span style="color: #000000;">**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.</span>

<span style="color: #000000;">**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.</span>

##### <span style="color: #000000;">***Regras de Interface:***</span>

<span style="color: #000000;">**1. Mudança na base de dados:** Sem alteração. Coluna 'empresa'.'cnpj' é varchar(20).</span>

<span style="color: #000000;">©SOFTEN SISTEMAS 2026</span>

# PROC003 - Cadastro de Cliente e Fornecedor

<table border="1" id="bkmrk-%C2%A0-projeto%2Fsistema%3Age" style="border-collapse: collapse; width: 100.123%; height: 68px;"><tbody><tr style="border-style: solid;"><td rowspan="3" style="width: 26.6667%; height: 68px; border-color: black; border-top-style: hidden; border-left-style: hidden; border-bottom-style: hidden;">  
[![image-1762776253666.png](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/scaled-1680-/image-1762776253666.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/image-1762776253666.png)

</td><td style="width: 49.9999%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Projeto/Sistema:**</span>  
<span style="color: #000000;">GERENCIAMENTO DE PROJETOS</span></td><td class="align-center" style="width: 23.3333%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do *Template:***</span>  
<span style="color: #000000;">1.2</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Processo:**</span>  
<span style="color: #000000;">Descrição Processo</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do Documento:**</span>  
<span style="color: #000000;">1.0</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Responsável(eis):** </span>  
<span style="color: #000000;">-</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Data:** </span>

<span style="color: #000000;">05/01/2026</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">**1. Introdução**</span>

Este processo descreve a adaptação dos cadastros de Cliente e Fornecedor ao CNPJ Alfanumérico (NT 2026.004). Inclui o cadastro principal (tela de edição com aba de informações), o diálogo de cadastro rápido (dialogNovoCliente) e a listagem com filtro de busca. O fornecedor é representado pela mesma entidade Cliente.

##### <span style="color: #000000;">**2. Processo** </span>

<table cellpadding="9" cellspacing="0" id="bkmrk-processo-envolvidos-" width="100%"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">**Processo**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="19%"><span style="font-size: small; color: #000000;">**Envolvidos**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Entrada**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Saída**</span>

</td></tr><tr valign="top"><td style="border-style: solid; border-color: black;" width="27%">PROC003 - Cadastro de Cliente e Fornecedor

</td><td style="border-style: solid; border-color: black;" width="19%"><span style="font-size: small; color: #000000;">Usuario</span>

</td><td style="border-style: solid; border-color: black;" width="27%"><span style="font-family: Arial, serif;"><span style="font-size: small;">CPF (11 dígitos) ou CNPJ alfanumérico (14 caracteres) — com ou sem máscara</span></span>

</td><td style="border-style: solid; border-color: black;" width="27%"><span style="font-family: Arial, serif;"><span style="font-size: small;">Cliente/Fornecedor persistido com CPF/CNPJ normalizado em maiúsculas; listagem com filtro alfanumérico</span></span>

</td></tr><tr><td style="border-style: solid; border-color: black;">PROC003.1 - Listagem de Clientes e Fornecedores

</td><td style="border-style: solid; border-color: black;"><span style="font-size: small; color: #000000;"> </span>

</td><td style="border-style: solid; border-color: black;"><span style="font-family: Arial, serif;"><span style="font-size: small;">Query de Consulta</span></span>

</td><td style="border-style: solid; border-color: black;"><span style="font-family: Arial, serif;"><span style="font-size: small;">Retorno em Listagem em Tela</span></span>

</td></tr></tbody></table>

#### **Processos Relacionados** 

- - - - - -

<span style="font-family: Arial, serif;"><span style="font-size: small;">PROC001 — Núcleo de validação e formatação de CNPJ</span></span>

#### **Especificação Funcional**

- - - - - -

#### **PROC003 - Cadastro de Cliente e Fornecedor:**

##### ***Protótipo de Tela:***

[![image-1779736677797.png](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/scaled-1680-/image-1779736677797.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/image-1779736677797.png)

##### ***Descrição dos Campos:***

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o" style="width: 843px; height: 70px;"><tbody><tr style="height: 35px;" valign="top"><td bgcolor="#acb9ca" style="width: 167.997px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 101.989px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 87.9972px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 118.991px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 200.994px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr style="height: 35px;"><td style="width: 167.997px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">CPF/CNPJ</span>

</td><td style="width: 101.989px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">Texto</span>

</td><td style="width: 87.9972px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">11-14</span>

</td><td style="width: 165px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">Sim</span>

</td><td style="width: 118.991px; border-style: solid; border-color: black; height: 35px;">-

</td><td style="width: 200.994px; border-style: solid; border-color: black; height: 35px;"><span style="font-family: Arial, serif;"><span style="font-size: small;">11 dígitos = CPF (numérico); 14 caracteres = CNPJ (alfanumérico).</span></span>

</td></tr></tbody></table>

##### <span style="color: #000000;">***Regras de Interface:***</span>

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**1. Ajuste de validação:**</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> Deve ser alterada a validação de campo para permitir informar alfanumérico. Reaproveita util/ValidaCNPJ.java (corrigido em PROC001).</span></span></span>

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**2. Caracteres especiais bloqueados:**</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> Deve ser mantida validação para caracteres especiais como acentos, til e outras pontuações não esperadas. Apenas A–Z, 0–9 e os separadores . / - (estes apenas na máscara, removidos na gravação).</span></span></span>

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**3. Normalização para maiúsculas:**</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> Tratar para que as letras sejam salvas em caixa maior (maiúsculo), normalizando a informação no banco e garantindo coerência em comparações case-sensitive.</span></span></span>

##### <span style="color: #000000;">***Regras de Negócio:***</span>

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**1. Consulta API:**</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> A requisição à API de consulta de CNPJ deve ser feita enviando o CNPJ como campo alfanumérico, preservando letras na URL/payload.</span></span></span>

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**2. Detecção CPF × CNPJ por comprimento:**</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> Continua por length() sobre o valor limpo: 11 = CPF (numérico); 14 = CNPJ (alfanumérico ou numérico).</span></span></span>

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**3. Verificação de duplicidade:**</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> A normalização para maiúsculas garante que CNPJ alfanumérico digitado em caixa diferente não seja considerado duplicado.</span></span></span>

#### **PROC003.1 - Listagem de Clientes e Fornecedores:**

[![image-1779736989013.png](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/scaled-1680-/image-1779736989013.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/image-1779736989013.png)

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o-0"><tbody><tr style="height: 35px;" valign="top"><td bgcolor="#acb9ca" style="width: 167.997px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 101.989px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 87.9972px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 118.991px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 200.994px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr style="height: 35px;"><td style="width: 167.997px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">Busca</span>

</td><td style="width: 101.989px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">Texto</span>

</td><td style="width: 87.9972px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">-</span>

</td><td style="width: 165px; border-style: solid; border-color: black; height: 35px;"><span style="color: #000000;">-</span>

</td><td style="width: 118.991px; border-style: solid; border-color: black; height: 35px;">-

</td><td style="width: 200.994px; border-style: solid; border-color: black; height: 35px;">-

</td></tr></tbody></table>

##### <span style="color: #000000;">***Regras de Interface:***</span>

<span style="color: #000000;">***1.*** O campo de Busca deve ser alterado para realizar a consulta de CNPJ alfanumérico. Validar 3 caracteres ou mais para a busca.</span>

##### ***Questões Técnicas:***

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**1. Banco de dados:**</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> O campo 'empresa'.'cnpj' no banco de dados já é definido como VARCHAR(20), não necessitando mudanças.</span></span></span>

<span style="color: #000000;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**2. Query de busca:** O campo</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;"> usa LIKE compatível com texto alfanumérico. Normalizar o termo de busca para maiúsculas antes de aplicar.</span></span></span>

©SOFTEN SISTEMAS 2026

# PROC004 - Cadastro de Vendedor

<table border="1" id="bkmrk-%C2%A0-projeto%2Fsistema%3Age" style="border-collapse: collapse; width: 100.123%; height: 68px;"><tbody><tr style="border-style: solid;"><td rowspan="3" style="width: 26.6667%; height: 68px; border-color: black; border-top-style: hidden; border-left-style: hidden; border-bottom-style: hidden;">  
<span style="color: #000000;">[![image-1762776253666.png](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/scaled-1680-/image-1762776253666.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/image-1762776253666.png)</span>

</td><td style="width: 49.9999%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Projeto/Sistema:**</span>  
GERENCIEAQUI - MIGRAÇÃO CNPJ ALFANUMÉRICO (NT 2026.004)</td><td class="align-center" style="width: 23.3333%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do *Template:***</span>  
<span style="color: #000000;">1.2</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Processo:**</span>  
<span style="color: #000000;">PROC004 - Cadastro de Vendedor</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do Documento:**</span>  
<span style="color: #000000;">1.0</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Responsável(eis):** </span>  
<span style="color: #000000;">Luís Leite</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Data:** </span>

<span style="color: #000000;">26/05/2026</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">**1. Introdução**</span>

Este processo descreve a adaptação do cadastro de Vendedor ao CNPJ Alfanumérico (NT 2026.004). Cobre o cadastro principal, o cadastro rápido e a listagem com filtro de busca.

##### <span style="color: #000000;">**2. Processo** </span>

<table cellpadding="9" cellspacing="0" id="bkmrk-processo-envolvidos-" style="width: 100%;" width="100%"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 27%;" width="27%"><span style="font-size: small; color: #000000;">**Processo**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 19%;" width="19%"><span style="font-size: small; color: #000000;">**Envolvidos**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 27%;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Entrada**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 27%;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Saída**</span>

</td></tr><tr valign="top"><td style="border-style: solid; border-color: black; width: 27%;" width="27%"><span style="color: #000000;">PROC004 - Cadastro de Vendedor</span>

</td><td style="border-style: solid; border-color: black; width: 19%;" width="19%">Usuário

</td><td style="border-style: solid; border-color: black; width: 27%;" width="27%">CPF (11 dígitos) ou CNPJ alfanumérico (14 caracteres), com ou sem máscara.

</td><td style="border-style: solid; border-color: black; width: 27%;" width="27%">Vendedor cadastrado em banco com CPF/CNPJ normalizado em maiúsculas.

</td></tr><tr><td style="border-style: solid; border-color: black; width: 27%;"><span style="color: #000000;">PROC004.1 - Listagem de Vendedor</span>

</td><td style="width: 19%; border-style: solid; border-color: black;"></td><td style="width: 27%; border-style: solid; border-color: black;">Query de Consulta

</td><td style="width: 27%; border-style: solid; border-color: black;">Retorno em Listagem em Tela

</td></tr></tbody></table>

#### <span style="color: #000000;">**Processos Relacionados** </span>

- - - - - -

<span style="font-family: Arial, serif;"><span style="font-size: small;">PROC001 — Núcleo de validação e formatação de CNPJ</span></span>

#### <span style="color: #000000;">**Especificação Funcional**</span>

- - - - - -

#### <span style="color: #000000;">**PROC004 - Cadastro de Vendedor**</span>

##### <span style="color: #000000;">***Protótipo de Tela:***</span>

<span style="color: #000000;">[![image-1779800202227.png](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/scaled-1680-/image-1779800202227.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/image-1779800202227.png)</span>

##### <span style="color: #000000;">***Descrição dos Campos:***</span>

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o" style="width: 843px;"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr><td style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">CPF / CNPJ \*</span>

</td><td style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span>

</td><td style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">20</span>

</td><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim</span>

</td><td style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td><td style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">***Regras de Interface:***</span>

<span style="color: #000000;">**1. Ajuste de validação**: Deve ser alterada a validação de campo para permitir informar alfanumérico. Reaproveita util/ValidaCNPJ.java (corrigido em PROC001). </span>  
<span style="color: #000000;">**2. Caracteres especiais bloqueados:** Deve ser mantida validação para caracteres especiais como acentos, til e outras pontuações não esperadas. </span>  
<span style="color: #000000;">**3. Normalização para maiúsculas:** Tratar para que as letras sejam salvas em caixa maior (maiúsculo), normalizando a informação no banco.</span>

#### <span style="color: #000000;">**PROC004.1 - Listagem de Vendedor**</span>

##### <span style="color: #000000;">***Protótipo de Tela:***</span>

<span style="color: #000000;">[![image-1779800352801.png](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/scaled-1680-/image-1779800352801.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2026-05/image-1779800352801.png)</span>

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o-0" style="width: 843px;"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr><td style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">Busca</span>

</td><td style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span>

</td><td style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td><td style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td><td style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">***Regras de Interface:***</span>

<span style="color: #000000;">***1.*** O campo de Busca deve ser alterado para realizar a consulta de CNPJ alfanumérico. Validar 3 caracteres ou mais para a busca.</span>

##### <span style="color: #000000;">***Questões Técnicas:***</span>

<span style="color: #000000;">***1.*** O campo 'vendedor'.'cnpj' no banco de dados já é definido como VARCHAR(20), não necessitando mudanças.</span>

<span style="color: #000000;">**2. Query de Busca:** Usa LIKE compatível com alfanumérico. Normalizar para maiúsculas para a consulta.</span>

<span style="color: #000000;">©SOFTEN SISTEMAS 2026</span>

