14 KiB
Compatibilidade e estado do SGC
Aceitação posterior, 29/10/2026: extracção técnica do núcleo comum aceite e checkpoint exclusivamente local autorizado. Âmbito e pendências: visual Compras, interface do percurso SGF e cobertura MFA permanecem pendentes; nenhuma utilização real habilitada.
Controlo orçamental comum, 29/10/2026: dotação/reforços/ledger/consumo agora delegam numa implementação única, com equivalência nos dois hosts sintéticos. Ver entrega, provas e limitações. Não significa Compras completo instalado no SGF nem activação operacional; restantes estados/aceitações preservados.
Orientação posterior de 29/10/2026: um módulo de Compras, um núcleo financeiro comum e duas composições comerciais. Preservar os percursos desta matriz; a independência comercial não exige outro motor financeiro ou SGF remoto. O plano de referência mapeia capacidades/efeitos e delimita o primeiro incremento sintético; não declara extracção concluída. O estado funcional mais recente deve ser lido em validacao-tecnica.md, incluindo recomendação/000020, posterior a resumos 000017 abaixo.
Estado actualizado em 28 de Outubro de 2026. Projecto activo: C:\laragon\www\compras, Laravel + React + PostgreSQL, http://127.0.0.1:8015. Preservar conta, dados, configuração, cookie e porta. SGF Tempo e Investmoz são independentes. A implementação Python separada fica apenas como referência; não importar contas, sessões ou bases experimentais.
| Área | Implementado no Laravel | Pendente |
|---|---|---|
| Acesso e organização | Fortify, conta, empresa, equipa, departamentos e centros de custo | MFA obrigatório e ciclo completo de acessos |
| Requisições e aprovações | Rascunhos, cálculos exactos, etapas, segregação e snapshots | Validação empresarial das regras provisórias |
| Fornecedores | Cadastro, anexos privados e versões bancárias com duas validações | Múltiplas contas e verificação bancária externa |
| Cotações | Propostas, avaliações e matriz comparativa | Multimoeda e revisão das propostas |
| RF-AF-01 | Declarações pessoais, histórico e ConflictGuard no servidor | Política de periodicidade, validade e levantamento |
| Adjudicação | Escolha, aprovação final e cancelamento sem ordem sob política publicada; rascunho revisto ligado | Cancelamento de ordens emitidas, compromissos, estornos e devoluções fora deste circuito |
| Ordens | Emissão única, snapshots, compromisso orçamental, consulta e impressão | Cancelamento de ordens emitidas e validação operacional integral |
| Recepção | Parcial/total, qualidade, divergências, pendentes, segregação do emitente e auditoria | Substituições e anexos; rejeições não autorizam receber acima do total |
| Stock | Artigos, armazéns, entradas, saídas fundamentadas, transferências atómicas, contagens e ajustes auditados por empresa | Revisão visual, reposição e conversões |
| Equipamentos e peças | Cadastro, compatibilidade, mínimos, validação técnica e investimento condicionado | Configuração empresarial, agregação por projecto e fraccionamento |
| Orçamento | Dotação, reforços aprovados, reservas e compromissos por empresa/centro/exercício | Revisão visual, reduções/transferências e validação operacional integral |
| Facturas e pagamentos | Facturas, consumo e registo/conferência de pagamentos externos | Estornos, notas de crédito e anexos |
| Início e navegação | Página inicial própria, menus por área/perfil e consulta pública por módulo | Revisão visual |
| Auditoria | Histórico das operações implementadas | Exportações, retenção e protecção contra SQL administrativo |
| Revisão de compras | Política por empresa com duas aprovações administrativas; decisão independente de Finanças; reserva não comprometida libertada uma vez | Sem activação automática; máximo de um pedido por adjudicação, mesmo rejeitado | | Visão do processo | Etapas, responsáveis, documentos, decisões e ligações às revisões, filtrados por perfil | Consulta não certifica execução integral | | Planeamento | Itens, marcos livres, responsáveis, datas e ligação posterior a requisição | Sem reservas, estimativas financeiras ou aprovação do plano | | Abertura e actas | Sessões opcionais, snapshots de propostas, versões imutáveis e impressão | Sem assinaturas digitais verificadas, propostas seladas, publicação ou qualificação por etapas |
Preservar enums, políticas, modelos relacionais, Brick Math e isolamento por empresa. As regras guardadas nos snapshots não são substituídas pela configuração actual. Ausência de conflito não anula conflito registado. Exemplos públicos fictícios não dão acesso aos dados de negócio.
Verificação actual
Último resultado registado: 443 aprovados, 2 ignorados (MFA desligado),
3.431 asserções, no incremento de abertura. PHPStan, Pint, TypeScript e
compilação aprovados nesse incremento. Referência: 07e775c e
validação técnica. Não foram novamente executados
nesta correcção documental.
Concorrência PostgreSQL documentada por incremento: seis cenários de revisão, quatro de planeamento e quatro de abertura, em bases exclusivas eliminadas. Os 32 cenários da revisão transversal abaixo são evidência histórica, não uma execução conjunta mais recente. Migrações 000015–000017 documentadas como aplicadas após backup/restauro verificados; não verificadas de novo nesta edição.
Revisão visual pública, autenticada e de impressão, MFA e validação operacional integral permanecem pendentes. Cancelamento de adjudicação sem ordem está implementado sob política aprovada; cancelamento de ordens emitidas permanece fora do âmbito. As secções abaixo conservam resultados e pendências históricos, ultrapassados onde os módulos posteriores já foram entregues.
Histórico da entrega de investimento
Regras de investimento entregues por empresa, com parâmetros explícitos e duas aprovações administrativas independentes. Dotação classificada, reserva e Finanças obrigatórias para equipamento; regra congelada e revalidada antes de emitir. Migração 000014 no lote 15 após backup/restauro verificados de 46 tabelas. Três cenários concorrentes PostgreSQL aprovados. Suite actual: 393 aprovados, 3 ignorados, 2.886 asserções. Nenhuma regra criada na base real. Aprovação adicional, agregação por projecto, detecção de fraccionamento, revisão/cancelamento de processos e revisão visual continuam pendentes.
Histórico da entrega de reforços
Reforços entregues por empresa/centro/exercício, com aprovação independente e histórico, sem reescrever a dotação inicial. Migração 000013 no lote 14 após backup e restauro verificados de 45 tabelas. Três cenários concorrentes PostgreSQL aprovados. Suite actual: 370 aprovados, 3 ignorados, 2.704 asserções. Tabela de reforços vazia na base real. Regras de investimento, reduções, transferências, estornos e revisão visual continuam pendentes.
Histórico da entrega de pagamentos externos
Registo e conferência de pagamentos externos entregues, com liquidação parcial, independência, revalidação bancária e consumo orçamental sem duplicação. Suite actual: 347 aprovados, 3 ignorados e 2.630 asserções. Migração 000012 aplicada no lote 13 após backup e restauro verificados de 44 tabelas. Três cenários concorrentes PostgreSQL e 33 testes específicos aprovados. Tabela de pagamentos externos vazia na base real. Não executa transferências. Reforços, estornos, investimento e revisão visual continuam pendentes.
Histórico da entrega de dados bancários
Dados bancários entregues: versões por empresa/fornecedor, duas decisões independentes de Finanças, campos sensíveis cifrados e consultas restritas. Migração 000011 no lote 12 após backup e restauro verificados de 42 tabelas. Três cenários concorrentes PostgreSQL aprovados. Suite actual: 314 aprovados, 3 ignorados, 2.523 asserções; 16 casos bancários. Tabelas bancárias vazias na base real. Pagamentos e revisão visual continuam pendentes.
Histórico da entrega de facturas
Facturas e consumo entregues: migração 000010 aplicada no lote 11 após backup e restauro verificados de 39 tabelas. Três cenários concorrentes PostgreSQL e 22 testes de facturas aprovados. Suite completa actual: 298 aprovados, 3 ignorados, 2.449 asserções. Novas tabelas vazias na base real. Revisão visual, dados bancários, pagamentos, reforços e regras de investimento continuam pendentes.
Histórico da aplicação do orçamento
Actualização de orçamento: cadastro e aprovação independente de dotações por empresa/centro/exercício, com base de IVA explícita, reservas, libertações e compromissos implementados. Migração 000009 aplicada no lote 10 após backup e restauro verificados de 37 tabelas. Cinco cenários concorrentes PostgreSQL aprovados; 14 testes de orçamento passaram com 40 asserções. Não foram criadas dotações na base real. Facturas, reforços, pagamentos e validação operacional integral continuam pendentes. Ver relatório actual.
Referência anterior à aplicação do orçamento
Referência consolidada: 75ffdb3, com 262 testes aprovados, 3 ignorados e
2.327 asserções. Nova verificação dirigida de equipamentos, adjudicação,
ordens e navegação: 87 testes aprovados, 1.163 asserções. As onze migrações,
incluindo 000008 no lote 9, foram confirmadas aplicadas por migrate:status.
As páginas públicas inicial, consulta, equipamentos, recepções, stock e operações
responderam HTTP 200. Os acessos sem sessão a equipamentos, recepções, stock e
ordens responderam 302 para login. Estes resultados não são revisão visual.
O navegador voltou a reportar The browser access host is unavailable.
Revisão visual pública, autenticada e de impressão permanece pendente.
Orçamento e facturas não estão implementados; as regras empresariais ainda
estão por definir. A proposta de regras financeiras
é um documento para decisão, não uma aprovação. O orçamento continua sem validação.
Sete cenários PostgreSQL de stock constam da evidência histórica, incluindo
saída de peça com equipamento; não foram novamente executados nesta revisão.
Histórico da entrega de stock anterior aos equipamentos
Na implementação, 233 testes passaram, 3 ignorados, 2.163 asserções em SQLite em memória; PHPStan, Pint, frontend, TypeScript e compilação aprovados. Migrações até 000007 efectivamente aplicadas na base actual; 000007 no lote 8, sem migrações pendentes. Antes da aplicação foi criado backup custom PostgreSQL e restaurado com sucesso numa base temporária exclusiva, depois eliminada. Contagens e hashes das 31 tabelas anteriores coincidiram antes/depois; restrições existentes preservadas. Mantêm-se 1 utilizador, 1 empresa, 1 departamento e 1 centro de custo. Sem seeds, recriação de contas ou movimentos fictícios; stock_movements e stock_operations vazias. .env inalterado. Evidência da migração e recuperação.
Backup privado: storage/app/private/backups/stock-000007-20261028-111943-4deef2/, com database.dump, manifesto, cópia do ambiente e instruções de recuperação para uma base nova. Nenhuma restauração foi feita sobre a base actual. A migração acrescenta a tabela e ligação de operações, relaxa a obrigatoriedade da recepção e preserva os valores existentes; o PostgreSQL já utilizava bigint assinado. down() permanece bloqueado para proteger o histórico.
Quatro cenários simultâneos de recepção passaram numa base PostgreSQL separada, eliminada no final: excesso, repetição, quantidades complementares e guia duplicada. Evidência. Não constitui teste de carga ou de concorrência dos outros módulos.
Seis cenários simultâneos de stock aprovados em PostgreSQL separado, eliminado no final: excesso de saídas, repetição de saída/transferência/ajuste, transferências opostas e ajuste desactualizado. Evidência. Apenas Armazém executa; Administração, Procurement e Finanças consultam. Contagens não movimentam stock; ajustes fundamentados exigem contagem compatível e sem movimentos posteriores. Periodicidade, tolerâncias e investigação/resolução das divergências exigem decisão da empresa; não foi inventado um circuito de aprovação.
Após a aplicação, /consulta/operacoes-stock respondeu HTTP 200 e /stock/operacoes redireccionou para login (302) no cliente sem sessão. Os resultados desta secção são históricos. A entrega posterior de equipamentos substitui as antigas indicações de que esse módulo ainda não tinha sido iniciado. Resultados e limitações em desenvolvimento.md.