方案设计:批次追溯
← 返回场景概览 | 上一阶段:需求探索 → | 下一阶段:开发资产 →
方案概览
本方案设计了一套完整的批次追溯系统,通过批次编码规则、追溯关系模型、追溯查询算法,实现从原料到成品的全程追溯,确保食品安全。
1. 批次编码规则
1.1 编码格式
原料批次编码:
RAW-YYYYMMDD-XXX
例如:RAW-20250116-001成品批次编码:
FIN-YYYYMMDD-XXX
例如:FIN-20250116-0011.2 批次信息
批次包含信息:
- 批次号
- 生产/入库日期
- 供应商/生产车间
- 数量
- 质量检验结果
2. 追溯关系模型
2.1 追溯链条
2.2 追溯关系表
关系存储:
typescript
interface BatchTraceRelation {
id: string;
sourceBatchId: string; // 源批次ID
sourceBatchType: 'raw' | 'intermediate' | 'finished';
targetBatchId: string; // 目标批次ID
targetBatchType: 'intermediate' | 'finished' | 'delivery';
quantity: number; // 使用数量
ratio: number; // 使用比例
createdAt: Date;
}3. 追溯查询
3.1 正向追溯(成品→原料)
查询流程:
- 输入成品批次号
- 查询成品批次关联的配料批次
- 查询配料批次关联的原料批次
- 展示完整的追溯链条
3.2 反向追溯(原料→成品)
查询流程:
- 输入原料批次号
- 查询原料批次关联的配料批次
- 查询配料批次关联的成品批次
- 展示所有使用该原料的成品
3.3 快速召回
召回流程:
- 发现问题批次
- 系统自动查询所有相关成品批次
- 生成召回清单
- 通知相关配送点召回
4. 数据模型设计
4.1 批次信息(Batch)
typescript
interface Batch {
id: string;
batchNo: string; // 批次号
batchType: 'raw' | 'intermediate' | 'finished' | 'delivery';
productId: string; // 产品ID
productName: string; // 产品名称
quantity: number; // 数量
unit: string; // 单位
productionDate: Date; // 生产/入库日期
supplierId?: string; // 供应商ID
qualityStatus: 'qualified' | 'unqualified' | 'pending';
createdAt: Date;
updatedAt: Date;
}4.2 追溯关系(TraceRelation)
typescript
interface TraceRelation {
id: string;
sourceBatchId: string;
targetBatchId: string;
quantity: number;
ratio: number;
createdAt: Date;
}5. 关键业务规则总结
5.1 批次规则
- 原料入库自动生成批次号
- 成品生产自动关联原料批次
- 批次编码统一规范
5.2 追溯规则
- 正向追溯:成品→原料
- 反向追溯:原料→成品
- 快速召回:问题批次→相关成品
下一步:开发资产
在开发资产阶段,我们将:
- 创建 Cursor Skills(业务规则、数据模型)
- 创建 PROMPT 模板(需求调研、方案设计)
- 创建代码模板(API 接口、前端组件)

