package com.nanjing.water.service.dto;
|
|
import com.nanjing.water.common.ConstantFactory;
|
import com.nanjing.water.common.util.ListUtil;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
import java.util.Objects;
|
|
@Data
|
public class StatisticsTodayDto {
|
private String pointCode;
|
private String facilityCode;
|
private String parameterCode;
|
private List<BigDecimal> listValue;
|
/**
|
* 最小值
|
*/
|
public BigDecimal getMinValue() {
|
if (ListUtil.isNullOrEmpty(listValue)) {
|
return BigDecimal.ZERO;
|
}
|
return listValue.stream().min(BigDecimal::compareTo).get();
|
}
|
/**
|
* 最大值
|
*/
|
public BigDecimal getMaxValue() {
|
if (ListUtil.isNullOrEmpty(listValue)) {
|
return BigDecimal.ZERO;
|
}
|
return listValue.stream().max(BigDecimal::compareTo).get();
|
}
|
/**
|
* 平均值
|
*/
|
public BigDecimal getAverageValue() {
|
if (ListUtil.isNullOrEmpty(listValue)) {
|
return BigDecimal.ZERO;
|
}
|
BigDecimal sum = listValue.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
|
if (Objects.equals(sum, BigDecimal.ZERO)) {
|
return BigDecimal.ZERO;
|
}
|
return sum.divide(new BigDecimal(String.valueOf(listValue.size())), ConstantFactory.NUM2, BigDecimal.ROUND_HALF_UP);
|
}
|
/**
|
* 统计次数
|
*/
|
public Integer getDataCount() {
|
return this.listValue.size();
|
}
|
/**
|
* 合格次数
|
*/
|
public Integer getPassCount() {
|
return this.listValue.size();
|
}
|
}
|