From 59dfa4f2b8090368d3e2c60f3f47dc3b5e5c1850 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 11 Jul 2026 11:46:57 +0800 Subject: [PATCH] =?UTF-8?q?refactor(WmsAnnealPerformanceService):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=80=E7=81=AB=E9=92=A2=E5=8D=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将分页查询改为列表查询以提高性能 - 移除不必要的分页参数设置 - 删除冗余的直接钢卷查询逻辑 - 简化钢卷映射查找流程 - 优化空值检查和循环处理逻辑 - 统一查询条件处理方式 --- .../impl/WmsAnnealPerformanceServiceImpl.java | 35 +++---------------- 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsAnnealPerformanceServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsAnnealPerformanceServiceImpl.java index 872ead327..39d637cdf 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsAnnealPerformanceServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsAnnealPerformanceServiceImpl.java @@ -93,12 +93,9 @@ public class WmsAnnealPerformanceServiceImpl implements IWmsAnnealPerformanceSer if (!allCoilIds.isEmpty()) { WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo(); coilBo.setParentCoilIds(allCoilIds.stream().map(String::valueOf).collect(Collectors.joining("-"))); - PageQuery pageQuery = new PageQuery(); - pageQuery.setPageNum(1); - pageQuery.setPageSize(Integer.MAX_VALUE); - TableDataInfo coilPage = materialCoilService.queryPageList(coilBo, pageQuery); - if (coilPage != null && coilPage.getRows() != null) { - for (WmsMaterialCoilVo coilVo : coilPage.getRows()) { + List coilList = materialCoilService.queryList(coilBo); + if (coilList != null && !coilList.isEmpty()) { + for (WmsMaterialCoilVo coilVo : coilList) { // 加工后钢卷的parentCoilId存的是加工前coilId String parentCoilIdStr = coilVo.getParentCoilId(); if (StringUtils.isNotBlank(parentCoilIdStr)) { @@ -117,24 +114,6 @@ public class WmsAnnealPerformanceServiceImpl implements IWmsAnnealPerformanceSer } } - // 查询2:直接通过coilId查未split的钢卷(它们本身就是加工后的卷) - Map directCoilMap = new HashMap<>(); - { - WmsMaterialCoilBo directBo = new WmsMaterialCoilBo(); - directBo.setCoilIds(allCoilIds.stream().map(String::valueOf).collect(Collectors.joining(","))); - PageQuery pq = new PageQuery(); - pq.setPageNum(1); - pq.setPageSize(Integer.MAX_VALUE); - TableDataInfo directPage = materialCoilService.queryPageList(directBo, pq); - if (directPage != null && directPage.getRows() != null) { - for (WmsMaterialCoilVo cv : directPage.getRows()) { - if (cv.getCoilId() != null) { - directCoilMap.put(cv.getCoilId(), cv); - } - } - } - } - // 重新构建details:每条detail对应一个计划钢卷,logicWarehouseId/furnaceLevel从planCoil获取 List flatDetails = new ArrayList<>(); Long filteredPlanCount = 0L; @@ -156,14 +135,10 @@ public class WmsAnnealPerformanceServiceImpl implements IWmsAnnealPerformanceSer continue; } - // 优先取split后的子卷,没有再取原卷(未split场景) + // planCoil.coilId是加工前的ID,用它在parentIdToCoilMap中查找加工后的卷 WmsMaterialCoilVo coilVo = parentIdToCoilMap.get(coilId); if (coilVo == null) { - coilVo = directCoilMap.get(coilId); - } - if (coilVo == null) { - coilVo = new WmsMaterialCoilVo(); - coilVo.setCoilId(coilId); + continue; // 没找到加工后的卷,跳过 } // 如果传入了筛选条件,只保留匹配的钢卷