批次追溯规则
适用于食品生产与配送场景的批次编码、追溯与召回。
规则文件内容
请复制以下内容,保存为 .cursor/rules/batch-tracking.mdc:
markdown
---
description: 批次追溯与召回业务规则
globs: src/modules/batch/**, src/modules/trace/**, src/modules/recall/**
---
# 批次追溯业务规则
## 1. 核心原则
- **编码统一**:原料与成品批次编码规则一致可校验。
- **关系完整**:源批次与目标批次关联必须可双向查询。
- **召回优先**:问题批次发现后优先保障召回链路。
## 2. 批次编码规则
- 原料批次:`RAW-YYYYMMDD-XXX`
- 成品批次:`FIN-YYYYMMDD-XXX`
- 配送批次:`DEL-YYYYMMDD-XXX`
## 3. 追溯关系规则
- 允许多对多关联:一个成品可对应多个原料批次。
- 每条关系必须记录 `quantity` 与 `ratio`。
- 禁止删除已用于生产的追溯关系,仅允许逻辑失效。
## 4. 查询与召回规则
### 4.1 正向追溯
成品批次 -> 配料批次 -> 原料批次
### 4.2 反向追溯
原料批次 -> 配料批次 -> 成品批次 -> 配送批次
### 4.3 召回流程
1. 标记问题批次。
2. 自动查询关联成品与配送单。
3. 生成召回任务与通知清单。
## 5. 数据模型约束
- `batches` 必须包含 `batch_type`, `production_date`, `quality_status`.
- `trace_relations` 必须包含 `source_batch_id`, `target_batch_id`, `ratio`.
- `recall_tasks` 必须记录 `scope`, `status`, `executed_at`.适用场景
- 食品安全追溯
- 问题批次快速召回
- 生产与配送批次联动

