一、批次管理功能概述
针对川味冻品行业特点,批次管理功能需要实现从原料采购到成品销售的全流程追溯,确保食品安全和质量可控。主要功能包括:
1. 批次编码生成与追踪
2. 库存批次管理
3. 保质期预警
4. 批次流转记录
5. 质量追溯查询
二、核心功能模块设计
1. 批次编码规则设计
```
示例编码规则:
[产品类型(2位)][生产日期(8位)][生产线编号(2位)][批次序号(3位)]
如:CP2023101501001 表示川味产品,2023年10月15日生产,1号线,第1个批次
```
2. 批次入库管理
- 功能点:
- 自动生成批次编码
- 记录入库时间、数量、供应商信息
- 关联采购订单信息
- 初始质量检测结果记录
- 数据库表设计:
```sql
CREATE TABLE batch_info (
batch_id VARCHAR(20) PRIMARY KEY,
product_id VARCHAR(15) NOT NULL,
production_date DATE NOT NULL,
expiry_date DATE NOT NULL,
supplier_id VARCHAR(15),
initial_quantity DECIMAL(10,2),
current_quantity DECIMAL(10,2),
quality_status VARCHAR(20) DEFAULT 合格,
storage_location VARCHAR(50),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
```
3. 库存批次管理
- 先进先出(FIFO)策略实现:
```java
// 示例:出库时选择最早入库的批次
public BatchInfo selectOldestBatch(String productId, BigDecimal quantity) {
// 查询该产品所有可用批次,按入库时间升序排列
List batches = batchRepository.findByProductIdAndCurrentQuantityGreaterThan(
productId, BigDecimal.ZERO, Sort.by("productionDate").ascending()
);
// 从最早批次开始分配
// 实现分配逻辑...
}
```
- 库存预警:
- 保质期预警(提前30天/15天/7天预警)
- 库存量低于安全库存预警
4. 批次流转记录
```sql
CREATE TABLE batch_flow (
flow_id VARCHAR(20) PRIMARY KEY,
batch_id VARCHAR(20) NOT NULL,
flow_type VARCHAR(20) NOT NULL, -- 入库/出库/调拨/报废等
related_order VARCHAR(30), -- 关联的订单号
quantity DECIMAL(10,2) NOT NULL,
operator VARCHAR(30),
operation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
from_location VARCHAR(50),
to_location VARCHAR(50),
FOREIGN KEY (batch_id) REFERENCES batch_info(batch_id)
);
```
5. 质量追溯查询
- 追溯链条:
原料批次 → 生产批次 → 成品批次 → 销售订单
- 实现方式:
```java
public List traceBatch(String batchId) {
// 1. 查询成品批次信息
BatchInfo productBatch = batchRepository.findById(batchId).orElseThrow(...);
// 2. 查询生产该批次使用的原料批次
List materialUsages = materialUsageRepository.findByProductBatchId(batchId);
// 3. 查询该批次的销售去向
List salesItems = salesItemRepository.findByBatchId(batchId);
// 组合追溯信息...
}
```
三、川味冻品行业特殊需求处理
1. 辣度等级管理:
- 在产品属性中增加辣度字段
- 批次质量检测包含辣度检测结果
2. 调味料批次管理:
- 记录每种调味料的批次信息
- 生产时记录调味料使用情况,实现复合追溯
3. 解冻/复冻记录:
- 增加解冻记录表
- 记录解冻时间、操作人、解冻后保质期等
```sql
CREATE TABLE batch_thaw_record (
record_id VARCHAR(20) PRIMARY KEY,
batch_id VARCHAR(20) NOT NULL,
thaw_time DATETIME NOT NULL,
operator VARCHAR(30),
thaw_method VARCHAR(50),
new_expiry_date DATE,
notes TEXT,
FOREIGN KEY (batch_id) REFERENCES batch_info(batch_id)
);
```
四、系统集成与接口
1. 与ERP系统集成:
- 同步产品主数据
- 接收销售订单信息
- 推送库存变动数据
2. 与温控设备集成:
- 自动记录存储温度数据
- 温度异常预警
3. 移动端应用:
- 批次扫码查询
- 移动端入库/出库操作
- 库存盘点功能
五、实施建议
1. 分阶段实施:
- 第一阶段:实现基础批次管理和追溯
- 第二阶段:增加保质期预警和先进先出策略
- 第三阶段:完善移动端应用和设备集成
2. 数据迁移策略:
- 对历史库存进行批次化补录
- 制定数据清洗和转换规则
3. 用户培训:
- 批次管理操作流程培训
- 追溯查询使用培训
- 异常情况处理培训
六、技术选型建议
1. 后端技术:
- Spring Boot + MyBatis/JPA
- 分布式事务处理(如Seata)
2. 前端技术:
- Vue.js/React + Element UI/Ant Design
- 移动端:Uni-app/Flutter
3. 数据库:
- MySQL/PostgreSQL(关系型数据)
- Elasticsearch(追溯查询加速)
4. 部署方案:
- Docker + Kubernetes容器化部署
- 微服务架构设计
通过以上功能实现,川味冻品企业可以建立完整的批次管理体系,满足食品安全监管要求,提高库存管理效率,增强产品质量追溯能力。