From 536ee24888aa58e3b18ca58581fcb3be46390271 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Mon, 18 Aug 2025 11:33:48 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=BE=AE=E8=B0=83=E7=AE=97=E6=B3=95=202.?= =?UTF-8?q?=E5=BE=AE=E8=B0=83influxdb=E8=BD=AC=E6=8D=A2=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../line/IDataCrossingServiceImpl.java | 16 ++++++++-------- .../serviceimpl/line/PollutionCalcImpl.java | 10 ++++++---- .../migration/read/job/MigrationInfluxDBJob.java | 15 ++++++++++++++- 3 files changed, 28 insertions(+), 13 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 24e38fb..8e6983d 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 @@ -652,7 +652,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //电压总谐波畸变率 if (!CollectionUtils.isEmpty(dataVPOList)) { for (DataVDto item : dataVPOList) { - if (item.getVThd() > overlimit.getUaberrance()) { + if (ObjectUtil.isNull(item.getVThd())||item.getVThd() > overlimit.getUaberrance()) { addAbnormalData(thd, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVThd(), overlimit.getUaberrance()); } } @@ -660,7 +660,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //电压上偏差、电压下偏差(根据vl_dev的正负判断是用哪个值判断越限) if (!CollectionUtils.isEmpty(dataVPODevList)) { for (DataVDto item : dataVPODevList) { - if (item.getVlDev() >= 0) { + 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()); } @@ -674,7 +674,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //长时间闪变 if (!CollectionUtils.isEmpty(dataPltPOList)) { for (DataPltDto item : dataPltPOList) { - if (item.getPlt() > overlimit.getFlicker()) { + if (ObjectUtil.isNull(item.getPlt())||item.getPlt() > overlimit.getFlicker()) { addAbnormalData(flicker, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getPlt(), overlimit.getFlicker()); } } @@ -799,7 +799,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //电压总谐波畸变率 if (!CollectionUtils.isEmpty(dataVPOList)) { for (DataVDto item : dataVPOList) { - if (item.getVThd() > overlimit.getUaberrance()) { + if (ObjectUtil.isNull(item.getVThd())||item.getVThd() > overlimit.getUaberrance()) { addAbnormalData(thd, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVThd(), overlimit.getUaberrance()); } } @@ -807,7 +807,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //三相电压不平衡度 if (!CollectionUtils.isEmpty(dataVPOUnbalanceList)) { for (DataVDto item : dataVPOUnbalanceList) { - if (item.getVUnbalance() > overlimit.getUbalance()) { + if (ObjectUtil.isNull(item.getVUnbalance())||item.getVUnbalance() > overlimit.getUbalance()) { addAbnormalData(uAberrance, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getVUnbalance(), overlimit.getUbalance()); } } @@ -829,7 +829,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //频率偏差 if (!CollectionUtils.isEmpty(dataVPOFreqList)) { for (DataVDto item : dataVPOFreqList) { - if (item.getFreqDev() > overlimit.getFreqDev()) { + if (ObjectUtil.isNull(item.getFreqDev())||item.getFreqDev() > overlimit.getFreqDev()) { addAbnormalData(freqDev, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getFreqDev(), overlimit.getFreqDev()); } } @@ -838,7 +838,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //电压上偏差、电压下偏差(根据vl_dev的正负判断是用哪个值判断越限) if (!CollectionUtils.isEmpty(dataVPODevList)) { for (DataVDto item : dataVPODevList) { - if (item.getVlDev() >= 0) { + 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()); } @@ -852,7 +852,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { //长时间闪变 if (!CollectionUtils.isEmpty(dataPltPOList)) { for (DataPltDto item : dataPltPOList) { - if (item.getPlt() > overlimit.getFlicker()) { + if (ObjectUtil.isNull(item.getPlt())||item.getPlt() > overlimit.getFlicker()) { addAbnormalData(flicker, item.getPhasicType(), item.getValueType(), item.getMinTime(), item.getPlt(), overlimit.getFlicker()); } } diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/PollutionCalcImpl.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/PollutionCalcImpl.java index 37bfd9a..9e17376 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/PollutionCalcImpl.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/PollutionCalcImpl.java @@ -93,9 +93,10 @@ public class PollutionCalcImpl implements IPollutionCalc { if (CollUtil.isNotEmpty(dataVDtoList) && CollUtil.isNotEmpty(dataHarmDtoList)) { //计算谐波电压污染值 dataPollutionD.setValue(PubUtils.doubleRound(2, calcVAllPollutionValue(dataVDtoList, dataHarmDtoList, overlimit) * line.getTimeInterval())); - list.add(dataPollutionD); + }else{ + dataPollutionD.setValue(0.0); } - + list.add(dataPollutionD); dataPollutionD = new DataPollutionD(); dataPollutionD.setLineId(id); dataPollutionD.setDataDate(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate())); @@ -104,9 +105,10 @@ public class PollutionCalcImpl implements IPollutionCalc { if (CollUtil.isNotEmpty(data)) { //计算谐波电流污染值 dataPollutionD.setValue(PubUtils.doubleRound(2, calcIAllPollutionValue(data, overlimit) * line.getTimeInterval())); - list.add(dataPollutionD); + }else{ + dataPollutionD.setValue(0.0); } - + list.add(dataPollutionD); } } } diff --git a/migration-influxdb/migration-influxdb-read-boot/src/main/java/com/njcn/migration/read/job/MigrationInfluxDBJob.java b/migration-influxdb/migration-influxdb-read-boot/src/main/java/com/njcn/migration/read/job/MigrationInfluxDBJob.java index 5825a06..23f521d 100644 --- a/migration-influxdb/migration-influxdb-read-boot/src/main/java/com/njcn/migration/read/job/MigrationInfluxDBJob.java +++ b/migration-influxdb/migration-influxdb-read-boot/src/main/java/com/njcn/migration/read/job/MigrationInfluxDBJob.java @@ -67,11 +67,24 @@ public class MigrationInfluxDBJob { // 加上59分钟59秒 LocalDateTime modifiedResultOld = resultOld.plusMinutes(59).plusSeconds(59); LineCountEvaluateParam paramOld = new LineCountEvaluateParam(); - paramOld.setIsManual(false); + paramOld.setIsManual(true); paramOld.setStartTime(resultOld.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); paramOld.setEndTime(modifiedResultOld.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); migrationService.hourseLineDataBacthSysc(paramOld); migrationService.hourseDevDataBacthSysc(paramOld); + +// //定时任务在往前补俩小时的 +// LocalDateTime oneHourAgoOld2 = now.minusHours(4); +// // 将分钟和秒设置为0 +// LocalDateTime resultOld2 = oneHourAgoOld2.truncatedTo(ChronoUnit.HOURS); +// // 加上59分钟59秒 +// LocalDateTime modifiedResultOld2 = resultOld2.plusMinutes(59).plusSeconds(59); +// LineCountEvaluateParam paramOld2 = new LineCountEvaluateParam(); +// paramOld2.setIsManual(true); +// paramOld2.setStartTime(resultOld2.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); +// paramOld2.setEndTime(modifiedResultOld2.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); +// migrationService.hourseLineDataBacthSysc(paramOld2); +// migrationService.hourseDevDataBacthSysc(paramOld2); } @Scheduled(cron = "0 0 22 * * ?")