obsidian-vault/Pizza-Digital/PRD/PRD-SPEC-ESTOQUE.md

68 lines
2.6 KiB
Markdown

# PRD — Estoque / SmartStock
| Campo | Valor |
|-------|--------|
| **Produto** | Pizza Digital |
| **Versão app auditada** | v0.5.0 |
| **Ambiente** | https://pizza.itecnologys.com · VM125 · loja `pizza-digital-piloto` |
| **Spec de origem** | `docs/SPEC-ESTOQUE.md` |
| **Módulo** | Insumos, CMV, transferências, turnos |
| **Rotas UI** | `/estoque` `/estoque/smart/*` |
| **APIs** | `/api/estoque/*` `/api/estoque/smart/*` |
| **Data** | 2026-11-09 |
| **Estilo** | PRD operacional detalhado (visão de desenvolvedor) |
| **Audiência** | Dev / QA / Product |
> Como ler: cada seção descreve o **processo real** (o que o sistema faz hoje),
> com passos de usuário, chamadas de API, regras de negócio e estados.
> Status: ✅ construído · ⚠️ parcial · ⏳ especificado / não entregue · 🐛 gap observado.
## 1. Visão de implementação
Dois níveis:
1. **Estoque clássico** (`/api/estoque`) — insumos, ajuste, relatório, preview baixa
2. **SmartStock** (`/api/estoque/smart`) — estações, transferências, picking, turnos, contagens
Ponte com cardápio: BOM (`MenuItemRecipeLine`) e `stockMode`.
## 2. Processo — baixa por venda (conceitual)
1. Pedido confirmado com itens `stockMode=bom`
2. Preview `POST /api/estoque/preview`
3. Consumo grava `RecipeConsumption` / movimentos
4. Alerta se saldo insuficiente (strict mode `PATCH /api/estoque/strict`)
## 3. Processo — SmartStock transferência (dev steps)
1. Estação solicita: `POST /estoque/smart/requests`
2. Central vê `GET /estoque/smart/transfers`
3. `POST .../start-picking` → `PATCH .../picking` linhas
4. `POST .../dispatch` → envio
5. Destino `POST .../receive`
6. Movimentos auditáveis `GET /estoque/smart/movements`
## 4. Processo — turno / fechamento
1. `POST /estoque/smart/shifts/open`
2. Contagens `POST .../counts`
3. Aprovação por insumo `POST .../approve/:ingredientId`
4. `POST .../close`
5. UI: `/estoque/smart/fechamento/:shiftId`
## 5. UI map
- Dashboard, Central, Transferências, Consumo, Movimentos, Estação, Recebimento
## 6. Aceite
- ✅ Módulo SmartStock amplo na API/UI
- ⚠️ Strict/BOM amarrado 100% ao PDV em todos itens
- ⏳ NF compra / inventário físico completo
## 7. SmartStockService (~1838 linhas) — processos chave
| Método | Processo |
|--------|----------|
| `dashboard` / `listStations` / `stationBoard` | Visão |
| `createRequest` | Pedido de reposição |
| `startPicking` / `updatePickingLines` | Separação |
| `dispatchTransfer` / `receiveTransfer` | Envio/recebimento |
| `openShift` / `saveCounts` / `approveCount` / `closeShift` | Fechamento |
| `movements` / `movementDetail` / `moveBalance` | Auditoria saldo |