From 32b736e6514ac489a424cc1fb3620733db8a0906 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Thu, 22 Feb 2024 13:33:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=97=E6=B3=95=E6=95=B0=E6=8D=AE=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../area/RStatHarmonicVoltageServiceImpl.java | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicVoltageServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicVoltageServiceImpl.java index 8c09c3630..278f4fed0 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicVoltageServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicVoltageServiceImpl.java @@ -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 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 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);