Skip to content

方案设计:批次追溯

← 返回场景概览 | 上一阶段:需求探索 → | 下一阶段:开发资产 →


方案概览

本方案设计了一套完整的批次追溯系统,通过批次编码规则、追溯关系模型、追溯查询算法,实现从原料到成品的全程追溯,确保食品安全。

1. 批次编码规则

1.1 编码格式

原料批次编码:

RAW-YYYYMMDD-XXX
例如:RAW-20250116-001

成品批次编码:

FIN-YYYYMMDD-XXX
例如:FIN-20250116-001

1.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 正向追溯(成品→原料)

查询流程:

  1. 输入成品批次号
  2. 查询成品批次关联的配料批次
  3. 查询配料批次关联的原料批次
  4. 展示完整的追溯链条

3.2 反向追溯(原料→成品)

查询流程:

  1. 输入原料批次号
  2. 查询原料批次关联的配料批次
  3. 查询配料批次关联的成品批次
  4. 展示所有使用该原料的成品

3.3 快速召回

召回流程:

  1. 发现问题批次
  2. 系统自动查询所有相关成品批次
  3. 生成召回清单
  4. 通知相关配送点召回

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 追溯规则

  • 正向追溯:成品→原料
  • 反向追溯:原料→成品
  • 快速召回:问题批次→相关成品

下一步:开发资产

在开发资产阶段,我们将:

  1. 创建 Cursor Skills(业务规则、数据模型)
  2. 创建 PROMPT 模板(需求调研、方案设计)
  3. 创建代码模板(API 接口、前端组件)

查看开发资产 →

基于 AI 辅助开发,快速、灵活、可靠