Files
compras/docs/menus-benchmark-20261029.md
T
2026-10-30 20:14:24 +02:00

17 KiB
Raw Blame History

Menus de Compras — primeira aplicação do benchmark

Administração → Parametrização da aplicação, 30/10/2026: nova entrada /administracao/parametrizacao, para perfis/permissões da empresa, utilizadores/atribuições, limites de aprovação, activação e manutenção TEMPO temporária de consulta. Dois administradores permanentes no arranque e na gestão; nenhum perfil de desenvolvimento é atribuído nas novas empresas. Menus passam a aceitar a combinação das permissões configuradas, com recusa correspondente no servidor. Novas empresas usam os seus perfis; a avaliação existente conserva a preparação sem activação automática. Contrato actual: 107 entradas nos seis perfis de compatibilidade, incluindo provas de múltiplas permissões configuradas; catálogo da avaliação com 23 páginas. Ver proofs/organization-configuration.json e provas relacionadas. A gestão universal de etapas/condições e a granularidade por operação ainda não estão concluídas. Visual pendente pela limitação da ferramenta anteriormente registada.

Contraditório na avaliação, 30/10/2026: Fornecedores → Avaliações → revisão aprovada → Contraditório do fornecedor. Entrada pela equipa dos argumentos/documentos recebidos, rascunho, análise independente, devolução/correcção e conclusão fundamentada com seguimento. Histórico e relatório individual conservam a origem e a avaliação aprovada. Mesmos perfis/âmbitos, sem nova permissão ou envio externo. Disponível em 8005 após migração 000026 com backup/restauro e preservação das 83 tabelas anteriores verificados. 39 testes/505 asserções e HTTP/PostgreSQL aprovados; menu permanece com 106 entradas/seis perfis. Provas proofs/supplier-responses*.json. Visual/impressão, consolidado dos contraditórios, anexos e prova de comunicação continuam pendentes; esta entrega substitui apenas a pendência do registo/análise nos estados abaixo.

Consolidado de medidas, 30/10/2026: grupo Relatórios inclui «Medidas de melhoria», com consulta paginada, filtros, resumo, ligações à avaliação/medida e relatório e CSV de todos os resultados. Atalho adicional nas avaliações. Mesmos quatro perfis de consulta, isolamento por empresa/departamento e nenhuma permissão nova. Contrato actual: 106 entradas somadas nos seis perfis, catálogo de avaliação com 22 páginas; provas HTTP e automatizadas em proofs/supplier-improvement-report*.json. Sem migração ou escrita de negócio; visual/impressão manual pendentes. Esta actualização acrescenta o consolidado aos estados históricos abaixo.

Medidas de melhoria disponíveis, 30/10/2026: menu Fornecedores → Avaliações → revisão aprovada → medidas/execução → conferência independente → relatório com acompanhamento datado. Responsáveis/prazos, alterações justificadas, alertas de atraso, evidências, devolução/correcção e encerramento imutável, sem alteração automática da elegibilidade. Disponível em 8005, com migração 000025 e backup/restauro verificados. 72 testes/768 asserções e HTTP/PostgreSQL aprovados. Esta actualização substitui a pendência de medidas no registo abaixo; a proposta quantitativa e o contraditório continuam por desenvolver. Visual/impressão pendentes por encerramento do controlo da ferramenta, que não conseguiu confirmar o URL Windows para aplicar a política.

Estado actual da avaliação de fornecedores, 30/10/2026: o menu já abre um ciclo persistente de rascunho, critérios/evidências, submissão, devolução/correcção e aprovação independente. Inclui versões, histórico, rectificação preservando a aprovação anterior e relatório imprimível. Disponível na avaliação 8005; migração aditiva com backup/restauro e preservação das 81 tabelas anteriores conferidos. Sem pontuação automática ou alteração de elegibilidade. 61 testes/655 asserções, tipos, PHPStan, lint dirigido, build, HTTP e triggers PostgreSQL aprovados. Visual/impressão manual pendentes. Este estado substitui a indicação histórica de «proposta de interface» no inventário abaixo; a proposta quantitativa e medidas de melhoria continuam por implementar.

Compatibilização entre menu, código e relatórios — 30/10/2026

Inventário do código actual, preservando as entregas anteriores. scripts/menu-code-check.mjs confere a definição real do menu contra as rotas Laravel GET e o destaque activo: 102 entradas somadas nos seis perfis, com obrigações ligadas/desligadas. Prova em proofs/menu-code-contract.json. É prova de ligação/capacidade do menu, não declaração de funcionamento integral de cada módulo.

