From 82d616a99c2e560b86d37b36d628689dd671a9ad Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Mon, 31 Mar 2025 09:21:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=97=E6=B3=95=E6=89=A7=E8=A1=8C=E9=93=BE?= =?UTF-8?q?=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/dataClean/MonitorBaseParam.java | 10 +++ .../dataClean/PowerQualityIndicatorsVO.java | 62 +++++-------------- .../pq/controller/DataVerifyController.java | 3 +- .../device/pq/service/IDataVerifyService.java | 2 +- .../service/impl/DataVerifyServiceImpl.java | 23 +++++-- .../system/timer/tasks/DeviceTaskRunner.java | 5 +- .../system/timer/tasks/OrgTaskRunner.java | 5 +- .../timer/tasks/SubstationTaskRunner.java | 7 ++- 8 files changed, 55 insertions(+), 62 deletions(-) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/dataClean/MonitorBaseParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/dataClean/MonitorBaseParam.java index 366896123..3d4722fda 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/dataClean/MonitorBaseParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/dataClean/MonitorBaseParam.java @@ -1,6 +1,8 @@ package com.njcn.device.pq.pojo.param.dataClean; import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.models.auth.In; import lombok.Data; import lombok.EqualsAndHashCode; @@ -13,10 +15,18 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) public class MonitorBaseParam extends BaseParam { + @ApiModelProperty(value = "部门id") private String deptId; + @ApiModelProperty(value = "对象类型") private String objType; + @ApiModelProperty(value = "告警天数阈值") + private Integer alarmDayLimit; + + @ApiModelProperty(value = "预警天数阈值") + private Integer warnDayLimit; + } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java index 118af914d..f76483e26 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java @@ -10,51 +10,21 @@ import lombok.Data; @Data public class PowerQualityIndicatorsVO { - // 频率,范围 42.5~57.5 - private double frequency; - // 频率偏差,范围 -7.5~7.5 - private double frequencyDeviation; - // 相(线)电压有效值,范围 0~150%U - private double phaseOrLineVoltageRms; - // 电压偏差,范围 -20%~20% - private double voltageDeviation; - // 电流有效值,大于 CT 一次变比 - private double currentRms; - // 单相功率因数,范围 -1~1 - private double singlePhasePowerFactor; - // 单相基波功率因数,范围 -1~1 - private double singlePhaseFundamentalPowerFactor; - // 三相功率因数,范围 -1~1 - private double threePhasePowerFactor; - // 基波功率因数,范围 -1~1 - private double fundamentalPowerFactor; - // 电压总谐波畸变率,范围 0~30% - private double voltageTotalHarmonicDistortion; - // 相(线)电压基波有效值,范围 0~150%U - private double phaseOrLineVoltageFundamentalRms; - // 相(线)电压基波相角,范围 -180~180 - private double phaseOrLineVoltageFundamentalPhaseAngle; - // 谐波电压含有率,范围 0~30% - private double harmonicVoltageContentRate; - // 谐波电压相角,范围 -180~180 - private double harmonicVoltagePhaseAngle; - // 间谐波电压含有率,范围 0~30% - private double interHarmonicVoltageContentRate; - // 正序、负序和零序电压,范围 0~150%U - private double positiveNegativeZeroSequenceVoltage; - // 负序电压不平衡度,范围 0~40% - private double balanceV; - // 零序电压不平衡度,范围 0~40% - private double zeroSequenceVoltageUnbalanceDegree; - // 电压波动,范围 0~40% - private double voltageFluctuation; - // 短时间闪变值,范围 0~20 - private double shortTermFlickerValue; - // 长时间闪变值,范围 0~20 - private double longTermFlickerValue; - // 电压暂降特征幅值,范围 0~90% - private double voltageSagCharacteristicAmplitude; - // 电压暂升特征幅值 - private double voltageSwellCharacteristicAmplitude; + //监测点名称 + private String monitorName; + //所属终端名称 + private String devName; + //所属电站 + private String stationName; + //监测对象类型 + private String objType; + //监测对象名称 + private String objName; + //电压等级 + private String voltageLevel; + //异常天数 + private String abnormalDay; + //严重度 + private Double severity; } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java index 50df87859..635ff2c94 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java @@ -7,8 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; -import com.njcn.device.pq.pojo.vo.AlarmStrategyVO; -import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; + import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; import com.njcn.device.pq.service.IDataVerifyService; import io.swagger.annotations.Api; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java index e68350650..91526f6c8 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java @@ -3,7 +3,7 @@ package com.njcn.device.pq.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.po.DataVerify; -import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; + import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; import java.util.List; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java index 089ac3545..28efc8fe3 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java @@ -5,13 +5,12 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.njcn.dataProcess.enums.DataCleanEnum; import com.njcn.device.pq.constant.Param; import com.njcn.device.pq.mapper.DataVerifyMapper; import com.njcn.device.pq.mapper.LineMapper; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.po.DataVerify; -import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; + import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; import com.njcn.device.pq.service.CommTerminalService; import com.njcn.device.pq.service.IDataVerifyService; @@ -20,8 +19,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.text.DateFormat; +import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.function.Function; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -108,6 +109,7 @@ public class DataVerifyServiceImpl extends ServiceImpl harmPhasicSet = new HashSet<>(); Set harmVSet = new HashSet<>(); Set inHarmVSet = new HashSet<>(); + Set vRmsSet = new HashSet<>(); //正序、负序和零序电压 Set posVSet = new HashSet<>(); @@ -128,10 +130,8 @@ public class DataVerifyServiceImpl extends ServiceImpl dataVerifyList,VerifyMonitorVO powerQualityIndicatorsVO,MonitorBaseParam monitorBaseParam) { + Map> dataMap = dataVerifyList.stream().collect(Collectors.groupingBy(DataVerify::getLineId)); + dataMap.forEach((key,list)->{ + list.stream().map(it->it.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN))).distinct().sorted(Comparator.comparing(Function.identity())).collect(Collectors.toList()); + }); + + } + + } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/DeviceTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/DeviceTaskRunner.java index 7d434ea42..2eeaacd11 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/DeviceTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/DeviceTaskRunner.java @@ -3,8 +3,9 @@ package com.njcn.system.timer.tasks; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.njcn.algorithm.pojo.bo.BaseParam; +import com.njcn.algorithm.pojo.liteflow.LiteFlowAlgorithmFeignClient; import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient; -import com.njcn.prepare.harmonic.pojo.bo.BaseParam; import com.njcn.system.timer.TimerTaskRunner; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -20,7 +21,7 @@ import org.springframework.stereotype.Component; @RequiredArgsConstructor public class DeviceTaskRunner implements TimerTaskRunner { - private final LiteFlowFeignClient liteFlowFeignClient; + private final LiteFlowAlgorithmFeignClient liteFlowFeignClient; @Override public void action(String date) { diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/OrgTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/OrgTaskRunner.java index 2e08067cb..80c2b0c4f 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/OrgTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/OrgTaskRunner.java @@ -3,8 +3,9 @@ package com.njcn.system.timer.tasks; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.njcn.algorithm.pojo.bo.BaseParam; +import com.njcn.algorithm.pojo.liteflow.LiteFlowAlgorithmFeignClient; import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient; -import com.njcn.prepare.harmonic.pojo.bo.BaseParam; import com.njcn.system.timer.TimerTaskRunner; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -20,7 +21,7 @@ import org.springframework.stereotype.Component; @RequiredArgsConstructor public class OrgTaskRunner implements TimerTaskRunner { - private final LiteFlowFeignClient liteFlowFeignClient; + private final LiteFlowAlgorithmFeignClient liteFlowFeignClient; @Override public void action(String date) { diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/SubstationTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/SubstationTaskRunner.java index 1bb0ec13b..b084fe2b3 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/SubstationTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/SubstationTaskRunner.java @@ -3,8 +3,10 @@ package com.njcn.system.timer.tasks; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.njcn.algorithm.pojo.bo.BaseParam; +import com.njcn.algorithm.pojo.liteflow.LiteFlowAlgorithmFeignClient; import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient; -import com.njcn.prepare.harmonic.pojo.bo.BaseParam; + import com.njcn.system.timer.TimerTaskRunner; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -20,8 +22,7 @@ import org.springframework.stereotype.Component; @RequiredArgsConstructor public class SubstationTaskRunner implements TimerTaskRunner { - private final LiteFlowFeignClient liteFlowFeignClient; - + private final LiteFlowAlgorithmFeignClient liteFlowFeignClient; @Override public void action(String date) { BaseParam baseParam = new BaseParam();