2 天以前 d096516873552404eac98ee7c1d37490af9e8340
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)