Grupo do menu Código e percurso existentes Ligação ao relatório / saldo identificado
Requisições RequisitionController: criar, editar, submeter, decidir, vistas pessoais/rascunhos; PurchasePlanningController: itens, responsáveis e marcos O processo reúne as etapas; a central nova localiza pedidos por número, data, estado e departamento.
Aprovações Elegibilidade e decisões em RequisitionController/RequisitionWorkflow Conservadas as decisões efectivas; relatórios não executam nem substituem aprovações.
Consultas e adjudicações QuotationController, abertura, qualificação, admissão, recomendação e PurchaseController; revisão/cancelamento existente Relatório de conferência recupera bases, versões e decisões; não inventa validade de documentos antigos.
Fornecedores Cadastro/manutenção/documentos em SupplierController e SupplierDocumentController Avaliação de fornecedores continua como proposta de interface: não existem ainda gravação/revisão/histórico operacional desse módulo. Desenvolver esse fluxo até ao seu relatório é a próxima lacuna funcional concreta.
Recepções e armazém GoodsReceiptController, StockController, StockOperationController e EquipmentController O relatório individual passa a incluir recepções associadas e a ligação às respectivas fichas; não presume entrega integral nem adiciona movimentos.
Finanças Facturas, pagamentos externos, orçamento/reforços e políticas existentes; núcleo comum sob configuração própria Relatório individual inclui facturas/registos de pagamentos apenas para Finanças/Administração. Montantes preservados, sem cálculo de saldo ou inferência de liquidação. Pagamentos/afectações sintéticos e relatórios agregados financeiros ainda requerem os incrementos próprios.
Administração e controlo Empresa/equipa/centros, políticas de admissão/recomendação e conflitos Mantidas regras e autorizações existentes; não há criação de contas ou novos direitos por abrir relatórios.
Relatórios Nova central /relatorios e exportação /relatorios/compras.csv, ligadas ao backend Menu → filtros → requisição/processo → relatório de conferência → impressão existente. CSV usa todos os resultados autorizados dos filtros, não só a página visível.

O novo recorte não encerra contratos, multimoeda, relatórios financeiros agregados, avaliação de fornecedores ou o percurso comercial dos pagamentos ainda sintéticos. A prioridade seguinte é substituir a proposta de avaliação por um ciclo persistente, com critérios/configuração e evidências explícitos, revisão, histórico e relatório; não activar pesos/políticas provisórias silenciosamente.

Verificações deste recorte: 14 testes Feature/223 asserções, incluindo 207 requisições exportadas em mais de um lote, isolamento por empresa/departamento, recarga do perfil, filtros, montantes inteiros exactos, texto CSV não executável como fórmula, relatório até recepção/factura/pagamento, ausência de dados bancários e de efeitos nos saldos/auditoria. Tipos, lint, Pint, PHPStan e build aprovados. Conferência visual/impressão manual pendente; sem migrações, novas escritas de negócio ou publicação no domínio.

Actualização de apresentação, 30/10/2026: por pedido do proprietário, a navegação autenticada foi colocada na horizontal em ecrãs grandes, com dropdowns e o mesmo visual escuro, grupos, ícones, pesquisa e regras por perfil. O painel móvel mantém-se. Este estado substitui apenas a disposição lateral descrita no registo histórico abaixo; não altera os processos ou permissões. Tipos, lint, formatação e módulo Vite aprovados; conferência visual desta alteração ainda não executada por indisponibilidade do conector do navegador.

29/10/2026. Pedido do proprietário: renovar os menus antes de retomar o trabalho funcional pendente. Referência fornecida: referencias/benchmark-menus-20261029.txt. Este incremento aplica a organização da navegação; não declara implementado todo o benchmark.

Entregue

A aplicação autenticada usa agora um menu lateral por tarefas e uma barra superior com pesquisa do menu, atalho de nova requisição e conta. As secções podem ser expandidas, a área actual abre automaticamente e a ligação corrente fica destacada. Pesquisa sem distinção de acentos/maiúsculas, limpeza e mensagem de ausência de resultados. Não é uma pesquisa global de documentos.

