Envase
Homologação de /envase (fila) e /envase/:id (execução). Lista com API (currentStageTypeId = Packaging); execução com mock por id até integração completa.
/envase (fila)
- Permissão —
ProductionView. - Cabeçalho fixo (sticky) — Título “Envase”, subtítulo, busca e filtro de status sempre visíveis no scroll.
- Busca — Por código ou produto (
searchTerm). - Filtro de status — Opções dinâmicas a partir dos resultados.
- Resumo — Cartão Total (contagem filtrada).
- API —
useProductionOrderscomProductionOrderStageType.Packaging. - Cartão de ordem — Código, badge prioridade, produto, quantidade, data, linha “Etapa: Envase”; botão Iniciar Envase →
/envase/{ordem.id}. - Estados — Loading, erro, vazio com ícone e texto explicativo.
- Scroll horizontal — Área de resumo em mobile.
/envase/:id (execução)
- Voltar — Para
/envase. - Cabeçalho da OP — Código, produto, meta vs quantidade envasada, prioridade, linha, data CQ concluído.
- Materiais de embalagem — Embalagens primárias e secundárias; stock disponível vs necessário; unidades por caixa.
- Registro de produção — Incremento/decremento de unidades envasadas; validação contra meta.
- Progresso — Barra percentual em relação à meta.
- Colapsáveis / secções — Detalhe de consumo, perdas, paradas. (conforme UI)
- Concluir envase — Gera lotes acabado, movimenta stock de embalagem e produto acabado; avança ou conclui OP na API.
Hoje: mockOrdens por id; ações podem ser só locais. (pendência crítica) - Etiquetagem — Impressão de lote / serial. (opcional)
Fluxos transversais
- Paragem de linha — Registo de parada durante envase.
- Integração com estoque — Baixa de embalagens e entrada de PA refletem em
/estoquee lotes.