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