From a17781479bd4acb36069472ac1a987df21c0cc05 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 23 三月 2026 10:01:10 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WrkAnalysisServiceImpl.java | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkAnalysisServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkAnalysisServiceImpl.java
index e2b88c7..a15880a 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkAnalysisServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkAnalysisServiceImpl.java
@@ -593,13 +593,26 @@
}
private List<Map<String, Object>> buildFaultDuration(List<WrkAnalysis> list) {
+ Map<String, Long> durationMap = new LinkedHashMap<>();
+ for (WrkAnalysis item : list) {
+ addDeviceFaultDuration(durationMap, "鍗曞爢鍨涙満", item.getCrnNo(), item.getCrnFaultDurationMs());
+ addDeviceFaultDuration(durationMap, "鍙屽伐浣嶅爢鍨涙満", item.getDualCrnNo(), item.getDualCrnFaultDurationMs());
+ addDeviceFaultDuration(durationMap, "RGV", item.getRgvNo(), item.getRgvFaultDurationMs());
+ }
List<Map<String, Object>> result = new ArrayList<>();
- result.add(slice("鍗曞爢鍨涙満", list.stream().map(WrkAnalysis::getCrnFaultDurationMs).filter(Objects::nonNull).reduce(0L, Long::sum)));
- result.add(slice("鍙屽伐浣嶅爢鍨涙満", list.stream().map(WrkAnalysis::getDualCrnFaultDurationMs).filter(Objects::nonNull).reduce(0L, Long::sum)));
- result.add(slice("RGV", list.stream().map(WrkAnalysis::getRgvFaultDurationMs).filter(Objects::nonNull).reduce(0L, Long::sum)));
+ durationMap.forEach((name, durationMs) -> result.add(slice(name, durationMs)));
return result;
}
+ private void addDeviceFaultDuration(Map<String, Long> durationMap, String deviceLabel, Integer deviceNo, Long durationMs) {
+ long value = defaultLong(durationMs);
+ if (value <= 0L) {
+ return;
+ }
+ String key = deviceNo == null ? deviceLabel : deviceLabel + deviceNo;
+ durationMap.merge(key, value, Long::sum);
+ }
+
private List<Map<String, Object>> buildDetailRows(List<WrkAnalysis> list) {
return list.stream().map(this::toDetailItem).collect(Collectors.toList());
}
--
Gitblit v1.9.1