Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Próxima revisão
Revisão anterior
pres:gerti:gestao_de_ativos:portal:er_006 [13/03/2026 02:41] – criada pramorimpres:gerti:gestao_de_ativos:portal:er_006 [05/05/2026 11:49] (atual) pramorim
Linha 64: Linha 64:
 ^Passo^Ação^Regra^Tela| ^Passo^Ação^Regra^Tela|
 |01|O usuário acessa a funcionalidade "Consulta de Ofícios".| |Tela 01| |01|O usuário acessa a funcionalidade "Consulta de Ofícios".| |Tela 01|
-|02|O sistema renderiza a tela com o campo "Tipo de Consulta" com valor padrão "Número do Processo" e exibe os campos correspondentes.| |Tela 01| +|02|O sistema gera e exibe o Captcha de segurança.|RN01|Tela 01| 
-|03|O sistema gera e exibe o Captcha de segurança.|RN01|Tela 01| +|03|O usuário seleciona o tipo de consulta desejado.| |Tela 01| 
-|04|O usuário seleciona o tipo de consulta desejado.| |Tela 01| +|03.1|Caso o tipo selecionado seja "Data do Ofício", o sistema executa o **[[#fluxo_09_-_carregar_situacoes_do_oficio|Fluxo 09]]** para popular o dropdown de Situação.| | | 
-|04.1|O sistema renderiza os campos correspondentes ao tipo selecionado e limpa a área de resultados.| | | +|03.2|Caso o tipo selecionado seja "Órgão de Origem", o usuário deve acionar o **[[#fluxo_10_-_pesquisar_orgao_de_origem|Fluxo 10]]** para selecionar o órgão antes de consultar.| | | 
-|04.2|Caso o tipo selecionado seja "Data do Ofício", o sistema executa o **[[#fluxo_09_-_carregar_situacoes_do_oficio|Fluxo 09]]** para popular o dropdown de Situação.| | | +|04|O usuário preenche os campos do tipo selecionado e informa o Código de Segurança (Captcha) aciona a ação "Consulta".|RN01|Tela 01
-|04.3|Caso o tipo selecionado seja "Órgão de Origem", o usuário deve acionar o **[[#fluxo_10_-_pesquisar_orgao_de_origem|Fluxo 10]]** para selecionar o órgão antes de consultar.| | | +|05|O sistema valida o Captcha informado.|RN01| | 
-|05|O usuário preenche os campos do tipo selecionado e informa o Código de Segurança (Captcha).|RN01|Tela 01| +|06.1|Caso o Captcha esteja vazio, o sistema apresenta a mensagem: "O valor do Captcha deve ser informado." e interrompe a execução.|RN01| | 
-|06|O usuário aciona o botão "Consulta".| | | +|06.2|Caso o Captcha não confira com o valor da sessão, o sistema apresenta a mensagem: "O código de segurança não confere." e interrompe a execução.|RN01| | 
-|07|O sistema valida o Captcha informado.|RN01| | +|07|O sistema valida os parâmetros e o tipo de consulta informado direciona a execução para o fluxo correspondente ao tipo selecionado:| | | 
-|07.1|Caso o Captcha esteja vazio, o sistema apresenta a mensagem: "O valor do Captcha deve ser informado." e interrompe a execução.|RN01| | +|07.1|Tipo "Número do Processo" → o sistema executa o **[[#fluxo_02_-_consulta_por_numero_de_processo|Fluxo 02]]**.| | | 
-|07.2|Caso o Captcha não confira com o valor da sessão, o sistema apresenta a mensagem: "O código de segurança não confere." e interrompe a execução.|RN01| | +|07.2|Tipo "Número do Ofício" → o sistema executa o **[[#fluxo_03_-_consulta_por_numero_do_oficio|Fluxo 03]]**.| | | 
-|08|O sistema valida os parâmetros e o tipo de consulta informado.| | | +|07.3|Tipo "Data do Ofício" → o sistema executa o **[[#fluxo_04_-_consulta_por_data_do_oficio|Fluxo 04]]**.| | | 
-|09|O sistema direciona a execução para o fluxo correspondente ao tipo selecionado:| | | +|07.4|Tipo "Órgão de Origem" → o sistema executa o **[[#fluxo_05_-_consulta_por_orgao_de_origem|Fluxo 05]]**.| | | 
-|09.1|Tipo "Número do Processo" → o sistema executa o **[[#fluxo_02_-_consulta_por_numero_de_processo|Fluxo 02]]**.| | | +|07.5|Tipo "Interessado" → o sistema executa o **[[#fluxo_06_-_consulta_por_interessado|Fluxo 06]]**.| | | 
-|09.2|Tipo "Número do Ofício" → o sistema executa o **[[#fluxo_03_-_consulta_por_numero_do_oficio|Fluxo 03]]**.| | | +|08|O sistema exibe os resultados no grid da Tela 02.|RN07|Tela 02| 
-|09.3|Tipo "Data do Ofício" → o sistema executa o **[[#fluxo_04_-_consulta_por_data_do_oficio|Fluxo 04]]**.| | | +|08.1|Caso a consulta não retorne registros, o sistema executa o **[[#fluxo_07_-_sem_resultados|Fluxo 07]]**.| | | 
-|09.4|Tipo "Órgão de Origem" → o sistema executa o **[[#fluxo_05_-_consulta_por_orgao_de_origem|Fluxo 05]]**.| | | +|09|O usuário pode acionar o botão "Detalhar" em um ofício para visualizar as informações complementares.| |Tela 02| 
-|09.5|Tipo "Interessado" → o sistema executa o **[[#fluxo_06_-_consulta_por_interessado|Fluxo 06]]**.| | | +|09.1|O sistema executa o **[[#fluxo_08_-_detalhar_oficio|Fluxo 08]]**.| | |
-|10|O sistema exibe os resultados no grid da Tela 02.|RN07|Tela 02| +
-|10.1|Caso a consulta não retorne registros, o sistema executa o **[[#fluxo_07_-_sem_resultados|Fluxo 07]]**.| | | +
-|11|O usuário pode acionar o botão "Detalhar" em um ofício para visualizar as informações complementares.| |Tela 02| +
-|11.1|O sistema executa o **[[#fluxo_08_-_detalhar_oficio|Fluxo 08]]**.| | |+
  
 ==== Fluxo 02 - Consulta por Número de Processo ==== ==== Fluxo 02 - Consulta por Número de Processo ====
Linha 160: Linha 156:
 ^Passo^Ação^Regra^Tela| ^Passo^Ação^Regra^Tela|
 |01|O sistema detecta a seleção do tipo "Data do Ofício" e consulta as situações disponíveis.|RN04|Tela 01| |01|O sistema detecta a seleção do tipo "Data do Ofício" e consulta as situações disponíveis.|RN04|Tela 01|
-|02|O sistema consulta as situações na view ''VWEB_CONSOFICIO'' (campos ''GERDESC_ID e SITUACAO'').|RN04| | +|02|O sistema consulta as situações via ''GET /api/oficio/situacao'' no Catálogo de Serviços.|RN04| | 
-|03|O sistema suprime as situações restritas da lista antes de retorná-las ao usuário|RN04| |+|03|O sistema suprime as situações restritas da lista (IDs 528, 536, 1647) antes de retorná-las ao usuário, caso o catálogo não faça esse filtro.|RN04| |
 |04|O sistema ordena as situações restantes em ordem alfabética pela descrição e insere a opção "TODOS" como primeira entrada.| | | |04|O sistema ordena as situações restantes em ordem alfabética pela descrição e insere a opção "TODOS" como primeira entrada.| | |
 |05|O sistema popula o dropdown de Situação com a lista resultante.|RN04|Tela 01| |05|O sistema popula o dropdown de Situação com a lista resultante.|RN04|Tela 01|
Linha 171: Linha 167:
 |02|O sistema valida se o campo foi preenchido.| | | |02|O sistema valida se o campo foi preenchido.| | |
 |02.1|Caso o campo esteja vazio, o sistema apresenta a mensagem: "O código ou o nome do Órgão de Origem ou parte do texto deve ser informado." e interrompe a execução.| | | |02.1|Caso o campo esteja vazio, o sistema apresenta a mensagem: "O código ou o nome do Órgão de Origem ou parte do texto deve ser informado." e interrompe a execução.| | |
-|03|O sistema consulta os órgãos disponíveis via ''TCE.Compartilhado → IServicoDeSetorGeralWeb → ConsulteOrgaosWeb''.|RN05| | +|03|O sistema consulta os órgãos disponíveis via ''GET /api/orgao/{nome}'' no Catálogo de Serviços.|RN05| | 
-|04|O sistema ordena os órgãos retornados em ordem alfabética pelo nome.| | | +|04|Caso a pesquisa retorne resultados, o sistema habilita o dropdown de órgãos e o popula com os registros encontrados.|RN05|Tela 01| 
-|05|Caso a pesquisa retorne resultados, o sistema habilita o dropdown de órgãos e o popula com os registros encontrados.|RN05|Tela 01| +|04.1|Caso a pesquisa não retorne resultados, o sistema mantém o dropdown desabilitado e apresenta as mensagens de validação correspondentes.|RN05| |
-|05.1|Caso a pesquisa não retorne resultados, o sistema mantém o dropdown desabilitado e apresenta as mensagens de validação correspondentes.|RN05| |+
  
 ===== RN – Regras de Negócio ===== ===== RN – Regras de Negócio =====
Linha 180: Linha 175:
 ^ID^Descrição^ ^ID^Descrição^
 |RN01|**Captcha Obrigatório** – A consulta de ofícios somente poderá ser executada após a validação do Captcha de segurança. O campo Captcha é obrigatório. Mensagens de erro: "O valor do Captcha deve ser informado." (campo vazio) e "O código de segurança não confere." (valor incorreto).| |RN01|**Captcha Obrigatório** – A consulta de ofícios somente poderá ser executada após a validação do Captcha de segurança. O campo Captcha é obrigatório. Mensagens de erro: "O valor do Captcha deve ser informado." (campo vazio) e "O código de segurança não confere." (valor incorreto).|
-|RN02|**Filtro de Ofícios sem Data de Notificação** – O sistema exclui da exibição todos os ofícios que não possuam Data de Notificação preenchida, independentemente do tipo de consulta executado. \\ filtro é aplicado na camada de serviço: ''TCE.Compartilhado → ServicoDeOficioWeb → RemoverOficiosSemDataDeNotificacao'', após a consulta ao repositório ''RepositorioDeOficioWeb'', que opera sobre a view ''VWEB_CONSOFICIO''.|+|RN02|**Filtro de Ofícios sem Data de Notificação** – O sistema exclui da exibição todos os ofícios que não possuam Data de Notificação preenchida, independentemente do tipo de consulta executado. \\ No portal novo, este filtro é aplicado internamente pelo Catálogo de Serviços (''POST /api/oficio''). Referência legada: ''TCE.Compartilhado → ServicoDeOficioWeb → RemoverOficiosSemDataDeNotificacao''.|
 |RN03|**Consistência do Intervalo de Datas** – A Data Inicial deve ser menor ou igual à Data Final. Caso contrário, o sistema apresenta a mensagem: "Data final deve ser maior que a data inicial."| |RN03|**Consistência do Intervalo de Datas** – A Data Inicial deve ser menor ou igual à Data Final. Caso contrário, o sistema apresenta a mensagem: "Data final deve ser maior que a data inicial."|
-|RN04|**Situações Exibidas na Consulta por Data** – A lista de situações disponíveis para o filtro é obtida da view Oracle ''VWEB_CONSOFICIO'' (campos GERDESC_ID e SITUACAO). As seguintes situações são suprimidas da lista antes da exibição ao usuário, pois não devem ser visíveis publicamente: Id 528 (OFÍCIO EMITIDO), Id 536 (OFÍCIO NÃO ATENDIDO) e Id 1647 (OFÍCIO NÃO ENTREGUE). \\ Quando o valor selecionado for "TODOS", a consulta não aplica filtro por situação. Quando uma situação específica for selecionada, a consulta filtra pelo campo ''DescritorQuantificadorId'' correspondente.| +|RN04|**Situações Exibidas na Consulta por Data** – A lista de situações é obtida via ''GET /api/oficio/situacao'' no Catálogo de Serviços. As seguintes situações **não devem ser exibidas** ao usuário: Id 528 (OFÍCIO EMITIDO), Id 536 (OFÍCIO NÃO ATENDIDO) e Id 1647 (OFÍCIO NÃO ENTREGUE). Caso o catálogo não aplique esse filtro, ele deve ser feito na API route do portal. \\ Quando o valor selecionado for "TODOS", a consulta envia ''idSituacaoOficio: 0''não aplica filtro por situação. Quando uma situação específica for selecionada, envia o ''id'' correspondente no campo ''idSituacaoOficio''.| 
-|RN05|**Busca e Seleção de Órgão de Origem** – A pesquisa de órgãos de origem é realizada via ''TCE.Compartilhado → IServicoDeSetorGeralWeb → ConsulteOrgaosWeb''. A consulta por Órgão de Origem utiliza comparação parcial e insensível a maiúsculas/minúsculas no campo ''SetorOrigemProcesso''. O dropdown de órgãos é inicializado desabilitado e habilitado somente quando a pesquisa retorna ao menos um resultado. A seleção de um órgão é obrigatória para execução da consulta.|+|RN05|**Busca e Seleção de Órgão de Origem** – A pesquisa de órgãos é realizada via ''GET /api/orgao/{nome}'' no Catálogo de Serviços (busca parcial por nome ou código). O dropdown de órgãos é inicializado desabilitado e habilitado somente quando a pesquisa retorna ao menos um resultado. A seleção de um órgão é obrigatória para execução da consulta. Referência legada: ''TCE.Compartilhado → IServicoDeSetorGeralWeb → ConsulteOrgaosWeb''.|
 |RN06|**Validação de CPF e CNPJ** – O CPF/CNPJ informado deve ser válido. A máscara é aplicada automaticamente conforme o comprimento digitado (CPF: XXX.XXX.XXX-XX / CNPJ: XX.XXX.XXX/XXXX-XX). A validação ocorre conforme o comprimento: \\ – Até 11 dígitos: aplica validação de CPF → mensagem de erro: "CPF informado é inválido." \\ – Acima de 11 dígitos: aplica validação de CNPJ → mensagem de erro: "CNPJ informado é inválido." \\ A validação é executada em: ''TCE.WebSites → OficioController → ValidaCpfOuCnpj''.| |RN06|**Validação de CPF e CNPJ** – O CPF/CNPJ informado deve ser válido. A máscara é aplicada automaticamente conforme o comprimento digitado (CPF: XXX.XXX.XXX-XX / CNPJ: XX.XXX.XXX/XXXX-XX). A validação ocorre conforme o comprimento: \\ – Até 11 dígitos: aplica validação de CPF → mensagem de erro: "CPF informado é inválido." \\ – Acima de 11 dígitos: aplica validação de CNPJ → mensagem de erro: "CNPJ informado é inválido." \\ A validação é executada em: ''TCE.WebSites → OficioController → ValidaCpfOuCnpj''.|
 |RN07|**Paginação do Grid de Resultados** – O grid de resultados é paginado com opções de 20, 30 ou 50 registros por página, sendo 20 o padrão. O grid suporta filtro por coluna. Quando não há resultados, o sistema exibe a mensagem: "Sem Resultados".| |RN07|**Paginação do Grid de Resultados** – O grid de resultados é paginado com opções de 20, 30 ou 50 registros por página, sendo 20 o padrão. O grid suporta filtro por coluna. Quando não há resultados, o sistema exibe a mensagem: "Sem Resultados".|
-|RN08|**Link para Consulta de Processos** – Na coluna "Processo" do grid, o número do processo é exibido como hiperlink apontando para ''/ConsultaProcesso?proc={AutuacaoId}'', abrindo em nova aba o ****[[pres:gerti:gestao_de_ativos:portal:er_002#fluxo_02_-_visualizar_detalhamento_do_processo|ER_002: Fluxo 02 –  Visualizar Detalhamento do Processo ]]**.|+|RN08|**Link para Consulta de Processos** – Na coluna "Processo" do grid, o número do processo é exibido como hiperlink apontando para ''/ConsultaProcesso?proc={AutuacaoId}'', abrindo em nova aba o **[[pres:gerti:gestao_de_ativos:portal:er_002#fluxo_02_-_visualizar_detalhamento_do_processo|ER_002: Fluxo 02 –  Visualizar Detalhamento do Processo ]]**.| 
 + 
 +===== Serviços do Catálogo (já implementados) ===== 
 + 
 +Os três serviços necessários para esta funcionalidade já existem no Catálogo de Serviços TCE-GO (''https://catalogodeservicos.tce.go.gov.br''). 
 + 
 +==== POST /api/oficio — Consulta de Ofícios ==== 
 + 
 +Endpoint unificado para todos os tipos de consulta. O campo ''tipoConsultaOficio'' determina o filtro aplicado. 
 + 
 +**Request:** 
 +<code json> 
 +
 +  "tipoConsultaOficio": 0, 
 +  "numeroProcesso": 0, 
 +  "numeroOficio": 0, 
 +  "anoOficio": 0, 
 +  "dataInicial": "yyyy-MM-ddTHH:mm:ss.sssZ", 
 +  "dataFinal": "yyyy-MM-ddTHH:mm:ss.sssZ", 
 +  "idSituacaoOficio": 0, 
 +  "idOrgaoOrigem": "string", 
 +  "cpfCnpjInteressado": "string", 
 +  "nomeInteressado": "string" 
 +
 +</code> 
 + 
 +^Valor de tipoConsultaOficio^Tipo de consulta^ 
 +|0|Número do Processo| 
 +|1|Número do Ofício| 
 +|2|Data do Ofício| 
 +|3|Órgão de Origem| 
 +|4|Interessado| 
 + 
 +**Response:** 
 +<code json> 
 +
 +  { 
 +    "numeroProcesso": 0, 
 +    "numeroOficio": 0, 
 +    "orgao": "string", 
 +    "situacaoOficio": "string", 
 +    "anoOficio": 0, 
 +    "data": "string", 
 +    "nomeInteressado": "string", 
 +    "cpfCnpjInteressado": "string", 
 +    "nomeNotificado": "string", 
 +    "dataNotificacao": "string", 
 +    "diasPrazo": 0, 
 +    "dataVencimentoPrazo": "string", 
 +    "codigoPesquisaDocumento": "string" 
 +  } 
 +
 +</code> 
 + 
 +> **Observação:** O retorno já inclui os campos de detalhe (Tela 03), não sendo necessária uma chamada adicional para detalhar o ofício. 
 + 
 +==== GET /api/oficio/situacao — Situações do Ofício ==== 
 + 
 +Retorna a lista de situações disponíveis para o filtro da consulta por Data do Ofício. 
 + 
 +**Exemplo de response:** 
 +<code json> 
 +
 +  { "id": 0, "descricao": "string"
 +
 +</code> 
 + 
 +> **Atenção (RN04):** Verificar se o catálogo já suprime as situações restritas (IDs 528, 536, 1647). Caso não suprima, o filtro deve ser aplicado na API route do portal antes de retornar ao front-end. 
 + 
 +==== GET /api/orgao/{nome} — Pesquisa de Órgãos de Origem ==== 
 + 
 +Retorna os órgãos cujo nome contenha o texto informado (busca parcial). 
 + 
 +**Exemplo:** 
 +<code> 
 +GET /api/orgao/FOMENTO 
 +</code> 
 + 
 +**Response:** 
 +<code json> 
 +
 +  { "nomeSetor": "AGÊNCIA DE FOMENTO DE GOIÁS S/A - GOIASFOMENTO", "id": 238 } 
 +
 +</code> 
  • pres/gerti/gestao_de_ativos/portal/er_006.1773369714.txt.gz
  • Última modificação: 13/03/2026 02:41
  • por pramorim