From af781010f6d3464a53b2a740df178d85f30e99a5 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Mon, 15 Dec 2025 10:45:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../line/IDataCrossingServiceImpl.java | 103 ++++++++++-------- .../RelationDataLimitRateDetailImpl.java | 10 +- 2 files changed, 69 insertions(+), 44 deletions(-) diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java index 3f3af0d..42d98c0 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java @@ -595,8 +595,6 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { if (value > limit) { addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); } - }else{ - addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); } } catch (Exception e) { e.printStackTrace(); @@ -621,9 +619,12 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { // 获取 Overlimit 类的 getUharmx 方法 Method getUharmMethod = Overlimit.class.getMethod("getIharm" + j); float limit = (float) getUharmMethod.invoke(overlimit); - if (value > limit) { - addAbnormalData(i[j - 2], item.getValueType(), item.getPhasicType(), item.getMinTime(), value, limit); + if (ObjectUtil.isNotNull(value)){ + if (value > limit) { + addAbnormalData(i[j - 2], item.getValueType(), item.getPhasicType(), item.getMinTime(), value, limit); + } } + } catch (Exception e) { e.printStackTrace(); } @@ -646,8 +647,10 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { // 获取 Overlimit 类的 getUharmx 方法 Method getUharmMethod = Overlimit.class.getMethod("getInuharm" + j); float limit = (float) getUharmMethod.invoke(overlimit); - if (value > limit) { - addAbnormalData(uHarm[j - 1], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); + if (ObjectUtil.isNotNull(value)){ + if (value > limit) { + addAbnormalData(uHarm[j - 1], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); + } } } catch (Exception e) { e.printStackTrace(); @@ -658,21 +661,25 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //电压总谐波畸变率 if (!CollectionUtils.isEmpty(dataVPOList)) { for (DataVDto item : dataVPOList) { - if (ObjectUtil.isNull(item.getVThd())||item.getVThd() > overlimit.getUaberrance()) { - addAbnormalData(thd, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVThd(), overlimit.getUaberrance()); + if (ObjectUtil.isNotNull(item.getVThd())) { + if(item.getVThd() > overlimit.getUaberrance()){ + addAbnormalData(thd, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVThd(), overlimit.getUaberrance()); + } } } } //电压上偏差、电压下偏差(根据vl_dev的正负判断是用哪个值判断越限) if (!CollectionUtils.isEmpty(dataVPODevList)) { for (DataVDto item : dataVPODevList) { - if (ObjectUtil.isNull(item.getVlDev())||item.getVlDev() >= 0) { - if (item.getVlDev() > overlimit.getVoltageDev()) { - addAbnormalData(uDev, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVlDev(), overlimit.getVoltageDev()); - } - } else { - if (Math.abs(item.getVuDev()) > Math.abs(overlimit.getUvoltageDev())) { - addAbnormalData(uDev, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVlDev(), overlimit.getUvoltageDev()); + if(ObjectUtil.isNotNull(item.getVlDev())){ + if (item.getVlDev() >= 0) { + if (item.getVlDev() > overlimit.getVoltageDev()) { + addAbnormalData(uDev, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVlDev(), overlimit.getVoltageDev()); + } + } else { + if (Math.abs(item.getVuDev()) > Math.abs(overlimit.getUvoltageDev())) { + addAbnormalData(uDev, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVuDev(), overlimit.getUvoltageDev()); + } } } } @@ -680,8 +687,10 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //长时间闪变 if (!CollectionUtils.isEmpty(dataPltPOList)) { for (DataPltDto item : dataPltPOList) { - if (ObjectUtil.isNull(item.getPlt())||item.getPlt() > overlimit.getFlicker()) { - addAbnormalData(flicker, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getPlt(), overlimit.getFlicker()); + if (ObjectUtil.isNotNull(item.getPlt())) { + if(item.getPlt() > overlimit.getFlicker()){ + addAbnormalData(flicker, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getPlt(), overlimit.getFlicker()); + } } } } @@ -741,9 +750,6 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { if (value > limit) { addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); } - }else{ - System.out.println(item); - addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); } } catch (Exception e) { e.printStackTrace(); @@ -768,8 +774,10 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { // 获取 Overlimit 类的 getUharmx 方法 Method getUharmMethod = Overlimit.class.getMethod("getIharm" + j); float limit = (float) getUharmMethod.invoke(overlimit); - if (value > limit) { - addAbnormalData(i[j - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); + if(ObjectUtil.isNotNull(value)){ + if (value > limit) { + addAbnormalData(i[j - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); + } } } catch (Exception e) { e.printStackTrace(); @@ -793,8 +801,10 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { // 获取 Overlimit 类的 getUharmx 方法 Method getUharmMethod = Overlimit.class.getMethod("getInuharm" + j); float limit = (float) getUharmMethod.invoke(overlimit); - if (value > limit) { - addAbnormalData(uHarm[j - 1], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); + if(ObjectUtil.isNotNull(value)){ + if (value > limit) { + addAbnormalData(uHarm[j - 1], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit); + } } } catch (Exception e) { e.printStackTrace(); @@ -805,16 +815,20 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //电压总谐波畸变率 if (!CollectionUtils.isEmpty(dataVPOList)) { for (DataVDto item : dataVPOList) { - if (ObjectUtil.isNull(item.getVThd())||item.getVThd() > overlimit.getUaberrance()) { - addAbnormalData(thd, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVThd(), overlimit.getUaberrance()); + if (ObjectUtil.isNotNull(item.getVThd())) { + if(item.getVThd() > overlimit.getUaberrance()){ + addAbnormalData(thd, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVThd(), overlimit.getUaberrance()); + } } } } //三相电压不平衡度 if (!CollectionUtils.isEmpty(dataVPOUnbalanceList)) { for (DataVDto item : dataVPOUnbalanceList) { - if (ObjectUtil.isNull(item.getVUnbalance())||item.getVUnbalance() > overlimit.getUbalance()) { - addAbnormalData(uAberrance, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVUnbalance(), overlimit.getUbalance()); + if (ObjectUtil.isNotNull(item.getVUnbalance())) { + if(item.getVUnbalance() > overlimit.getUbalance()){ + addAbnormalData(uAberrance, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVUnbalance(), overlimit.getUbalance()); + } } } } @@ -825,18 +839,16 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { if (item.getINeg() > overlimit.getINeg()) { addAbnormalData(iNeg, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getINeg(), overlimit.getINeg()); } - }else{ - System.out.println(item); - addAbnormalData(iNeg, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getINeg(), overlimit.getINeg()); } - } } //频率偏差 if (!CollectionUtils.isEmpty(dataVPOFreqList)) { for (DataVDto item : dataVPOFreqList) { - if (ObjectUtil.isNull(item.getFreqDev())||item.getFreqDev() > overlimit.getFreqDev()) { - addAbnormalData(freqDev, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getFreqDev(), overlimit.getFreqDev()); + if (ObjectUtil.isNotNull(item.getFreqDev())) { + if(item.getFreqDev() > overlimit.getFreqDev()){ + addAbnormalData(freqDev, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getFreqDev(), overlimit.getFreqDev()); + } } } } @@ -844,22 +856,27 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //电压上偏差、电压下偏差(根据vl_dev的正负判断是用哪个值判断越限) if (!CollectionUtils.isEmpty(dataVPODevList)) { for (DataVDto item : dataVPODevList) { - if (ObjectUtil.isNull(item.getVlDev())||item.getVlDev() >= 0) { - if (item.getVlDev() > overlimit.getVoltageDev()) { - addAbnormalData(uDev, item.getPhasicType(), item.getMinTime(), item.getValueType(), item.getVlDev(), overlimit.getVoltageDev()); - } - } else { - if (Math.abs(item.getVuDev()) > Math.abs(overlimit.getUvoltageDev())) { - addAbnormalData(uDev, item.getPhasicType(), item.getMinTime(), item.getValueType(), item.getVlDev(), overlimit.getUvoltageDev()); + if(ObjectUtil.isNotNull(item.getVlDev())){ + if (item.getVlDev() >= 0) { + if (item.getVlDev() > overlimit.getVoltageDev()) { + addAbnormalData(uDev, item.getPhasicType(), item.getMinTime(), item.getValueType(), item.getVlDev(), overlimit.getVoltageDev()); + } + } else { + if (Math.abs(item.getVuDev()) > Math.abs(overlimit.getUvoltageDev())) { + addAbnormalData(uDev, item.getPhasicType(), item.getMinTime(), item.getValueType(), item.getVuDev(), overlimit.getUvoltageDev()); + } } } + } } //长时间闪变 if (!CollectionUtils.isEmpty(dataPltPOList)) { for (DataPltDto item : dataPltPOList) { - if (ObjectUtil.isNull(item.getPlt())||item.getPlt() > overlimit.getFlicker()) { - addAbnormalData(flicker, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getPlt(), overlimit.getFlicker()); + if (ObjectUtil.isNotNull(item.getPlt())) { + if(item.getPlt() > overlimit.getFlicker()){ + addAbnormalData(flicker, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getPlt(), overlimit.getFlicker()); + } } } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataLimitRateDetailImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataLimitRateDetailImpl.java index 70b1603..690d574 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataLimitRateDetailImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataLimitRateDetailImpl.java @@ -111,7 +111,15 @@ public class RelationDataLimitRateDetailImpl extends MppServiceImpl ids = result.stream().map(RStatLimitRateDetailD::getLineId).collect(Collectors.toList()); + this.remove(new LambdaQueryWrapper() + .eq(RStatLimitRateDetailD::getTime,result.get(0).getTime()) + .in(RStatLimitRateDetailD::getLineId,ids) + ); + this.saveBatch(result,500); + } + } @Override