From d096516873552404eac98ee7c1d37490af9e8340 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 14 九月 2026 11:00:46 +0800
Subject: [PATCH] feat(home): 添加工序颜色支持功能

---
 src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index 46c6f58..07e007e 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -555,15 +555,22 @@
                 .collect(Collectors.groupingBy(ProductionTaskStatisticsDto::getProcessName));
         List<String> strings = new ArrayList<>();
         List<Long> processQuantityDetails = new ArrayList<>();
+        List<String> processColors = new ArrayList<>();
         map.entrySet().stream().forEach(entry -> {
             String key = entry.getKey();
             long completeSum = entry.getValue().stream().map(ProductionTaskStatisticsDto::getCompleteQuantity)
                     .mapToLong(BigDecimal::longValue).sum();
             strings.add(key);
             processQuantityDetails.add(completeSum);
+            processColors.add(entry.getValue().stream()
+                    .map(ProductionTaskStatisticsDto::getProcessColor)
+                    .filter(Objects::nonNull)
+                    .findFirst()
+                    .orElse(null));
         });
         productionTurnoverDto.setProcessDetails(strings);
         productionTurnoverDto.setProcessQuantityDetails(processQuantityDetails);
+        productionTurnoverDto.setProcessColors(processColors);
         return productionTurnoverDto;
     }
 
@@ -1445,11 +1452,19 @@
             return new ArrayList<>();
         }
 
+        Map<String, String> processColorMap = new HashMap<>();
+        list.forEach(item -> {
+            if (item.getProcessName() != null && item.getProcessColor() != null) {
+                processColorMap.putIfAbsent(item.getProcessName(), item.getProcessColor());
+            }
+        });
+
         List<MapDto> result = new ArrayList<>();
         processOutputMap.forEach((name, value) -> {
             MapDto dto = new MapDto();
             dto.setName(name);
             dto.setValue(value.stripTrailingZeros().toPlainString());
+            dto.setColor(processColorMap.get(name));
 
             BigDecimal rate = value
                     .divide(total, 4, RoundingMode.HALF_UP)

--
Gitblit v1.9.3