Secção Percursos existentes reunidos
Painel inicial Visão geral e indicadores existentes
Requisições Nova, minhas, meus rascunhos, todas as autorizadas e planeamento
Aprovações Próxima decisão elegível para o utilizador e histórico das suas decisões de requisições
Consultas e adjudicações Cotações/comparação, adjudicações/ordens e revisão/cancelamento existente
Fornecedores Cadastro e documentos
Recepções e armazém Recepções/divergências, artigos/stock, saídas/inventários, equipamentos/peças
Finanças Facturas, obrigações autorizadas, pagamentos externos, orçamentos/reforços e investimento
Administração e controlo Empresa/equipa/centros, políticas de admissão/recomendação e conflitos

O layout real é SgcShell, usado por AppLayout; o componente antigo AppSidebar não é a navegação activa. A renovação foi feita no layout efectivamente utilizado. As consultas públicas mantêm o seu layout próprio e as ligações anteriores. O núcleo comum de obrigações continua com o seu ecrã próprio e regresso às facturas; a sua ligação usa carregamento completo para não receber uma página HTML como modal Inertia.

Listas ligadas ao servidor

/requisicoes?view=mine limita ao autor da sessão. view=approvals reutiliza canDecide, incluindo empresa, departamento, próxima etapa, autor distinto, decisões anteriores e conflitos. view=decided filtra decisões efectivamente registadas pelo utilizador. Todos os conjuntos partem da consulta autorizada existente. Filtros de estado/referência e paginação mantêm o conjunto escolhido. status=draft&view=mine abre os rascunhos pessoais; não altera as regras actuais para guardar rascunhos.

Menu filtrado pelos perfis existentes; obrigações só aparece quando o servidor confirma consulta. Não foram criadas contas ou concessões, alterados limites, regras fiscais, processos de aprovação ou dados de negócio. Não há migração nova neste incremento.

Verificação

  • 44 testes aprovados, 539 asserções: requisições, vistas pessoais, elegibilidade, isolamento entre empresas, decisões, entrada pública e demonstrações.
  • Build, TypeScript, lint do âmbito, Pint e PHPStan do controlador aprovados; git diff --check sem erros.
  • Navegador local: inspecção visual a 1280 × 900 e 390 × 844; menu, expansão, pesquisa «obrigacoes» sem acentos, ausência/limpeza de resultados, destaque único da ligação visível, vistas de rascunhos/aprovações e navegação para obrigações/regresso às facturas. Sem deslocamento horizontal nos modos verificados. Dimensão temporária reposta no final.
  • Drawer móvel com foco contido e botão de fecho; ligações fecham o drawer. Sem operações de negócio durante a prova visual.
  • Capturas em proofs/screenshots/menu-desktop.png e menu-mobile.png. Esta é verificação técnica visual, não aceitação atribuída ao proprietário.

Trabalho preservado para continuação

Conferência das ligações após renovação

scripts/menu-links-check.mjs verifica a própria definição do menu contra a instalação local: 94 entradas somadas nos seis perfis, páginas de conta/aparência, recusas no servidor para empresa/finanças sem direito, vistas pessoais, ordenação dos parâmetros e opção activa. No processo de exemplo, conferidas 12 ligações internas, incluindo requisição, orçamento, cotações, adjudicação, ordem, recepção, facturas, pagamentos, relatório, admissão e recomendação. Factura → obrigação → facturas e igualdade do histórico antes/depois também aprovadas. Evidência em proofs/menu-links.json; sem comandos de negócio.

Encontrados e corrigidos dois destaques de navegação: /requisicoes/{id}/relatorio pertence a cotações/comparação e /requisicoes/{id}/adjudicacao pertence a adjudicações/ordens. Antes abriam a página correcta, mas o menu destacava requisições. Os casos têm agora asserções de regressão na conferência. Build actualizado aprovado.

Esta conferência é HTTP e de correspondência das rotas do menu. A nova inspecção visual não pôde ser repetida porque o controlo do navegador devolveu browser.user is unavailable, incluindo ao recuperar o separador existente; não se apresenta a prova visual do incremento anterior como nova verificação. As capturas anteriores permanecem referências da entrega inicial.

Retomar o transporte do histórico de pagamentos na integração factura → obrigação, preservando principal, confirmações/pendências e responsabilidade única pelo saldo. A aplicação do esquema e a activação local anteriores ficam preservadas.

O formulário proposto no benchmark continua a ser evolução funcional própria: guardar dados incompletos, revisão antes de submeter, aviso de alterações não guardadas, anexos e campos/validações adicionais. Contratos/acordos, catálogo unificado, multimoeda, pesquisa global e novos relatórios ainda exigem implementação. Os menus desta entrega conduzem a capacidades existentes; não representam essas capacidades futuras como concluídas.