Produção e Padaria (PCP)
Visão Geral
O módulo de PCP (Planejamento e Controle da Produção) calcula quantidades de preparo antecipado para o dia com base no histórico de vendas. Ideal para padarias, confeitarias e restaurantes com itens de longa preparação (massas, molhos, pães).
| Característica | Detalhe |
|---|---|
| Rota | /t/:slug/admin/production-pcp |
| Acesso | Admin, branch_manager |
| Frontend | frontend-react/src/views/admin/ProductionPcpView.tsx |
| Guia do usuário | Produção e Padaria (user guide) |
Localização
| Camada | Arquivo |
|---|---|
| View | frontend-react/src/views/admin/ProductionPcpView.tsx |
| Dados | Usa histórico de Orders + MenuItem |
Como Funciona
O sistema analisa a média de vendas dos últimos N dias (configurável, default 14) e sugere quantidades de preparo:
Vendas histórias (últimos 14 dias)
│
▼
Média por dia da semana (ex: segunda → 45 pães; sexta → 120 pães)
│
▼
Ajuste por sazonalidade/evento (feriado, promoção)
│
▼
Lista de produção do dia (quantidade por item)Itens de Preparo Antecipado
Para aparecer na lista de PCP, o item do cardápio precisa ter:
- BOM configurado (
/admin/bom) com ingredientes vinculados - Lead time informado no item (ex.: pão de queijo = 45min de forno)
- Categoria marcada como "produção antecipada" nas configurações do cardápio
Lista de Produção Diária
A view exibe uma lista ordenada por horário de início de preparo:
| Horário de início | Item | Quantidade sugerida | Rendimento |
|---|---|---|---|
| 05:30 | Pão francês | 150 un | 30 por fornada |
| 06:00 | Croissant | 60 un | 20 por fornada |
| 07:00 | Molho de tomate | 8L | 1 panela |
O atendente pode ajustar a quantidade antes de confirmar. Ao confirmar, a produção é registrada e desconta do estoque de insumos via BOM.
Integração com BOM
O módulo PCP depende diretamente do BOM (/admin/bom) para:
- Calcular consumo de insumos por lote de produção
- Verificar estoque disponível antes de sugerir quantidade
- Alertar quando o estoque é insuficiente para o plano do dia
Se o estoque de um insumo for menor que o necessário, a linha aparece com alerta laranja e quantidade ajustada para o máximo possível.
API
GET /t/:slug/admin/production-plan?date=YYYY-MM-DD&branchId=:id
→ Lista de itens com quantidade sugerida para o dia
POST /t/:slug/admin/production-plan/confirm
Body: { date, items: [{ menuItemId, quantity }] }
→ Registra produção e baixa estoque via BOM