From d248b0e5852aa3bc41795c65dd1e4ad440877cf6 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 8 May 2026 16:58:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E7=89=A9=E6=96=99=E6=94=B9=E5=88=A4=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在IWmsMaterialCoilService中新增queryPageListWithRejudge方法 - 实现批量查询钢卷最新改判记录的Mapper方法 - 添加SQL映射查询每个钢卷的最新一条改判记录 - 创建WmsMaterialCoilRejudgeVo视图对象包含改判信息 - 实现控制器listWithRejudge接口供前端调用 - 在服务实现中批量关联钢卷与其最新改判记录 --- .../controller/WmsMaterialCoilController.java | 10 ++++ .../domain/vo/WmsMaterialCoilRejudgeVo.java | 23 +++++++++ .../mapper/WmsCoilQualityRejudgeMapper.java | 9 ++++ .../klp/service/IWmsMaterialCoilService.java | 6 +++ .../impl/WmsMaterialCoilServiceImpl.java | 47 +++++++++++++++++++ .../klp/WmsCoilQualityRejudgeMapper.xml | 27 +++++++++++ 6 files changed, 122 insertions(+) create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilRejudgeVo.java diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java index cb99dd40..e956902e 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -78,6 +78,16 @@ public class WmsMaterialCoilController extends BaseController { return iWmsMaterialCoilService.queryPageListWithOrderRel(bo, pageQuery); } + /** + * 查询钢卷物料表列表(包含改判记录信息) + * 前端调用此接口时,每个钢卷会携带其关联的改判记录列表(通过wms_coil_quality_rejudge表) + * 注意:此接口比普通list多一次查询,仅在需要查看改判记录时使用 + */ + @GetMapping("/listWithRejudge") + public TableDataInfo listWithRejudge(WmsMaterialCoilBo bo, PageQuery pageQuery) { + return iWmsMaterialCoilService.queryPageListWithRejudge(bo, pageQuery); + } + /** * 统计筛选条件下的全量汇总数据 * 独立的统计接口,使用与分页列表相同的查询条件 diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilRejudgeVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilRejudgeVo.java new file mode 100644 index 00000000..066f4766 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilRejudgeVo.java @@ -0,0 +1,23 @@ +package com.klp.domain.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 钢卷物料表视图对象(包含改判记录信息) wms_material_coil + * + * @author Joshi + * @date 2026-05-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsMaterialCoilRejudgeVo extends WmsMaterialCoilVo { + + private static final long serialVersionUID = 1L; + + /** + * 最新改判记录(通过wms_coil_quality_rejudge表) + */ + private WmsCoilQualityRejudgeVo rejudgeInfo; +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsCoilQualityRejudgeMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsCoilQualityRejudgeMapper.java index 2abd3bad..d7c376a6 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsCoilQualityRejudgeMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsCoilQualityRejudgeMapper.java @@ -24,4 +24,13 @@ public interface WmsCoilQualityRejudgeMapper extends BaseMapperPlus> selectMapsBySql(@Param("sql") String sql); + + /** + * 批量根据钢卷ID列表查询每个钢卷的最新一条改判记录 + * + * @param coilIds 钢卷ID列表 + * @return 最新改判记录列表 + */ + List selectLatestByCoilIds(@Param("coilIds") List coilIds); + } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java index 6e7aacde..06c107fa 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -44,6 +44,12 @@ public interface IWmsMaterialCoilService { */ TableDataInfo queryPageListWithOrderRel(WmsMaterialCoilBo bo, PageQuery pageQuery); + /** + * 查询钢卷物料表列表(包含改判记录信息) + * 每个钢卷会携带其关联的改判记录列表(通过wms_coil_quality_rejudge表) + */ + TableDataInfo queryPageListWithRejudge(WmsMaterialCoilBo bo, PageQuery pageQuery); + /** * 查询钢卷物料表列表 */ diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 758bfbc0..221fddf4 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -384,6 +384,53 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { return TableDataInfo.build(result); } + @Override + public TableDataInfo queryPageListWithRejudge(WmsMaterialCoilBo bo, PageQuery pageQuery) { + Page result = queryMaterialCoilPage(bo, pageQuery); + List records = result.getRecords(); + if (records == null || records.isEmpty()) { + Page rejudgePage = new Page<>(); + rejudgePage.setTotal(result.getTotal()); + rejudgePage.setCurrent(result.getCurrent()); + rejudgePage.setSize(result.getSize()); + return TableDataInfo.build(rejudgePage); + } + + // 填充通用字段(昵称等) + fillPageCommonFields(records); + + // 批量查询每个钢卷的最新一条改判记录 + List latestRejudges = + wmsCoilQualityRejudgeMapper.selectLatestByCoilIds( + records.stream().map(WmsMaterialCoilVo::getCoilId).filter(Objects::nonNull).collect(Collectors.toList())); + + Map rejudgeMap = new HashMap<>(); + if (latestRejudges != null && !latestRejudges.isEmpty()) { + latestRejudges.forEach(r -> { + if (r.getCoilId() != null) { + rejudgeMap.put(r.getCoilId(), r); + } + }); + } + + // 转换为新VO并回填最新改判记录 + List rejudgeRecords = records.stream().map(vo -> { + WmsMaterialCoilRejudgeVo rvo = new WmsMaterialCoilRejudgeVo(); + BeanUtil.copyProperties(vo, rvo); + if (vo.getCoilId() != null && rejudgeMap.containsKey(vo.getCoilId())) { + rvo.setRejudgeInfo(rejudgeMap.get(vo.getCoilId())); + } + return rvo; + }).collect(Collectors.toList()); + + Page rejudgePage = new Page<>(); + rejudgePage.setRecords(rejudgeRecords); + rejudgePage.setTotal(result.getTotal()); + rejudgePage.setCurrent(result.getCurrent()); + rejudgePage.setSize(result.getSize()); + return TableDataInfo.build(rejudgePage); + } + /** * 批量填充钢卷列表的订单关联信息(一次查询中间表+订单,避免N+1) */ diff --git a/klp-wms/src/main/resources/mapper/klp/WmsCoilQualityRejudgeMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsCoilQualityRejudgeMapper.xml index 73e3a317..b4fd7208 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsCoilQualityRejudgeMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsCoilQualityRejudgeMapper.xml @@ -23,4 +23,31 @@ ${sql} + + +