配料单自动拆解规则
适用于中央厨房、食品加工场景的配方拆解与原料需求计算。
规则文件内容
请复制以下内容,保存为 .cursor/rules/recipe-breakdown.mdc:
markdown
---
description: 配料单自动拆解与原料需求计算规则
globs: src/modules/recipes/**, src/modules/orders/**, src/modules/inventory/**
---
# 配料单自动拆解业务规则
## 1. 核心原则
- **拆解可追溯**:菜品、配料、原料的映射关系必须可回溯。
- **损耗入模**:计算需求时必须叠加损耗率。
- **库存先校验**:拆解结果必须进入库存可用量检查。
## 2. 拆解规则
### 2.1 拆解层级
- 一级:菜品 -> 配料
- 二级:配料 -> 原料
- 三级(可选):原料 -> 基础原料
### 2.2 数量计算
`required_qty = order_qty * recipe_qty * (1 + loss_rate)`
### 2.3 损耗率规则
| 原料类型 | 建议损耗率 |
| :--- | :--- |
| 生鲜肉类 | 5% - 10% |
| 蔬菜 | 10% - 20% |
| 干货 | 2% - 5% |
## 3. 库存与采购联动
1. 计算 `required_qty`。
2. 查询 `available_qty = stock - reserved`。
3. 若 `required_qty > available_qty`,自动生成采购需求。
## 4. 配方管理约束
- 配方变更必须产生新版本。
- 仅 `approved` 状态配方可用于线上拆解。
- 拆解记录必须绑定配方版本号。
## 5. 数据模型约束
- `recipes` 必须包含 `version`, `status`.
- `recipe_ingredients` 必须包含 `loss_rate`.
- `material_requirements` 必须记录 `required_qty`, `shortage_qty`.适用场景
- 中央厨房订单拆解
- 食品加工原料计划
- 多门店统一配方供给

