From bc0fdd1f0c20ca4737e8f073050f37b27a658694 Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期四, 22 五月 2025 16:31:12 +0800 Subject: [PATCH] 管路&气柜产能负载优化,实现动态row聚合统计 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java index de29aca..9cb9f90 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java @@ -122,8 +122,9 @@ if (rows > 0) { List<ApsMaterialProductGroupManagement> list = new ArrayList<>(); - /*鏁版嵁鍒椾粠1寮�濮�*/ - for (int i = 1; i <= rows; i++) { + /*鏁版嵁琛屼粠1寮�濮�*/ + Set<String> keys = new HashSet<>(); + for (int i = rows; i > 0; --i) { Row row = sheet.getRow(i); if (row.getCell(0) == null) { continue; @@ -149,20 +150,19 @@ item.setIsMain(isMain); item.setCreateBy(SecurityUtils.getUsername()); item.setCreateTime(DateUtils.getNowDate()); - list.add(item); + if (!keys.contains(item.getKey())) { + keys.add(item.getKey()); + list.add(item); + } } } if (!list.isEmpty()) { - Set<String> facCodeKey = apsMaterialProductGroupManagementMapper.selectByFacOrMaterial( - list.stream().map(ApsMaterialProductGroupManagement::getFactory).collect(Collectors.toSet()), - list.stream().map(ApsMaterialProductGroupManagement::getMaterialCode).collect(Collectors.toSet()) - ); + Set<String> facCodeKey = apsMaterialProductGroupManagementMapper.selectByFacOrMaterial(keys); if (!facCodeKey.isEmpty()) { Iterator<ApsMaterialProductGroupManagement> it = list.iterator(); while (it.hasNext()) { ApsMaterialProductGroupManagement item = it.next(); - String key = item.getFactory() + "##" + item.getMaterialCode(); - if (facCodeKey.contains(key)) { + if (facCodeKey.contains(item.getKey())) { LambdaUpdateWrapper<ApsMaterialProductGroupManagement> wrapper = new LambdaUpdateWrapper<>(); wrapper.eq(ApsMaterialProductGroupManagement::getFactory, item.getFactory()); wrapper.eq(ApsMaterialProductGroupManagement::getMaterialCode, item.getMaterialCode()); -- Gitblit v1.9.3