Implementa revisao de adjudicacoes e navegacao partilhada do SGC
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"verified_at_utc": "2026-10-28T15:44:25+00:00",
|
||||
"migration": "2026_10_28_000015_create_purchase_controls",
|
||||
"batch": 16,
|
||||
"backup_created": true,
|
||||
"backup_bytes": 259925,
|
||||
"restore_verified": true,
|
||||
"restored_tables": 48,
|
||||
"restore_database_dropped": true,
|
||||
"business_records_unchanged": true,
|
||||
"existing_constraints_preserved": true,
|
||||
"env_unchanged": true,
|
||||
"purchase_control_policies_count": 0,
|
||||
"purchase_control_reviews_count": 0,
|
||||
"operational_validation": false
|
||||
}
|
||||
@@ -1,5 +1,61 @@
|
||||
# Validação técnica do SGC — 28 de Outubro de 2026
|
||||
|
||||
## Incremento: navegação partilhada e revisão sem ordem emitida
|
||||
|
||||
O cabeçalho e rodapé do SGC são partilhados pelo acesso autenticado e pela
|
||||
consulta pública, incluindo a proposta `/proposta/principal`. Os dropdowns
|
||||
agrupam Compras, Finanças, Armazém e Gestão; preservam os acessos anteriores,
|
||||
o menu da conta e a localização do ecrã. As opções autenticadas respeitam o
|
||||
perfil; a autorização continua a ser verificada no servidor. A referência
|
||||
visual foi consultada apenas em leitura no InvesteMoz: preto `#090909`,
|
||||
vermelho `#ed1c24`, menus brancos. O projecto InvesteMoz não foi alterado.
|
||||
|
||||
Em `/revisao-compras`, cada empresa pode propor uma política datada para
|
||||
cancelar adjudicações sem ordem emitida. Não existe activação por defeito.
|
||||
A implementação usa duas assinaturas administrativas distintas do proponente
|
||||
para publicar a regra e uma decisão Financeira independente para cada
|
||||
cancelamento pedido por Compras. Estas são opções deste circuito implementado;
|
||||
não constituem valores financeiros predefinidos para as empresas.
|
||||
|
||||
Um cancelamento pendente bloqueia novas decisões finais e emissão. Aprovação
|
||||
encerra a adjudicação e requisição originais, mantendo cotações e decisões;
|
||||
liberta apenas reserva não comprometida. Repetições idênticas não duplicam
|
||||
lançamentos. Rejeição mantém a compra original. Uma decisão é imutável e,
|
||||
neste primeiro âmbito, existe no máximo um pedido de cancelamento por
|
||||
adjudicação, incluindo pedidos rejeitados. Uma alteração da política bloqueia
|
||||
a aprovação de pedidos antigos; a rejeição continua disponível para retomar
|
||||
o processo. Ordens emitidas e compromissos financeiros impedem este circuito.
|
||||
|
||||
Só o solicitante original, ainda no mesmo departamento, pode preparar um
|
||||
único novo rascunho ligado ao cancelamento aprovado, com nova data e
|
||||
justificação. Copiam-se artigos e estimativas, sem decisões, cotações,
|
||||
validações técnicas ou reserva automática. O novo pedido segue o circuito
|
||||
normal, incluindo validação técnica quando aplicável. As restrições únicas
|
||||
de adjudicação e ordem por requisição foram conservadas.
|
||||
|
||||
A migração aditiva 000015 foi aplicada no batch 16 após backup privado de
|
||||
259925 bytes e restauro verificado de 48 tabelas numa base temporária.
|
||||
Dados de negócio anteriores, restrições e `.env` foram preservados; não foram
|
||||
criadas políticas ou operações fictícias na base real. Ver relatório
|
||||
`revisao-migracao-000015.json`. O backup e o manifesto ficam fora do Git.
|
||||
|
||||
Sete cenários novos verificam política obrigatória, bloqueio pendente,
|
||||
rejeição e retoma, histórico e rascunho único, recusa após emissão,
|
||||
segregação após mudança de perfil, libertação única da reserva e rollback
|
||||
conjunto quando falha a auditoria. A validação concorrente PostgreSQL deste
|
||||
novo circuito continua pendente; os 32 cenários do incremento anterior não
|
||||
comprovam a concorrência destas operações novas.
|
||||
|
||||
Resultado do incremento: **414 testes aprovados, 2 ignorados, 3099 asserções**.
|
||||
PHPStan e Pint passaram; TypeScript, lint/formatação e build passaram.
|
||||
As quatro verificações HTTP da proposta, requisições públicas, reforços e
|
||||
aparência responderam 200. Estes pedidos HTTP não constituem revisão visual.
|
||||
|
||||
A revisão visual pública, autenticada e de impressão continua pendente:
|
||||
o acesso ao navegador permanece indisponível. Compilação e testes não a
|
||||
substituem. Ordens emitidas, estornos, notas de crédito, devoluções e
|
||||
validação operacional das regras de cada empresa continuam fora deste âmbito.
|
||||
|
||||
Esta revisão cobre os módulos implementados e as pendências documentadas no
|
||||
repositório. Não equivale a validação operacional integral ou certificação de
|
||||
todos os requisitos do sistema. Valores e políticas reais continuam a pertencer
|
||||
@@ -65,7 +121,7 @@ sessões. Nenhuma autorização de compra ou transferência bancária foi emitid
|
||||
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Revisão visual pública, autenticada e impressão | Bloqueada pelo acesso ao navegador; testes HTTP não a substituem. |
|
||||
| MFA obrigatório e ciclo completo de acessos | Não implementados/activados; dois testes condicionais continuam ignorados. |
|
||||
| Revisão/cancelamento de adjudicações e ordens | Fluxo e política próprios ainda ausentes. Operações incompatíveis continuam bloqueadas. |
|
||||
| Revisão/cancelamento de adjudicações e ordens | Cancelamento de adjudicações sem ordem implementado no incremento abaixo; cancelamento de ordens emitidas continua ausente. |
|
||||
| Reversões, estornos, notas de crédito e devoluções | Funcionalidades ainda não implementadas; não se apagam lançamentos existentes. |
|
||||
| Regras empresariais | Escalões provisórios, regras fiscais, validade/levantamento de conflitos e excepções exigem decisão da empresa. |
|
||||
| Investimento agregado e fraccionamento | Apenas tecto por processo suportado; sem agregação/detecção automática. |
|
||||
|
||||
Reference in New Issue
Block a user