算法数据验证

This commit is contained in:
wr
2024-02-22 13:33:37 +08:00
parent 995a267ea7
commit 32b736e651

View File

@@ -1,5 +1,6 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
@@ -300,16 +301,22 @@ public class RStatHarmonicVoltageServiceImpl implements RStatHarmonicVoltageServ
eq("voltage_type",k1).
between("data_date",begin,end);
List<RStatHarmonicVoltageDPO> list = rStatHarmonicVoltageDPOService.list(harmonicVoltageDPOQueryWrapper);
double asDouble = list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage).average().getAsDouble();
asDouble = BigDecimal.valueOf(asDouble).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
Double asDouble = 0.0;
Double asDouble1 = 0.0;
Integer sum = 0;
if(CollUtil.isNotEmpty(list)){
asDouble= BigDecimal.valueOf(list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage)
.average().getAsDouble())
.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
asDouble1 = BigDecimal.valueOf(list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementRatioAverage)
.average().getAsDouble())
.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
sum = list.stream().mapToInt(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage).sum();
}
rStatHarmonicVoltageMPO.setOverLimitMeasurementAverage(asDouble);
double asDouble1 = list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementRatioAverage).average().getAsDouble();
asDouble1 = BigDecimal.valueOf(asDouble1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
rStatHarmonicVoltageMPO.setOverLimitMeasurementRatioAccrued(asDouble1);
int sum = list.stream().mapToInt(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage).sum();
rStatHarmonicVoltageMPO.setOverDay(sum);
if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) {
//todo为0时如何设值
rStatHarmonicVoltageMPO.setOverLimitMeasurementRatioAverage(0.00);
@@ -378,16 +385,24 @@ public class RStatHarmonicVoltageServiceImpl implements RStatHarmonicVoltageServ
eq("voltage_type",k1).
between("data_date",begin,end);
List<RStatHarmonicVoltageDPO> list = rStatHarmonicVoltageDPOService.list(harmonicVoltageDPOQueryWrapper);
double asDouble = list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage).average().getAsDouble();
asDouble = BigDecimal.valueOf(asDouble).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
Double asDouble = 0.0;
Double asDouble1 = 0.0;
Integer sum = 0;
if(CollUtil.isNotEmpty(list)){
asDouble= BigDecimal.valueOf(list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage)
.average().getAsDouble())
.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
asDouble1 = BigDecimal.valueOf(list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementRatioAverage)
.average().getAsDouble())
.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
sum = list.stream().mapToInt(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage).sum();
}
rStatHarmonicVoltageMPO.setOverLimitMeasurementAverage(asDouble);
double asDouble1 = list.stream().mapToDouble(RStatHarmonicVoltageDPO::getOverLimitMeasurementRatioAverage).average().getAsDouble();
asDouble1 = BigDecimal.valueOf(asDouble1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
rStatHarmonicVoltageMPO.setOverLimitMeasurementRatioAccrued(asDouble);
int sum = list.stream().mapToInt(RStatHarmonicVoltageDPO::getOverLimitMeasurementAverage).sum();
rStatHarmonicVoltageMPO.setOverLimitMeasurementRatioAccrued(asDouble1);
rStatHarmonicVoltageMPO.setOverDay(sum);
if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) {
//todo为0时如何设值
rStatHarmonicVoltageMPO.setOverLimitMeasurementRatioAverage(0.00);