|
|
|
@@ -1,5 +1,73 @@
|
|
|
|
|
# Validação técnica do SGC — 28 de Outubro de 2026
|
|
|
|
|
|
|
|
|
|
## Incremento: sessão de abertura e actas por versão
|
|
|
|
|
|
|
|
|
|
Nas propostas existe o acesso «Sessão de abertura e actas», em
|
|
|
|
|
`/requisicoes/{requisition}/abertura`. Compras pode registar uma sessão num
|
|
|
|
|
pedido aprovado, antes de existir adjudicação. O registo é opcional; não
|
|
|
|
|
introduz um concurso público obrigatório, um número mínimo de propostas,
|
|
|
|
|
um júri obrigatório ou um novo circuito financeiro em todas as empresas.
|
|
|
|
|
|
|
|
|
|
O operador declara referência, local, data/hora, fuso horário, intervenientes,
|
|
|
|
|
qualidade em que participam, observações e referências de anexos, selecciona
|
|
|
|
|
as propostas e confirma a conferência. As propostas seleccionadas são
|
|
|
|
|
copiadas no servidor com fornecedor, referência, valores e linhas; não se
|
|
|
|
|
aceitam valores de uma acta enviados pelo cliente. Uma impressão autenticada
|
|
|
|
|
usa a cópia preservada, incluindo nome da empresa e autor do registo.
|
|
|
|
|
Não contém pontuações ou uma recomendação de adjudicação.
|
|
|
|
|
|
|
|
|
|
As datas são interpretadas no fuso declarado, guardadas em UTC e apresentadas
|
|
|
|
|
nesse fuso. Este primeiro âmbito suporta Africa/Johannesburg, Africa/Maputo e
|
|
|
|
|
UTC; a interface começa pelo fuso do contexto local. Sessões futuras e prazo
|
|
|
|
|
de apresentação posterior à sessão são recusados. O prazo é declarado; não
|
|
|
|
|
se presume que a data de criação de uma cotação no SGC seja a sua data real
|
|
|
|
|
de entrega pelo concorrente.
|
|
|
|
|
|
|
|
|
|
Correcções criam versões novas, com fundamento e referência à versão anterior
|
|
|
|
|
na auditoria. As versões guardadas não são editadas ou eliminadas pela
|
|
|
|
|
aplicação. Uma base de propostas alterada desde a consulta ou uma versão
|
|
|
|
|
anterior desactualizada é recusada. A interface permite conferir a base
|
|
|
|
|
actualizada sem apagar os textos introduzidos. Propostas posteriormente
|
|
|
|
|
adicionadas ou alteradas não entram nas actas anteriores; uma divergência é
|
|
|
|
|
assinalada na consulta. Não se alterou a política de recepção de cotações.
|
|
|
|
|
|
|
|
|
|
Os nomes dos intervenientes são declarações, não assinaturas digitais
|
|
|
|
|
verificadas. A impressão disponibiliza espaço para assinaturas manuscritas.
|
|
|
|
|
As referências de anexos não representam carregamento ou validação de
|
|
|
|
|
ficheiros. Registar uma acta não avalia propostas, não certifica a realização
|
|
|
|
|
da sessão, não adjudica, não reserva orçamento e não autoriza compras.
|
|
|
|
|
Alterações documentais depois da adjudicação exigem um circuito futuro;
|
|
|
|
|
este incremento conserva as actas anteriores para consulta, sem as reescrever.
|
|
|
|
|
|
|
|
|
|
Administração, Compras, Finanças e chefias autorizadas consultam; apenas
|
|
|
|
|
Compras regista. Mantêm-se isolamento entre empresas, âmbito departamental,
|
|
|
|
|
verificação de conflitos e revalidação do operador dentro da transacção.
|
|
|
|
|
Solicitantes e Armazém não ganham acesso a preços ou actas. Consulta e
|
|
|
|
|
impressão usam `private, no-store`; o histórico Inertia é cifrado. Os registos
|
|
|
|
|
aparecem nos documentos e eventos da visão única conforme o perfil.
|
|
|
|
|
|
|
|
|
|
A migração aditiva 000017 foi aplicada no batch 18 após backup privado de
|
|
|
|
|
291397 bytes e restauro verificado de 54 tabelas. Dados anteriores,
|
|
|
|
|
restrições e `.env` foram preservados; não foram criadas actas fictícias na
|
|
|
|
|
base de negócio. Ver `abertura-migracao-000017.json`. Backup e manifesto
|
|
|
|
|
ficam fora do Git.
|
|
|
|
|
|
|
|
|
|
Resultado: **443 testes aprovados, 2 ignorados, 3431 asserções**, incluindo
|
|
|
|
|
11 testes novos de snapshots, versões, base desactualizada, impressão,
|
|
|
|
|
fuso horário, validação, segregação, empresas/departamentos, revogação de
|
|
|
|
|
perfil, rollback de auditoria, imutabilidade e escape de texto. Quatro
|
|
|
|
|
cenários PostgreSQL passaram, cada um com duas ligações e duas esperas de
|
|
|
|
|
bloqueio simultâneas: versões iniciais concorrentes, correcções concorrentes,
|
|
|
|
|
perfil revogado e base alterada durante a espera. A base temporária exclusiva
|
|
|
|
|
foi eliminada. Ver `abertura-concorrencia-postgresql.json`.
|
|
|
|
|
|
|
|
|
|
PHPStan, Pint, TypeScript e build passaram. A revisão visual da interface e
|
|
|
|
|
da impressão permanece pendente pela indisponibilidade do navegador. Não se
|
|
|
|
|
declara validação operacional de concursos, assinaturas, orçamentos ou regras
|
|
|
|
|
de cancelamento de ordens emitidas. Publicação de concursos, propostas
|
|
|
|
|
seladas, qualificação por etapas e novos métodos de avaliação continuam
|
|
|
|
|
pendentes; os exemplos locais não os tornam obrigações universais.
|
|
|
|
|
|
|
|
|
|
## Incremento: planeamento por empresa
|
|
|
|
|
|
|
|
|
|
O menu Compras inclui `/planeamento`. Administração e Compras registam itens
|
|
|
|
|