From 032af21e28a83856c74b63db1f4638e4cdbec462 Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期三, 07 五月 2025 18:02:15 +0800 Subject: [PATCH] 归档过滤-2 --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/arc/service/impl/ArcDataServiceImpl.java | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/arc/service/impl/ArcDataServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/arc/service/impl/ArcDataServiceImpl.java index cef38d6..6ddba25 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/arc/service/impl/ArcDataServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/arc/service/impl/ArcDataServiceImpl.java @@ -218,9 +218,9 @@ } private BigDecimal calculate(String calculate, List<ApiPointValueDTO> valueList) { - valueList = valueList.stream().filter(e -> !Double.valueOf(e.getV()).equals(-2.0) ).collect(Collectors.toList()); + List<ApiPointValueDTO> valueFilterList = valueList.stream().filter(e -> !Double.valueOf(e.getV()).equals(-2.0) ).collect(Collectors.toList()); log.debug("开始计算"); - if (valueList == null || valueList.isEmpty()) { + if ( valueList.isEmpty() || valueFilterList.isEmpty()) { throw new IllegalArgumentException("valueList 为空"); } @@ -232,15 +232,15 @@ value = BigDecimal.valueOf(valueList.get(valueList.size() - 1).getV()); break; case SUM: - value = BigDecimal.valueOf(valueList.stream().mapToDouble(ApiPointValueDTO::getV).sum()); + value = BigDecimal.valueOf(valueFilterList.stream().mapToDouble(ApiPointValueDTO::getV).sum()); break; case DIFF: - if (valueList.size() < 2) { - throw new IllegalArgumentException("valueList size小于2"); + if (valueFilterList.size() < 2) { + throw new IllegalArgumentException("valueFilterList size小于2"); } - BigDecimal prev = BigDecimal.valueOf(valueList.get(0).getV()); - for (int i = 1; i < valueList.size(); i++) { - BigDecimal curr = BigDecimal.valueOf(valueList.get(i).getV()); + BigDecimal prev = BigDecimal.valueOf(valueFilterList.get(0).getV()); + for (int i = 1; i < valueFilterList.size(); i++) { + BigDecimal curr = BigDecimal.valueOf(valueFilterList.get(i).getV()); if(curr.compareTo(prev) > 0 ) { value = value.add(curr.subtract(prev)); } @@ -248,8 +248,8 @@ } break; case AVG: - value = BigDecimal.valueOf(valueList.stream().mapToDouble(ApiPointValueDTO::getV).sum()); - value = value.divide(BigDecimal.valueOf(valueList.size()), 2, BigDecimal.ROUND_HALF_UP); + value = BigDecimal.valueOf(valueFilterList.stream().mapToDouble(ApiPointValueDTO::getV).sum()); + value = value.divide(BigDecimal.valueOf(valueFilterList.size()), 2, BigDecimal.ROUND_HALF_UP); break; default: throw new IllegalArgumentException("没有对应计算方法"); -- Gitblit v1.9.3