zhoupeng 1 年之前
父节点
当前提交
08c0157532
共有 1 个文件被更改,包括 3 次插入25 次删除
  1. 3 25
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/ReportTask.java

+ 3 - 25
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/ReportTask.java

@@ -11,7 +11,6 @@ import com.example.opc_common.exception.CustomException;
 import com.example.opc_common.util.*;
 
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.util.*;
 
 public class ReportTask {
@@ -220,33 +219,12 @@ public class ReportTask {
     public static BigDecimal genBigDecimalValue(List<BigDecimal> bigDecimalList, Integer valueTakingMode) {
         BigDecimal value = null;
         if (Blank.isNotEmpty(bigDecimalList)) {
-            int sum = 0;
             if (valueTakingMode.equals(ConstantStr.AVERAGE_VALUE)) {
-                for (int i = 0; i < bigDecimalList.size(); i++) {
-                    if (Blank.isEmpty(value)) {
-                        value = bigDecimalList.get(i);
-                    } else {
-                        value = value.add(bigDecimalList.get(i));
-                    }
-                    sum += 1;
-                }
-                value = value.divide(new BigDecimal(sum), 4, RoundingMode.HALF_EVEN);
+                value=new BigDecimal(bigDecimalList.stream().mapToDouble(BigDecimal::doubleValue).average().orElse(0));
             } else if (valueTakingMode.equals(ConstantStr.MAX_VALUE)) {
-                for (int i = 0; i < bigDecimalList.size(); i++) {
-                    if (Blank.isEmpty(value)) {
-                        value = bigDecimalList.get(i);
-                    } else {
-                        value = value.max(bigDecimalList.get(i));
-                    }
-                }
+                value=Collections.max(bigDecimalList);
             } else if (valueTakingMode.equals(ConstantStr.MIN_VALUE)) {
-                for (int i = 0; i < bigDecimalList.size(); i++) {
-                    if (Blank.isEmpty(value)) {
-                        value = bigDecimalList.get(i);
-                    } else {
-                        value = value.min(bigDecimalList.get(i));
-                    }
-                }
+                value=Collections.min(bigDecimalList);
             } else if (valueTakingMode.equals(ConstantStr.INSTANTANEOUS_VALUE)) {
                 for (int i = 0; i < bigDecimalList.size(); i++) {
                     BigDecimal bigDecimal = bigDecimalList.get(i);