77 lines
5.4 KiB
Markdown
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.
|