|
@@ -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);
|