方案设计:配料单自动拆解
← 返回场景概览 | 上一阶段:需求探索 → | 下一阶段:开发资产 →
方案概览
本方案设计了一套完整的配料单自动拆解系统,通过多级拆解算法、配方管理、库存检查,实现从菜品订单到原料需求的自动计算。
1. 多级拆解算法
1.1 拆解流程
1.2 拆解规则
拆解层级:
- 一级:菜品 → 配料(如:宫保鸡丁 → 鸡胸肉、花生、辣椒)
- 二级:配料 → 原料(如:鸡胸肉 → 整鸡)
- 三级:原料 → 基础原料(如:整鸡 → 活鸡)
数量计算接口规范
接口名称: calculateMaterialQuantity
输入参数:
- dishQuantity: 菜品数量(number)
- recipe: 配方对象(Recipe)
- lossRate: 损耗率(number, 默认0.05)
输出格式:
typescript
MaterialRequirement[] // 原料需求列表业务规则约束:
- 基础数量 = 菜品数量 × 配方中的配料数量
- 实际数量 = 基础数量 × (1 + 损耗率)
- 遍历配方中的所有配料,计算每个配料的实际需求量
- 返回包含原料ID、名称、数量、单位的需求列表
错误码定义:
- E001: 参数缺失
- E002: 菜品数量为负数
- E003: 损耗率超出范围(0-1)
1.3 损耗率管理
损耗率设置:
- 不同原料有不同的损耗率
- 损耗率可配置
- 损耗率根据历史数据自动调整
损耗率规则:
| 原料类型 | 损耗率 | 说明 |
|---|---|---|
| 生鲜肉类 | 5-10% | 清洗、处理损耗 |
| 蔬菜 | 10-20% | 清洗、去根损耗 |
| 干货 | 2-5% | 少量损耗 |
2. 配方管理
2.1 配方结构
配方定义:
typescript
interface Recipe {
id: string;
dishId: string; // 菜品ID
dishName: string; // 菜品名称
version: string; // 配方版本
ingredients: Ingredient[]; // 配料列表
status: 'draft' | 'approved' | 'archived';
createdAt: Date;
updatedAt: Date;
}
interface Ingredient {
materialId: string; // 原料ID
materialName: string; // 原料名称
quantity: number; // 数量
unit: string; // 单位
lossRate?: number; // 损耗率
}2.2 配方版本管理
版本规则:
- 配方变更创建新版本
- 旧版本保留,可追溯
- 当前使用版本标记
版本审核:
- 配方变更需要审核
- 审核通过后才能使用
- 审核记录完整
3. 库存检查
3.1 库存检查规则
检查流程:
- 拆解后获取原料需求列表
- 查询当前库存
- 计算可用库存(当前库存 - 已预留)
- 比对需求与可用库存
- 生成采购需求(不足部分)
3.2 采购需求生成
需求规则:
- 库存不足自动生成采购需求
- 考虑安全库存
- 考虑采购周期
- 考虑最小采购量
4. 数据模型设计
4.1 配方(Recipe)
typescript
interface Recipe {
id: string;
dishId: string;
dishName: string;
version: string;
ingredients: Ingredient[];
status: 'draft' | 'approved' | 'archived';
createdAt: Date;
updatedAt: Date;
}4.2 原料需求(MaterialRequirement)
typescript
interface MaterialRequirement {
id: string;
orderId: string; // 订单ID
materialId: string; // 原料ID
materialName: string; // 原料名称
requiredQuantity: number; // 需求数量
availableQuantity: number; // 可用库存
shortageQuantity: number; // 缺货数量
unit: string; // 单位
status: 'sufficient' | 'insufficient';
createdAt: Date;
}5. 关键业务规则总结
5.1 拆解规则
- 多级拆解:菜品 → 配料 → 原料
- 数量计算:考虑损耗率
- 自动检查库存
5.2 配方规则
- 配方版本管理
- 配方审核流程
- 配方变更可追溯
5.3 采购规则
- 库存不足自动生成采购需求
- 考虑安全库存和采购周期
- 采购需求审批流程
下一步:开发资产
在开发资产阶段,我们将:
- 创建 Cursor Skills(业务规则、数据模型)
- 创建 PROMPT 模板(需求调研、方案设计)
- 创建代码模板(API 接口、前端组件)

