算法执行链切换

This commit is contained in:
2025-03-31 09:21:51 +08:00
parent c2405b9596
commit 82d616a99c
8 changed files with 55 additions and 62 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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<DataVerifyMapper, DataVer
Set<String> harmPhasicSet = new HashSet<>();
Set<String> harmVSet = new HashSet<>();
Set<String> inHarmVSet = new HashSet<>();
Set<String> vRmsSet = new HashSet<>();
//正序、负序和零序电压
Set<String> posVSet = new HashSet<>();
@@ -128,10 +130,8 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
powerQualityIndicatorsVO.setFrequencyDeviation(num.size());
break;
case Param.rms_v:
powerQualityIndicatorsVO.setPhaseOrLineVoltageRms(powerQualityIndicatorsVO.getPhaseOrLineVoltageRms()+num.size());
break;
case Param.rms_lvr:
powerQualityIndicatorsVO.setPhaseOrLineVoltageRms(powerQualityIndicatorsVO.getPhaseOrLineVoltageRms()+num.size());
vRmsSet.addAll(num);
break;
case Param.vu_dev:
powerQualityIndicatorsVO.setVoltageDeviation(num.size());
@@ -179,11 +179,22 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
break;
}
});
powerQualityIndicatorsVO.setHarmonicVoltagePhaseAngle(harmPhasicSet.size());
powerQualityIndicatorsVO.setHarmonicVoltageContentRate(harmVSet.size());
powerQualityIndicatorsVO.setInterHarmonicVoltageContentRate(inHarmVSet.size());
powerQualityIndicatorsVO.setPositiveNegativeZeroSequenceVoltage(posVSet.size());
powerQualityIndicatorsVO.setPhaseOrLineVoltageRms(vRmsSet.size());
}
public void getAbnormalTable(List<DataVerify> dataVerifyList,VerifyMonitorVO powerQualityIndicatorsVO,MonitorBaseParam monitorBaseParam) {
Map<String,List<DataVerify>> 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());
});
}
}

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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();