From 789bacf67ee22c7fd2c214ac5014507d2df1e1b9 Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期五, 23 五月 2025 10:24:44 +0800 Subject: [PATCH] row按workshop聚合统计时添加processName的参数的补充 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java index ce61324..247add4 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java @@ -1499,6 +1499,8 @@ // 浣跨敤缁勫悎key鏉ュ疄鐜板缁村害鍒嗙粍锛堝姩鎬乺owGroupBy瀛楁 + 鍙�夌殑宸ュ巶/涓撲笟/杞﹂棿锛� Map<String, Map<String, Object>> groupInfoMap = new HashMap<>(); Map<String, Map<String, BigDecimal>> groupTimeDataMap = new HashMap<>(); + // 瀛樺偍姣忎釜groupKey瀵瑰簲鐨刾rocessName闆嗗悎 + Map<String, Set<String>> groupProcessNamesMap = new HashMap<>(); // 閬嶅巻鍘熷鏁版嵁锛屾寜澶氱淮搴﹀垎缁勮繘琛岃仛鍚� for (Map<String, Object> data : rawData) { @@ -1550,6 +1552,14 @@ groupInfoMap.put(groupKey, groupInfo); } + // 鏀堕泦processName + if (processName != null && !processName.trim().isEmpty()) { + if (!groupProcessNamesMap.containsKey(groupKey)) { + groupProcessNamesMap.put(groupKey, new HashSet<>()); + } + groupProcessNamesMap.get(groupKey).add(processName); + } + // 璁$畻鏃堕棿鐐筀ey String timeKey; LocalDate planStartLocalDate = processPlanStartDay.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); @@ -1596,8 +1606,17 @@ rowDetail.put("workshop", groupInfo.get("workshop")); } - // 淇濈暀宸ュ簭鍚嶇О淇℃伅锛屼互渚垮墠绔睍绀� - if (!"processName".equals(rowGroupBy)) { + // 澶勭悊processName - 濡傛灉rowGroupBy涓簑orkshop锛屽垯灏嗘墍鏈塸rocessName鐢ㄥ垎鍙疯繛鎺� + if ("workshop".equals(rowGroupBy)) { + Set<String> processNames = groupProcessNamesMap.getOrDefault(groupKey, new HashSet<>()); + if (!processNames.isEmpty()) { + String joinedProcessNames = String.join(";", processNames); + rowDetail.put("processName", joinedProcessNames); + } else { + rowDetail.put("processName", groupInfo.get("processName")); + } + } else if (!"processName".equals(rowGroupBy)) { + // 淇濈暀宸ュ簭鍚嶇О淇℃伅锛屼互渚垮墠绔睍绀� rowDetail.put("processName", groupInfo.get("processName")); } -- Gitblit v1.9.3