|
|
|
@@ -1,5 +1,68 @@
|
|
|
|
|
# Validação técnica do SGC — 28 de Outubro de 2026
|
|
|
|
|
|
|
|
|
|
## Incremento: planeamento por empresa
|
|
|
|
|
|
|
|
|
|
O menu Compras inclui `/planeamento`. Administração e Compras registam itens
|
|
|
|
|
para bens, obras, serviços ou consultoria, seleccionam departamento e
|
|
|
|
|
responsável da própria empresa e definem marcos com nomes e datas próprios.
|
|
|
|
|
Estas naturezas são classificações de acompanhamento, não novas modalidades
|
|
|
|
|
de contratação. Não existem marcos obrigatórios ou valores financeiros
|
|
|
|
|
predefinidos, e o plano não cria reservas ou aprovações.
|
|
|
|
|
|
|
|
|
|
Uma compra pode ser planeada antes da requisição. Administração ou Compras
|
|
|
|
|
podem depois ligar uma requisição visível, do mesmo departamento, com
|
|
|
|
|
fundamento. A ligação é única e não substitui uma anterior. A visão única do
|
|
|
|
|
processo oferece um atalho para o item do plano quando o utilizador também
|
|
|
|
|
tem acesso a esse item; o filtro `?item=` conserva as mesmas permissões.
|
|
|
|
|
|
|
|
|
|
O responsável atribuído regista ou corrige datas realizadas e indica o
|
|
|
|
|
fundamento. Administração e Compras também podem rever datas previstas e
|
|
|
|
|
reatribuir responsáveis. Datas realizadas futuras são recusadas. Todas as
|
|
|
|
|
alterações guardam autor, valores anteriores, novos valores e fundamento,
|
|
|
|
|
com versão optimista e bloqueio da empresa para impedir sobrescrita silenciosa.
|
|
|
|
|
Uma data realizada é uma declaração de acompanhamento: não confirma entregas,
|
|
|
|
|
facturas, pagamentos ou execução integral da compra.
|
|
|
|
|
|
|
|
|
|
Administração, Compras e Finanças consultam o plano da empresa. Chefias
|
|
|
|
|
consultam o departamento ou itens de que são responsáveis; os restantes
|
|
|
|
|
perfis consultam apenas os itens atribuídos. Só Administração e Compras
|
|
|
|
|
definem o plano e consultam o histórico geral. Finanças não ganha permissão
|
|
|
|
|
de edição por ser leitor; um responsável pode registar datas realizadas no
|
|
|
|
|
seu item. Uma atribuição não dá acesso à requisição ou aos seus documentos
|
|
|
|
|
se as permissões normais não o permitirem. Dados de outras empresas, opções
|
|
|
|
|
de equipa e histórico geral não são expostos a utilizadores sem acesso.
|
|
|
|
|
|
|
|
|
|
A migração aditiva 000016 foi aplicada no batch 17 após backup privado de
|
|
|
|
|
281059 bytes e restauro verificado de 52 tabelas. Dados anteriores, restrições
|
|
|
|
|
e `.env` foram preservados. As duas tabelas novas ficaram vazias: não foram
|
|
|
|
|
criadas compras ou datas fictícias na base de negócio. Ver relatório
|
|
|
|
|
`planeamento-migracao-000016.json`; os ficheiros privados de recuperação
|
|
|
|
|
permanecem fora do Git.
|
|
|
|
|
|
|
|
|
|
Treze testes específicos verificam criação, marcos livres, datas realizadas,
|
|
|
|
|
reprogramação e versão, rejeição de datas futuras e ausência de fundamento,
|
|
|
|
|
perfis, empresas, departamentos, ligação única e posterior, reatribuição,
|
|
|
|
|
revogação de perfil, rollback de auditoria e acesso ao processo ligado.
|
|
|
|
|
Quatro cenários PostgreSQL com duas ligações e duas esperas simultâneas
|
|
|
|
|
passaram: datas concorrentes, responsáveis concorrentes, marcos duplicados e
|
|
|
|
|
perfil revogado enquanto os operadores aguardam o bloqueio. Cada escrita
|
|
|
|
|
aceite produz um único evento; a base temporária exclusiva foi eliminada.
|
|
|
|
|
Ver `planeamento-concorrencia-postgresql.json`.
|
|
|
|
|
|
|
|
|
|
O histórico apresenta os 50 eventos de planeamento mais recentes da empresa.
|
|
|
|
|
Título, natureza e departamento são definidos na criação; as revisões deste
|
|
|
|
|
âmbito abrangem responsável, ligação posterior e datas dos marcos. Não há
|
|
|
|
|
eliminação de itens ou marcos. Estimativas financeiras do plano, aprovações
|
|
|
|
|
do plano, importação dos exemplos, alertas automáticos, dependências entre
|
|
|
|
|
marcos, actas e novas modalidades continuam fora deste primeiro incremento.
|
|
|
|
|
A revisão visual continua pendente, devido à indisponibilidade do navegador.
|
|
|
|
|
|
|
|
|
|
Resultado deste incremento: **432 testes aprovados, 2 ignorados, 3336 asserções**;
|
|
|
|
|
**4 cenários concorrentes PostgreSQL aprovados**. PHPStan, Pint, TypeScript,
|
|
|
|
|
lint/formatação e build passaram. O navegador voltou a responder
|
|
|
|
|
`The browser access host is unavailable`. Não se declara revisão visual
|
|
|
|
|
concluída nem validação operacional de regras ou orçamentos das empresas.
|
|
|
|
|
|
|
|
|
|
## Incremento: visão única do processo de compra
|
|
|
|
|
|
|
|
|
|
O detalhe de uma requisição inclui o acesso «Ver processo completo», em
|
|
|
|
|