diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgServiceImpl.java index cf665c1c5..5e8deb59f 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgServiceImpl.java @@ -180,7 +180,7 @@ public class RStatHarmonicOrgServiceImpl implements RStatHarmonicOrgService { if(CollectionUtils.isEmpty(rStatOrgMPOS)){ sumEffectiveMeasurement=0; }else { - sumEffectiveMeasurement = rStatOrgMPOS.stream().mapToInt(RStatOrgMPO::getEffectiveMeasurementAccrued).sum(); + sumEffectiveMeasurement = rStatOrgMPOS.stream().mapToInt(o->Objects.isNull(o.getEffectiveMeasurementAccrued())?0:o.getEffectiveMeasurementAccrued()).sum(); } int finalSumEffectiveMeasurement = sumEffectiveMeasurement; dataTypeMap.forEach((k, v)->{ @@ -194,19 +194,17 @@ public class RStatHarmonicOrgServiceImpl implements RStatHarmonicOrgService { eq("data_type",v.getId()). between("data_date",begin,end); List rStatHarmonicMPOS = rStatHarmonicMPOMapper.selectList(queryWrapper); - Double overLimitMeasurementAverage =0.00; + double overLimitMeasurementAverage =0.00; int overDay =0; int overLimitMeasurementAccrued=0; - Double overLimitMeasurementRatioAverage=0.00; - Double overLimitMeasurementRatioAccrued=0.00; + double overLimitMeasurementRatioAverage=0.00; + double overLimitMeasurementRatioAccrued=0.00; if(!CollectionUtils.isEmpty(rStatHarmonicMPOS)){ - - overDay = rStatHarmonicMPOS.stream().mapToInt(RStatHarmonicMPO::getOverDay).sum(); - overLimitMeasurementAccrued = rStatHarmonicMPOS.stream().mapToInt(RStatHarmonicMPO::getOverLimitMeasurementAccrued).sum(); - double asDouble = rStatHarmonicMPOS.stream().mapToDouble(RStatHarmonicMPO::getOverLimitMeasurementAverage).average().getAsDouble(); + overDay = rStatHarmonicMPOS.stream().mapToInt(o->Objects.isNull(o.getOverDay())?0:o.getOverDay()).sum(); + overLimitMeasurementAccrued = rStatHarmonicMPOS.stream().mapToInt(o->Objects.isNull(o.getOverLimitMeasurementAccrued())?0:o.getOverLimitMeasurementAccrued()).sum(); + double asDouble = rStatHarmonicMPOS.stream().mapToDouble(o->Objects.isNull(o.getOverLimitMeasurementAverage())?0.0:o.getOverLimitMeasurementAverage()).average().getAsDouble(); overLimitMeasurementAverage = Double.parseDouble(df.format(asDouble)); - double asDouble1 = rStatHarmonicMPOS.stream().mapToDouble(RStatHarmonicMPO::getOverLimitMeasurementRatioAverage).average().getAsDouble(); - + double asDouble1 = rStatHarmonicMPOS.stream().mapToDouble(o->Objects.isNull(o.getOverLimitMeasurementRatioAverage())?0.0:o.getOverLimitMeasurementRatioAverage()).average().getAsDouble(); overLimitMeasurementRatioAverage = Double.parseDouble(df.format(asDouble1)); if(finalSumEffectiveMeasurement ==0){ overLimitMeasurementRatioAccrued=0.00;