From 840263d53b0024762e689f16d7212da74f96a773 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Mon, 13 Jul 2026 10:18:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(harmonic):=20=E4=BF=AE=E5=A4=8D=E7=94=B5?= =?UTF-8?q?=E5=8E=8B=E9=97=AA=E5=8F=98=E5=BC=82=E5=B8=B8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=84=E7=90=86=E4=B8=AD=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加对 MAX 对象和闪变限制值的空值检查 - 为 CP95、AVG 和 MIN 数据点添加空值验证 - 防止在数据缺失时发生 NullPointerException - 重构条件判断逻辑以提高代码健壮性 - 保留原有功能并增强错误处理能力 --- .../Impl/line/HarmonicMetricServiceImpl.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/HarmonicMetricServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/HarmonicMetricServiceImpl.java index 4cdd775c2..3384ed718 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/HarmonicMetricServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/HarmonicMetricServiceImpl.java @@ -247,13 +247,28 @@ public class HarmonicMetricServiceImpl extends MppServiceImpl mapList = dataPltMap.get(phasic); Map pltMap = mapList.stream().collect(Collectors.toMap(RStatDataPltDPO::getValueType, Function.identity())); - if (pltMap.get("MAX").getPlt() > (Double) overLimit.get("flicker")) { - mpSurplusAbnormalCp95.setFlicker(pltMap.get("CP95").getPlt().floatValue()); - mpSurplusAbnormalAvg.setFlicker(pltMap.get("AVG").getPlt().floatValue()); - mpSurplusAbnormalMin.setFlicker(pltMap.get("MIN").getPlt().floatValue()); - mpSurplusAbnormalMax.setFlicker(pltMap.get("MAX").getPlt().floatValue()); + RStatDataPltDPO maxObj = pltMap.get("MAX"); + Double flickerLimit = (Double) overLimit.get("flicker"); + if (maxObj != null && flickerLimit != null && (maxObj).getPlt() > flickerLimit) { + if (pltMap.get("CP95") != null) { + mpSurplusAbnormalCp95.setFlicker(pltMap.get("CP95").getPlt().floatValue()); + } + if (pltMap.get("AVG") != null) { + mpSurplusAbnormalAvg.setFlicker(pltMap.get("AVG").getPlt().floatValue()); + } + if (pltMap.get("MIN") != null) { + mpSurplusAbnormalMin.setFlicker(pltMap.get("MIN").getPlt().floatValue()); + } + mpSurplusAbnormalMax.setFlicker((maxObj).getPlt().floatValue()); flag = true; } +// if (pltMap.get("MAX").getPlt() > (Double) overLimit.get("flicker")) { +// mpSurplusAbnormalCp95.setFlicker(pltMap.get("CP95").getPlt().floatValue()); +// mpSurplusAbnormalAvg.setFlicker(pltMap.get("AVG").getPlt().floatValue()); +// mpSurplusAbnormalMin.setFlicker(pltMap.get("MIN").getPlt().floatValue()); +// mpSurplusAbnormalMax.setFlicker(pltMap.get("MAX").getPlt().floatValue()); +// flag = true; +// } } //谐波电压 dealData(tenMap,phasic,overLimit,flag,mpSurplusAbnormalCp95,mpSurplusAbnormalAvg,mpSurplusAbnormalMax,mpSurplusAbnormalMin,2,26,1,"uharm_","v_",all);