Skip to content

Inspeção integral e rastreabilidade de divergências de recebimento - #474

Merged
devmnsoft merged 1 commit into
mainfrom
codex/evoluir-funcionalidades-e-regras-do-sigov-plus
Sep 24, 2026
Merged

devmnsoft merged 1 commit into
mainfrom
codex/evoluir-funcionalidades-e-regras-do-sigov-plus

Conversation

@devmnsoft

Copy link
Copy Markdown
Owner

Motivation

  • Corrigir a conclusão de inspeção para garantir que todos os itens ainda em conferência sejam classificados antes de encerrar o recebimento.
  • Evitar aceitação indevida de payloads sobre recebimentos já encerrados, distinguindo repetição idempotente de comandos divergentes.
  • Rastrear operacionalmente rejeições como divergências separadas para permitir tratamento e histórico auditável.
  • Ajustar o formulário Web para enviar apenas decisões aplicáveis e preservar dados submetidos em caso de conflito.

Description

  • Carregamento e bloqueio do recebimento e do conjunto completo de itens ainda em conferência antes de aplicar decisões, com rejeição de omissões, duplicatas e totais incompatíveis, e validações de versão e contexto institucional. (arquivo: src/Sigov.Infrastructure/ComprasEmpresariais/ComprasRepositories.cs)
  • Idempotência semântica implementada por hash determinístico SHA-256 do comando de inspeção (inclui versão, itens e justificativa), e comparação segura de hashes para distinguir repetição de payload diferente; registro do hash no cabeçalho do recebimento. (arquivo: src/Sigov.Infrastructure/ComprasEmpresariais/ComprasRepositories.cs)
  • Movimentação de estoque, eventos do recebimento, encerramento da pendência de conferência e criação de pendência operacional de tratamento de divergência realizados dentro da mesma transação; criação de registro de divergência quando existir rejeição. (arquivo: src/Sigov.Infrastructure/ComprasEmpresariais/ComprasRepositories.cs)
  • Nova migration idempotente que acrescenta inspecao_hash e cria as tabelas canônicas de divergência e eventos com PK bigint generated by default as identity, constraints e índices operacionais, e sincronização do manifest.json e dos scripts consolidados exigidos pelo repositório. (arquivos: database/postgres/migrations/20260924120000_compras_divergencias_recebimento.sql, database/postgres/migrations/manifest.json, e scripts script_completo*)
  • Ajustes na camada Web para enviar apenas campos de decisão aplicáveis com índices contíguos, usar formatação numérica invariável (para evitar conversões culturais), exibir itens já classificados apenas para consulta, e preservar version e justificativa quando ocorrer conflito para permitir revisão manual. (arquivos: src/Sigov.Web/Views/ComprasEmpresariais/Recebimentos/Detalhe.cshtml, src/Sigov.Web/Controllers/ComprasEmpresariaisController.cs)

Testing

  • git diff --check e validação JSON do manifesto com python3 -m json.tool database/postgres/migrations/manifest.json — ambos passaram.
  • Validação estática do catálogo de migrations via scripts/check-migration-catalog.sh — etapa de catálogo PASS e checagens semânticas marcadas BLOCKED por falta de um runner PostgreSQL 16 no ambiente.
  • Geração/sincronização dos scripts consolidados (script_completo*.sql) e inclusão da migration no manifest.json — verificados localmente e atualizados com sucesso no repositório.
  • dotnet build não pôde ser executado no ambiente de execução remoto (BLOCKED) porque dotnet não está instalado; portanto build, execução funcional e testes transacionais/concorrência em PostgreSQL 16 ficaram BLOCKED.
  • Observações finais: os fluxos de UI e persistência foram implementados e committed, mas validação transacional concorrente e testes end-to-end com uma instância PostgreSQL 16 e runtime .NET são necessários antes da homologação completa.

Codex Task

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-09-24T19:18:01.138849Z 3f3db23 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@devmnsoft
devmnsoft merged commit fadcf28 into main Sep 24, 2026
32 of 42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant