Files
compras/docs/compatibilidade.md
T
nala 4d42f083ce
tests / ci (push) Canceled after 0s
commit
2026-10-28 12:06:05 +02:00

77 lines
5.4 KiB
Markdown

# Consolidação do ProcuraFlow
Estado verificado em 28 de Outubro de 2026.
## Projecto activo
O projecto activo é `C:\laragon\www\compras`, em Laravel, React, TypeScript,
Inertia e PostgreSQL, em http://127.0.0.1:8015. A conta já foi criada.
Preservar `APP_URL=http://127.0.0.1:8015`, `SERVER_PORT=8015`,
`SESSION_COOKIE=procuraflow_session` e `SESSION_DRIVER=database`.
O SGF Tempo é independente.
A implementação Python/React na pasta de outputs da conversa fica descontinuada
como aplicação executável e preservada apenas como referência. Não importar
contas sintéticas, bases SQLite, sessões ou palavras-passe. Não executar os seus
servidores ou contentores. O iniciador antigo passa a indicar o endereço do projecto Laravel, sem iniciar outro servidor.
## Compatibilidade funcional
| Área | Base a preservar | Adaptação da referência experimental |
| ------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| Acesso | Fortify, conta existente, sessões e equipa | Não transportar login Python nem contas fictícias |
| Organização | Empresa, departamentos, centros de custo e isolamento | Aplicar o mesmo isolamento nos novos módulos |
| Requisições | Rascunhos editáveis, validações, relações e numeração | Acrescentar funções sem substituir as existentes |
| Aprovações | RequisitionWorkflow, perfis, etapas e snapshots | Adaptar cenários e testes adicionais |
| Valores | Brick Math e centavos | Não importar o armazenamento genérico JSON |
| Fornecedores e cotações | Cadastro, validação, propostas e comparação implementados no Laravel | Adaptados com tabelas próprias, isolamento, centavos e auditoria existentes |
| Ordens, recepções e facturas | Ainda ausentes nesta base | Adaptar estados, recepções parciais e conferência |
| Stock, equipamentos e orçamento | Ainda ausentes nesta base | Adaptar movimentos, mínimos, inventários e compromissos |
| Relatórios e auditoria | Indicadores e histórico existentes | Adaptar exportação e controlos adicionais |
A consolidação inicial definiu a base única de continuidade. Posteriormente,
fornecedores e cotações foram adaptados ao Laravel; os restantes módulos
experimentais continuam por implementar nesta base.
## Diferenças a resolver em cada adaptação
- Laravel aplica provisoriamente escalões com IVA; o protótipo Python usava sem
IVA. Preservar a configuração existente e snapshots, até decisão de Finanças.
- Perfis e estados têm identificadores diferentes: usar os enums e políticas
Laravel, sem criar perfis concorrentes.
- Preservar as tabelas relacionais e o isolamento por empresa. Não importar a
tabela JSON genérica do protótipo.
- Manter a edição de rascunhos e a gestão da equipa já existentes no Laravel.
- Não apresentar funcionalidades ainda ausentes como implementadas nem considerar
o protótipo uma validação para compras reais.
## Verificação
- Página de entrada em 8015: HTTP 200 e texto “Entrar no ProcuraFlow”.
- Testes Laravel: 47 passaram, 3 ignorados, 219 asserções.
- Testes em SQLite em memória, conforme phpunit.xml; não na base real.
- Nenhuma conta, credencial ou dado real foi alterado nesta consolidação.
## Adaptação de fornecedores e cotações
A migração aditiva `2026_10_28_000002_create_suppliers_and_quotations` criou
suppliers, quotations, quotation_items e proposal_evaluations no PostgreSQL.
A comparação dos registos antes e depois confirmou que utilizadores, empresas,
departamentos, centros de custo, requisições, linhas e aprovações permaneceram
inalterados. Não foram criadas contas ou dados sintéticos na base real.
Validações: 54 testes passaram, 3 ignorados, 305 asserções; análise estática PHP,
tipos TypeScript, formatação e compilação da interface aprovadas.
Âmbito: cadastro e validação de fornecedores, propostas por requisição aprovada,
preços em MZN, IVA herdado, avaliação independente e indicação de completude
da matriz. Os módulos usam a conta/sessão Laravel existente. O navegador abriu
a entrada na porta 8015; a inspecção visual das páginas autenticadas fica
dependente do início de sessão do utilizador. Não foi pedida nem alterada a senha.
Edição/renovação de fornecedores e anexos privados foram acrescentados no
incremento descrito em [desenvolvimento.md](desenvolvimento.md). Continuam
pendentes dados bancários, registo anual de conflitos, adjudicação, ordens,
recepção e restantes módulos. Os resultados anteriores acima referem-se à
adaptação inicial; consultar o relatório de desenvolvimento para a validação actual.