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)) {
|
||||
List<RStatDataPltDPO> mapList = dataPltMap.get(phasic);
|
||||
Map<String, RStatDataPltDPO> 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);
|
||||
|
||||
Reference in New Issue
Block a user