feat(wms/material-coil): 新增钢卷囤积统计与二维码详情查询功能

1. 新增囤积统计接口:计算已发货钢卷的平均囤积周期和平均囤积成本
   - 囤积周期 = 发货时间 - 二维码第一步创建时间
   - 囤积成本 = 囤积天数 × 钢卷净重 × 1元/吨/天
   - 支持与分页列表相同的查询条件筛选

2. 新增二维码详情查询接口:在分页查询基础上填充完整的二维码记录信息
   - 前端可通过 qrcodeRecord.content 获取二维码JSON内容
   - 采用批量查询避免N+1性能问题

调整前,钢卷查询无法获取二维码详细内容,也无法统计囤积相关指标;调整后,支持二维码内容查看和囤积成本分析,为仓储成本核算提供数据支持。
This commit is contained in:
2026-06-04 15:45:51 +08:00
parent 37d6830947
commit 5236500f04
3 changed files with 242 additions and 0 deletions

View File

@@ -99,6 +99,27 @@ public class WmsMaterialCoilController extends BaseController {
return iWmsMaterialCoilService.queryPageListWithRejudge(bo, pageQuery);
}
/**
* 查询钢卷物料表列表(包含二维码记录内容)
* 与list接口查询条件完全一致区别是会填充二维码content到qrcodeRecord字段
* 前端可通过qrcodeRecord.content获取二维码JSON内容
*/
@GetMapping("/listWithQrcode")
public TableDataInfo<WmsMaterialCoilVo> listWithQrcode(WmsMaterialCoilBo bo, PageQuery pageQuery) {
return iWmsMaterialCoilService.queryPageListWithQrcode(bo, pageQuery);
}
/**
* 统计已发货钢卷的平均囤积周期和平均囤积成本
* 使用与分页列表相同的查询条件,按发货时间筛选
* 囤积周期:发货时间 - 二维码中第一步的创建时间
* 囤积成本:囤积天数 * 净重(吨) * 1元/吨/天
*/
@PostMapping("/hoardingStatistics")
public R<Map<String, Object>> getHoardingStatistics(@RequestBody WmsMaterialCoilBo bo) {
return R.ok(iWmsMaterialCoilService.getHoardingStatistics(bo));
}
/**
* 统计筛选条件下的全量汇总数据
* 独立的统计接口,使用与分页列表相同的查询条件