Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| pres:gerti:gestao_de_ativos:portal:er_007 [30/03/2026 20:19] – criada pramorim | pres:gerti:gestao_de_ativos:portal:er_007 [30/03/2026 20:43] (atual) – pramorim | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| ====== RF-007 Requisitos - Validação de Documentos ====== | ====== RF-007 Requisitos - Validação de Documentos ====== | ||
| - | Permite que qualquer pessoa verifique a autenticidade de um documento processual do TCE-GO a partir de uma chave criptografada informada via URL ou digitada manualmente. Após validação via CAPTCHA, o sistema exibe o PDF do documento | + | Permite que qualquer pessoa verifique a autenticidade de um documento processual do TCE-GO a partir de uma chave criptografada informada via URL ou digitada manualmente. Após validação via CAPTCHA, o sistema |
| ===== Atores ===== | ===== Atores ===== | ||
| Linha 10: | Linha 10: | ||
| ==== Tela 01 - Formulário de Validação ==== | ==== Tela 01 - Formulário de Validação ==== | ||
| + | |||
| + | {{: | ||
| ^ Elemento ^ Tipo ^ Obrigatório ^ Observação ^ | ^ Elemento ^ Tipo ^ Obrigatório ^ Observação ^ | ||
| Linha 15: | Linha 17: | ||
| | Confirmação CAPTCHA | Checkbox "Não sou um robô" | Sim | Padrão visual do projeto (simulado); deve ser resetado após abertura do PDF | | | Confirmação CAPTCHA | Checkbox "Não sou um robô" | Sim | Padrão visual do projeto (simulado); deve ser resetado após abertura do PDF | | ||
| | Botão " | | Botão " | ||
| - | | Botão " | + | | Botão " |
| ==== Tela 02 - Loading ==== | ==== Tela 02 - Loading ==== | ||
| Linha 23: | Linha 25: | ||
| | Texto informativo | Rótulo estático | " | | Texto informativo | Rótulo estático | " | ||
| - | ==== Tela 03 - Erro Geral ==== | + | ==== Tela 03 - Sucesso ==== |
| + | |||
| + | {{: | ||
| + | |||
| + | ^ Elemento ^ Tipo ^ Observação ^ | ||
| + | | Faixa verde | Cabeçalho do card | Exibe ícone ShieldCheck + " | ||
| + | | Metadados da consulta | Painel informativo | Exibe: chave consultada, data/hora da consulta e validade do link (10 minutos) | | ||
| + | | Botão "Abrir Documento PDF" | Ação | Abre o PDF em nova aba via `window.open`; | ||
| + | | Botão "Nova Consulta" | ||
| + | |||
| + | ==== Tela 04 - Acesso Restrito (Sigilo) ==== | ||
| + | |||
| + | {{: | ||
| + | ^ Elemento ^ Tipo ^ Observação ^ | ||
| + | | Faixa amber | Cabeçalho do card | Exibe ícone Lock + " | ||
| + | | Mensagem de sigilo | Texto | Mensagem retornada pela API (HTTP 403) | | ||
| + | | Painel informativo | Bloco amber | Explica o sigilo processual e orienta o cidadão a contatar o TCE-GO | | ||
| + | | Botão "Nova Consulta" | ||
| + | |||
| + | ==== Tela 05 - Erro Geral ==== | ||
| + | |||
| + | {{: | ||
| ^ Elemento ^ Tipo ^ Observação ^ | ^ Elemento ^ Tipo ^ Observação ^ | ||
| - | | Ícone de alerta | + | | Faixa vermelha | Cabeçalho do card | Exibe ícone |
| - | | Mensagem de erro | Texto | Mensagem retornada pela API | | + | | Mensagem de erro | Texto | Mensagem retornada pela API ou mensagem padrão de falha de conexão | |
| + | | Painel de causas | Lista | Possíveis causas: falha de comunicação, | ||
| | Botão "Nova Consulta" | | Botão "Nova Consulta" | ||
| Linha 65: | Linha 89: | ||
| | 06.3 | Demais tipos (andamento processual): | | 06.3 | Demais tipos (andamento processual): | ||
| | 06.4 | `tipoDocumento = K1`: caso andamento não encontrado, verifica andamento pai via `PRO_ANEXOS` | RN12 | — | | | 06.4 | `tipoDocumento = K1`: caso andamento não encontrado, verifica andamento pai via `PRO_ANEXOS` | RN12 | — | | ||
| - | | 07 | Processo em sigilo: o sistema | + | | 07 | Processo em sigilo: |
| - | | 08 | Chave inválida ou documento inexistente: | + | | 08 | Chave inválida ou documento inexistente: |
| - | | 09 | Documento não julgado: o sistema exibe mensagem inline: "Este documento só poderá ser visualizado após o julgamento." | + | | 09 | Documento não julgado: o sistema exibe mensagem inline: "Este documento só poderá ser visualizado após o julgamento." |
| - | | 10 | Erro inesperado de API: o sistema altera o estado para `erro-geral` e exibe a mensagem retornada | | Tela 03 | | + | | 10 | Erro de conexão (catch de rede): o sistema altera o estado para `erro-geral` com a mensagem "Não foi possível conectar ao servidor. Tente novamente." |
| - | | 11 | Validação bem-sucedida: | + | | 11 | Erro inesperado de API: o sistema altera o estado para `erro-geral` e exibe a mensagem retornada | | Tela 05 | |
| - | | 12 | O sistema | + | | 12 | Validação bem-sucedida: |
| + | | 13 | O sistema | ||
| ==== Fluxo 04 - Abertura do PDF ==== | ==== Fluxo 04 - Abertura do PDF ==== | ||
| ^ Passo ^ Ação ^ Regra ^ Tela ^ | ^ Passo ^ Ação ^ Regra ^ Tela ^ | ||
| - | | 01 | O sistema chama `window.open('/ | + | | 01 | O cidadão clica em "Abrir Documento PDF" na Tela 03 | | Tela 03 | |
| - | | 02 | O backend descriptografa `keyValid` extraindo `idProcesso`, | + | | 02 | O sistema chama `window.open('/ |
| - | | 03 | O backend verifica se `dataLink + 10 minutos > agora` | RN05 | — | | + | | 03 | O sistema reseta o CAPTCHA na tela de origem | RN06 | Tela 03 | |
| - | | 03.1 | Token expirado: o sistema retorna erro; o cidadão deve repetir o CAPTCHA para nova consulta | RN05 | Tela 01 | | + | | 04 | O backend descriptografa `keyValid` extraindo `idProcesso`, |
| - | | 04 | O backend baixa os bytes do PDF conforme o tipo do documento | | — | | + | | 05 | O backend verifica se `dataLink + 10 minutos > agora` | RN05 | — | |
| - | | 04.1 | `tipoDocumento = GED`: integração com `DOC_DOCUMENTO + GER_ANEXO` via `DownloadDocumentoNaoProcessual` | | — | | + | | 05.1 | Token expirado: o sistema retorna erro; o cidadão deve iniciar |
| - | | 04.2 | `tipoDocumento = K1`: leitura do arquivo físico via `PRO_ANEXOS + GER_ANEXO` (fileserver) | | — | | + | | 06 | O backend baixa os bytes do PDF conforme o tipo do documento | | — | |
| - | | 04.3 | Demais tipos processuais: | + | | 06.1 | `tipoDocumento = GED`: integração com `DOC_DOCUMENTO + GER_ANEXO` via `DownloadDocumentoNaoProcessual` | | — | |
| - | | 05 | O backend retorna stream `application/ | + | | 06.2 | `tipoDocumento = K1`: leitura do arquivo físico via `PRO_ANEXOS + GER_ANEXO` (fileserver) | | — | |
| - | | 06 | O sistema reseta o CAPTCHA na tela de origem | RN06 | Tela 01 | | + | | 06.3 | Demais tipos processuais: |
| + | | 07 | O backend retorna stream `application/ | ||
| ===== RN – Regras de Negócio ===== | ===== RN – Regras de Negócio ===== | ||
| Linha 94: | Linha 120: | ||
| | RN04 | Quando o documento existir mas não estiver liberado para visualização (não julgado), o sistema exibe a mensagem: "Este documento só poderá ser visualizado após o julgamento." | | RN04 | Quando o documento existir mas não estiver liberado para visualização (não julgado), o sistema exibe a mensagem: "Este documento só poderá ser visualizado após o julgamento." | ||
| | RN05 | O token `keyValid` possui validade de 10 minutos a partir da emissão. Após esse prazo, a requisição de PDF é bloqueada. O `keyValid` não deve ser armazenado em localStorage ou cookie. | | | RN05 | O token `keyValid` possui validade de 10 minutos a partir da emissão. Após esse prazo, a requisição de PDF é bloqueada. O `keyValid` não deve ser armazenado em localStorage ou cookie. | | ||
| - | | RN06 | Após a abertura do PDF em nova aba, o CAPTCHA deve ser resetado na tela de origem, exigindo nova confirmação para consulta subsequente. | | + | | RN06 | Após o cidadão clicar |
| | RN07 | O acesso à rota `/ | | RN07 | O acesso à rota `/ | ||
| - | | RN08 | Quando o processo estiver marcado como em sigilo (`INDR_BLOQUEIODOC_A = ' | + | | RN08 | Quando o processo estiver marcado como em sigilo (`INDR_BLOQUEIODOC_A = ' |
| | RN09 | Para documentos do tipo `A`, `R` ou `H` (Acórdão, Resolução, | | RN09 | Para documentos do tipo `A`, `R` ou `H` (Acórdão, Resolução, | ||
| | RN10 | Para documentos do tipo `GED` (não-processual), | | RN10 | Para documentos do tipo `GED` (não-processual), | ||