Files
compras/docs/armazem-requisicoes-exportacao.md
nala 63d20b10fc
tests / ci (push) Canceled after 0s
commit de armazens
2026-11-04 09:40:26 +02:00

2.4 KiB

A3 — exportação do acompanhamento das requisições internas

03/11/2026. O acompanhamento passa a disponibilizar CSV integral com os filtros aplicados no ecrã: tarefa, estado, pesquisa por RA/requisitante/destino e armazém. A página seleccionada não limita a exportação. O botão usa os filtros efectivamente aplicados, não alterações ainda por submeter.

O cadastro e a exportação partilham WarehouseWorkdesk.filteredBase, visible e forView; estados usam a projecção nativa. A exportação exige os mesmos perfis da lista, relê o utilizador antes de gerar o conteúdo e respeita o âmbito da empresa, departamento e tarefa. Não concede direitos nem inclui requisições alheias ao âmbito. PostgreSQL usa transacção de leitura repetível, como a lista existente.

Cada linha do CSV representa um artigo de uma requisição, com unidade, destino e equipamento preservados. Quantidades pedida, reservada actualmente, entregue acumulada, por entregar e cancelada vêm de WarehouseFulfilment.progress. Não se somam artigos com unidades diferentes. A disponibilidade da estrutura de reservas é explícita; zeros com estrutura indisponível não certificam ausência de compromissos. Entregas acumuladas não descontam devoluções/correcções posteriores. Inclui ligação à ficha e metadados da data/filtros; não é factura nem nova saída.

Exportação em blocos de 100 requisições, sem carregar todas as linhas simultaneamente. UTF-8 com BOM, separador ponto e vírgula e protecção de células interpretáveis como fórmulas. Texto com separadores é escapado pelo escritor CSV. Repetir a consulta não cria eventos, reservas, compras ou movimentos.

Sem migrações, activação de políticas, alteração de aprovações ou de MFA. Dados e contas do piloto preservados. Validação dirigida documentada em docs/proofs/warehouse-request-export.json e warehouse-request-export-pg.json; as contagens não se somam a provas históricas. Não constitui teste de carga nem revisão visual completa.

Validação A3: WarehouseFulfilmentTest + WarehouseRequestsTest, 26 testes/437 verificações aprovados. PostgreSQL descartável, 3 testes/29 verificações aprovados e base removida. PHPStan, tipos, formatação e diff aprovados. Contagens não aditivas às provas anteriores.

Compilação de produção concluída com êxito; rota de exportação conferida. Nenhum ensaio visual completo foi declarado.