一、功能概述
损耗统计功能是生鲜供应链管理系统中的核心模块,旨在通过数据化手段精准追踪生鲜商品从采购到销售全流程的损耗情况,帮助企业优化采购计划、库存管理和销售策略,降低运营成本。
二、核心功能模块设计
1. 损耗数据采集
- 采购环节:记录采购数量与实际到货数量的差异
- 仓储环节:
- 自然损耗(水分蒸发、腐烂等)
- 人为损耗(操作不当、过期处理)
- 分拣环节:记录分拣过程中的剔除量
- 配送环节:记录运输过程中的损坏量
- 销售环节:记录退货、报损数量
2. 损耗分类统计
- 按商品类别统计(蔬菜、水果、肉类等)
- 按损耗原因分类(过期、损坏、分拣剔除等)
- 按时间维度统计(日/周/月/季度/年)
- 按供应链环节统计(采购、仓储、配送、销售)
3. 损耗率计算
- 公式:损耗率 = (损耗数量 / 应售数量) × 100%
- 支持自定义基准(如按采购量或销售量计算)
4. 可视化报表
- 损耗趋势图(折线图)
- 损耗构成饼图
- 商品损耗排行榜(柱状图)
- 损耗率对比表(同比/环比)
5. 预警机制
- 设置损耗率阈值,超标自动预警
- 异常损耗提醒(如某商品单日损耗突增)
三、技术实现方案
1. 数据库设计
```sql
CREATE TABLE loss_records (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
record_date DATE NOT NULL,
product_id BIGINT NOT NULL,
product_name VARCHAR(100) NOT NULL,
category_id BIGINT NOT NULL,
loss_quantity DECIMAL(10,2) NOT NULL,
loss_reason VARCHAR(50) NOT NULL, -- 过期/损坏/分拣/运输等
supply_chain_stage VARCHAR(20) NOT NULL, -- 采购/仓储/配送/销售
cost_amount DECIMAL(12,2), -- 损耗成本金额
operator_id BIGINT, -- 操作人ID
remark VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE loss_statistics (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
stat_date DATE NOT NULL,
product_id BIGINT NOT NULL,
category_id BIGINT NOT NULL,
total_quantity DECIMAL(12,2) NOT NULL, -- 应售数量
loss_quantity DECIMAL(12,2) NOT NULL, -- 损耗数量
loss_rate DECIMAL(5,2) NOT NULL, -- 损耗率
supply_chain_stage VARCHAR(20) NOT NULL,
UNIQUE KEY (stat_date, product_id, supply_chain_stage)
);
```
2. 数据采集实现
- 移动端扫码:分拣/报损时扫码记录
- PDA设备集成:仓储环节实时上报
- 系统对接:与采购、销售系统数据同步
- 定时任务:每日自动汇总生成统计数据
3. 核心算法示例
```java
// 计算商品损耗率
public LossRateVO calculateLossRate(Long productId, Date startDate, Date endDate) {
// 查询应售总量
BigDecimal totalQuantity = lossStatisticsMapper.sumTotalQuantity(productId, startDate, endDate);
// 查询损耗总量
BigDecimal lossQuantity = lossStatisticsMapper.sumLossQuantity(productId, startDate, endDate);
LossRateVO vo = new LossRateVO();
if (totalQuantity.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal rate = lossQuantity.divide(totalQuantity, 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal("100"));
vo.setLossRate(rate.setScale(2, RoundingMode.HALF_UP));
} else {
vo.setLossRate(BigDecimal.ZERO);
}
vo.setLossQuantity(lossQuantity);
vo.setTotalQuantity(totalQuantity);
return vo;
}
```
4. 可视化实现
- 使用ECharts或AntV实现图表展示
- 示例损耗趋势图配置:
```javascript
option = {
title: { text: 商品损耗率趋势 },
tooltip: { trigger: axis },
legend: { data: [损耗率] },
xAxis: { type: category, data: [1月,2月,3月,4月,5月] },
yAxis: { type: value, axisLabel: { formatter: {value}% } },
series: [{
name: 损耗率,
type: line,
data: [5.2, 4.8, 6.1, 5.5, 4.9],
markPoint: { data: [{ type: max, name: 最大值 }] },
markLine: { data: [{ type: average, name: 平均值 }] }
}]
};
```
四、业务价值
1. 成本控制:精准识别高损耗商品和环节,优化采购和库存策略
2. 运营优化:通过损耗分析改进分拣包装流程和配送方式
3. 决策支持:为商品结构调整、供应商评估提供数据依据
4. 合规管理:满足生鲜行业损耗统计的监管要求
五、实施建议
1. 分阶段实施:先实现核心数据采集和基础报表,再逐步完善预警和分析功能
2. 用户培训:确保仓储、采购等部门人员正确使用损耗记录功能
3. 数据校验:建立数据审核机制,保证损耗数据的准确性
4. 持续优化:根据业务反馈不断调整损耗分类和统计维度
六、扩展功能
1. 损耗预测:基于历史数据建立预测模型
2. 智能补货:结合损耗率自动调整采购建议量
3. 供应商评估:将损耗数据纳入供应商考核体系
4. 移动端应用:开发损耗记录和查询的移动端功能
通过该功能的实现,美菜生鲜系统将能够更精准地掌握商品损耗情况,为企业降本增效提供有力支持。