68 lines
2.6 KiB
Markdown
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 |
|