fix(harmonic): 修复电压闪变异常数据处理中的空指针问题
- 添加对 MAX 对象和闪变限制值的空值检查 - 为 CP95、AVG 和 MIN 数据点添加空值验证 - 防止在数据缺失时发生 NullPointerException - 重构条件判断逻辑以提高代码健壮性 - 保留原有功能并增强错误处理能力
This commit is contained in:
@@ -247,13 +247,28 @@ public class HarmonicMetricServiceImpl extends MppServiceImpl<RStatAssesDMapper,
|
|||||||
if (dataPltMap.containsKey(phasic)) {
|
if (dataPltMap.containsKey(phasic)) {
|
||||||
List<RStatDataPltDPO> mapList = dataPltMap.get(phasic);
|
List<RStatDataPltDPO> mapList = dataPltMap.get(phasic);
|
||||||
Map<String, RStatDataPltDPO> pltMap = mapList.stream().collect(Collectors.toMap(RStatDataPltDPO::getValueType, Function.identity()));
|
Map<String, RStatDataPltDPO> pltMap = mapList.stream().collect(Collectors.toMap(RStatDataPltDPO::getValueType, Function.identity()));
|
||||||
if (pltMap.get("MAX").getPlt() > (Double) overLimit.get("flicker")) {
|
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());
|
mpSurplusAbnormalCp95.setFlicker(pltMap.get("CP95").getPlt().floatValue());
|
||||||
|
}
|
||||||
|
if (pltMap.get("AVG") != null) {
|
||||||
mpSurplusAbnormalAvg.setFlicker(pltMap.get("AVG").getPlt().floatValue());
|
mpSurplusAbnormalAvg.setFlicker(pltMap.get("AVG").getPlt().floatValue());
|
||||||
|
}
|
||||||
|
if (pltMap.get("MIN") != null) {
|
||||||
mpSurplusAbnormalMin.setFlicker(pltMap.get("MIN").getPlt().floatValue());
|
mpSurplusAbnormalMin.setFlicker(pltMap.get("MIN").getPlt().floatValue());
|
||||||
mpSurplusAbnormalMax.setFlicker(pltMap.get("MAX").getPlt().floatValue());
|
}
|
||||||
|
mpSurplusAbnormalMax.setFlicker((maxObj).getPlt().floatValue());
|
||||||
flag = true;
|
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);
|
dealData(tenMap,phasic,overLimit,flag,mpSurplusAbnormalCp95,mpSurplusAbnormalAvg,mpSurplusAbnormalMax,mpSurplusAbnormalMin,2,26,1,"uharm_","v_",all);
|
||||||
|
|||||||
Reference in New Issue
Block a user