初始化

This commit is contained in:
2022-06-21 20:47:46 +08:00
parent b666a24a98
commit 59da3376c1
1246 changed files with 129600 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
package com.njcn.harmonic.constant;
/**
* @author xy
* @date 2021/12/29 15:10
*/
public interface HarmonicValidMessage {
String DATA_NOT_BLANK = "参数不能为空";
}

View File

@@ -0,0 +1,63 @@
package com.njcn.harmonic.constant;
/**
* @author 徐扬
*/
public interface Param {
/**
* 表名
*/
String LIMIT_TARGET = "limit_target";
String LIMIT_RATE = "limit_rate";
/**
* 数据完整性表公共字段
*/
String DUE = "DUE";
String REAL = "REAL";
/**
* 终端在线率表公共字段
*/
String ONLINEMIN = "onlinemin";
String OFFLINEMIN = "offlinemin";
/**
* 谐波总畸变率表公共字段
*/
String V_THD = "V_THD";
String QualityFlag = "QualityFlag";
/**
* 污区图字段 显示前10
*/
Integer DOWN_LIMIT = 0;
Integer UP_LIMIT = 10;
/**
* 公共字段
*/
String LINE_INDEX = "LINE_INDEX";
String DEV_INDEX = "dev_index";
String LINE_ID = "line_id";
String LINEID = "LineID";
String TIME = "time";
String MYINDEX = "MYINDEX";
String START_TIME = " 00:00:00";
String END_TIME = " 23:59:59";
/**
* 稳态数据分析字段
*/
String PHASIC_TYPEA = "A";
String PHASIC_TYPEB = "B";
String PHASIC_TYPEC = "C";
String PHASIC_TYPET = "T";
String VALUETYPE = "value_type";
String PHASIC_TYPE = "phasic_type";
String PARENT_ID = "0";
}

View File

@@ -0,0 +1,28 @@
package com.njcn.harmonic.enums;
import lombok.Getter;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月20日 09:56
*/
@Getter
public enum HarmonicResponseEnum {
/**
* 谐波模块异常响应码的范围:
* A00550 ~ A00649
*/
HARMONIC_COMMON_ERROR("A00550","谐波模块异常")
;
private final String code;
private final String message;
HarmonicResponseEnum(String code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,34 @@
package com.njcn.harmonic.pojo.dto;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/22 15:38
*/
@Data
public class AreaDTO {
/**
* 在线监测点数
*/
private Integer onlineCount = 0;
/**
* 超标监测点数
*/
private Integer overLineCount = 0;
/**
* 平均超标天数
*/
private Double averageOverDay = 0.0;
/**
* 占比
*/
private Double ratio = 0.0;
}

View File

@@ -0,0 +1,75 @@
package com.njcn.harmonic.pojo.dto;
import lombok.Data;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/04/24 10:37
*/
@Data
public class ComAssessDTO {
//电压正偏差等级1
private Float vuDev1;
//电压正偏差等级2
private Float vuDev2;
//电压正偏差等级3
private Float vuDev3;
//电压正偏差等级4
private Float vuDev4;
//电压正偏差等级5
private Float vuDev5;
//频率偏差等级1
private Float freqDev1;
//频率偏差等级2
private Float freqDev2;
//频率偏差等级3
private Float freqDev3;
//频率偏差等级4
private Float freqDev4;
//频率偏差等级5
private Float freqDev5;
//电压闪变等级1
private Float dataPST1;
//电压闪变等级2
private Float dataPST2;
//电压闪变等级3
private Float dataPST3;
//电压闪变等级4
private Float dataPST4;
//电压闪变等级5
private Float dataPST5;
//电压不平衡度等级1
private Float vUnbalance1;
//电压不平衡度等级2
private Float vUnbalance2;
//电压不平衡度等级3
private Float vUnbalance3;
//电压不平衡度等级4
private Float vUnbalance4;
//电压不平衡度等级5
private Float vUnbalance5;
//谐波含量等级1
private Float vTHD1;
//谐波含量等级2
private Float vTHD2;
//谐波含量等级3
private Float vTHD3;
//谐波含量等级4
private Float vTHD4;
//谐波含量等级5
private Float vTHD5;
//电压暂降等级1
private Float event1;
//电压暂降等级2
private Float event2;
//电压暂降等级3
private Float event3;
//电压暂降等级4
private Float event4;
//电压暂降等级5
private Float event5;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.pojo.dto;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/1/10 10:34
*/
@Data
public class PublicDTO {
private String id;
private Double data;
}

View File

@@ -0,0 +1,172 @@
package com.njcn.harmonic.pojo.dto;
import lombok.Data;
/**
* @author: chenchao
* @date: 2022/04/02 11:48
* @Description: <描述>
*/
@Data
public class SteadyQualifyDTO {
private String id;
//时间索引
private String time;
//监测点索引
private String MYINDEX;
//数据类型
private String Phasic_Type;
//总次数
private Double AllTime;
//闪变越限次数
private Double Flicker_OverTime;
//闪变总次数
private Double Flicker_AllTime;
//频率偏差越限次数
private Double Freq_Dev_OverTime;
//电压偏差越限次数
private Double Voltage_Dev_OverTime;
//电压不平衡度越限次数
private Double UBalance_OverTime;
//电压谐波畸变率越限次数
private Double UAberrance_OverTime;
//负序电流限值次数
private Double I_Neg_OverTime;
//2次电压谐波含有率越限次数
private Double UHarm_2_OverTime;
//3次电压谐波含有率越限次数
private Double UHarm_3_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_4_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_5_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_6_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_7_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_8_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_9_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_10_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_11_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_12_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_13_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_14_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_15_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_16_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_17_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_18_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_19_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_20_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_21_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_22_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_23_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_24_OverTime;
//4次电压谐波含有率越限次数
private Double UHarm_25_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_2_OverTime;
//3次电流谐波幅值越限次数
private Double IHarm_3_OverTime;
//4次电流谐波幅值越限次数
private Double IHarm_4_OverTime;
//5次电流谐波幅值越限次数
private Double IHarm_5_OverTime;
//6次电流谐波幅值越限次数
private Double IHarm_6_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_7_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_8_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_9_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_10_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_11_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_12_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_13_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_14_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_15_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_16_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_17_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_18_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_19_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_20_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_21_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_22_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_23_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_24_OverTime;
//2次电流谐波幅值越限次数
private Double IHarm_25_OverTime;
//0.5次间谐波电压限值次数
private Double InUHARM_1_OverTime;
//1.5次间谐波电压限值次数
private Double InUHARM_2_OverTime;
//2.5次间谐波电压限值次数
private Double InUHARM_3_OverTime;
//3.5次间谐波电压限值次数
private Double InUHARM_4_OverTime;
//4.5次间谐波电压限值次数
private Double InUHARM_5_OverTime;
//5.5次间谐波电压限值次数
private Double InUHARM_6_OverTime;
//6.5次间谐波电压限值次数
private Double InUHARM_7_OverTime;
//7.5次间谐波电压限值次数
private Double InUHARM_8_OverTime;
//8.5次间谐波电压限值次数
private Double InUHARM_9_OverTime;
//9.5次间谐波电压限值次数
private Double InUHARM_10_OverTime;
//10.5次间谐波电压限值次数
private Double InUHARM_11_OverTime;
//11.5次间谐波电压限值次数
private Double InUHARM_12_OverTime;
//12.5次间谐波电压限值次数
private Double InUHARM_13_OverTime;
//13.5次间谐波电压限值次数
private Double InUHARM_14_OverTime;
//14.5次间谐波电压限值次数
private Double InUHARM_15_OverTime;
//15.5次间谐波电压限值次数
private Double InUHARM_16_OverTime;
}

View File

@@ -0,0 +1,56 @@
package com.njcn.harmonic.pojo.dto.excel.area;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import com.njcn.poi.pojo.constant.DeviceInfoConstant;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/17 10:12
*/
@Data
public class AreaExcel implements Serializable {
@Excel(name = "名称", width = 25, needMerge = true)
private String name;
@Excel(name = "在线监测点个数(个)", width = 25, needMerge = true)
private Integer onlineMonitorNumber;
@Excel(name = "超标监测点个数(个)", width = 25, needMerge = true)
private Integer overLimitMonitorNumber;
@Excel(name = "超标监测点数占比(%)", width = 25, needMerge = true)
private Double overBiLi;
@ExcelCollection(name = "频率偏差超标情况",orderNum = "3")
private List<OverData> list1;
@ExcelCollection(name = "电压偏差超标情况",orderNum = "3")
private List<OverData> list2;
@ExcelCollection(name = "谐波电压超标情况",orderNum = "3")
private List<OverData> list3;
@ExcelCollection(name = "谐波电流超标情况",orderNum = "3")
private List<OverData> list4;
@ExcelCollection(name = "三相电压不平衡度超标情况",orderNum = "3")
private List<OverData> list5;
@ExcelCollection(name = "闪变超标情况",orderNum = "3")
private List<OverData> list6;
@ExcelCollection(name = "负序电流限值超标情况",orderNum = "3")
private List<OverData> list7;
@ExcelCollection(name = "间谐波电压超标情况",orderNum = "3")
private List<OverData> list8;
}

View File

@@ -0,0 +1,27 @@
package com.njcn.harmonic.pojo.dto.excel.area;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/17 11:28
*/
@Data
public class OverData implements Serializable {
@Excel(name = "个数", width = 25)
private Integer number;
@Excel(name = "占比", width = 25)
private Double bili;
@Excel(name = "平均超标天数", width = 25)
private Double avgDay;
}

View File

@@ -0,0 +1,17 @@
package com.njcn.harmonic.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍
* @author denghuajun
* @version 1.0.0
* @date 2022/3/17
*/
@Data
public class HarmInHarmParam extends PulicTimeParam{
@ApiModelProperty("0--谐波电压含有率;1--谐波电流幅值")
private Integer harmState;
}

View File

@@ -0,0 +1,21 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.device.pojo.param.DeviceInfoParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/29 15:29
*/
@Data
public class HarmonicPublicParam extends DeviceInfoParam.BusinessParam{
@ApiModelProperty(name = "id", value = "id")
private String id;
}

View File

@@ -0,0 +1,41 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* 异常数据统计参数
* @author denghuajun
* @version 1.0.0
* @date 2022/3/17
*/
@Data
public class HistoryHarmOverLimitParam{
@ApiModelProperty("监测点集合")
private String[] lineId;
@ApiModelProperty("开始时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
@ApiModelProperty("指标集合")
private String[] condition;
@ApiModelProperty("谐波次数集合")
private String[] harmonics;
@ApiModelProperty("间谐波次数集合")
private String[] inHarmonics;
}

View File

@@ -0,0 +1,45 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* @author denghuajun
* @date 2022/3/11
*
*/
@Data
public class HistoryParam {
@ApiModelProperty("开始时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
@ApiModelProperty("监测点id集合")
private String[] lineId;
@ApiModelProperty("指标集合")
private String[] condition;
@ApiModelProperty("谐波次数")
private Integer harmonic;
@ApiModelProperty("间谐波次数")
private Integer inHarmonic;
@ApiModelProperty("类型(1-平均值2-最小值3-最大值4-CP95值)")
private Integer valueType;
@ApiModelProperty("接线方式")
private Integer ptType;
}

View File

@@ -0,0 +1,37 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022/3/28
*/
@Data
public class NormHistoryParam {
@ApiModelProperty("时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchTime;
@ApiModelProperty("监测点id")
private String lineId;
@ApiModelProperty("相别")
private String phaseType;
@ApiModelProperty("指标")
private String targetCode;
@ApiModelProperty("类型(1-平均值2-最小值3-最大值4-CP95值)")
private Integer valueType;
@ApiModelProperty("次数")
private Integer number;
}

View File

@@ -0,0 +1,25 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Pattern;
/**
* @author: chenchao
* @date: 2022/03/01 14:37
* @Description: <描述>
*/
@Data
public class OnlineRateCensusParam extends OnlineRateParam {
@ApiModelProperty(value = "比较开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodBeginTime;
@ApiModelProperty(value = "比较结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodEndTime;
}

View File

@@ -0,0 +1,44 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2021/12/31 9:57
*/
@Data
public class OnlineRateParam {
@ApiModelProperty("统计类型")
@NotNull(message = HarmonicValidMessage.DATA_NOT_BLANK)
private SimpleDTO statisticalType;
@ApiModelProperty("区域")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
private String deptIndex;
@ApiModelProperty("终端厂家")
private List<SimpleDTO> manufacturer;
@ApiModelProperty("开始时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
}

View File

@@ -0,0 +1,33 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* @author denghuajun
* @date 2022/2/28
*
*/
@Data
public class PulicTimeParam {
@ApiModelProperty("监测点id")
private String id;
@ApiModelProperty("开始时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
}

View File

@@ -0,0 +1,23 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Pattern;
/**
* @author denghuajun
* @date 2022/3/1
*
*/
@Data
public class PulicTimeStatisParam extends PulicTimeParam {
@ApiModelProperty("比较开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodBeginTime;
@ApiModelProperty("比较结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodEndTime;
}

View File

@@ -0,0 +1,49 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/10 22:05
* @Description: <描述>
*/
@Data
public class THDistortionParam {
@ApiModelProperty("统计类型")
@NotNull(message = HarmonicValidMessage.DATA_NOT_BLANK)
private SimpleDTO statisticalType;
@ApiModelProperty("区域")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
private String deptIndex;
@ApiModelProperty("电压等级")
private List<SimpleDTO> voltageLevel;
@ApiModelProperty("终端厂家")
private List<SimpleDTO> manufacturer;
@ApiModelProperty("干扰源类型")
private List<SimpleDTO> interference;
@ApiModelProperty("开始时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
}

View File

@@ -0,0 +1,46 @@
package com.njcn.harmonic.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/02 16:31
* @Description: <描述>
*/
@Data
public class TerminalParam {
@ApiModelProperty("统计类型")
@NotNull(message = HarmonicValidMessage.DATA_NOT_BLANK)
private SimpleDTO statisticalType;
@ApiModelProperty("区域")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
private String deptIndex;
@ApiModelProperty("终端厂家")
private List<SimpleDTO> manufacturer;
@ApiModelProperty("系统类型")
private Integer deviceType;
@ApiModelProperty("开始时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
}

View File

@@ -0,0 +1,85 @@
package com.njcn.harmonic.pojo.po;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.time.Instant;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/7 15:27
*/
@Data
@Measurement(name = "pqs_eventdetail")
public class EventDetail {
@Column(name = "time")
private Instant time;
@Column(name = "line_id")
private String lineId;
@Column(name = "deal_flag")
private Integer dealFlag;
@Column(name = "deal_time")
private String dealTime;
@Column(name = "dp_time")
private Double dpTime;
@Column(name = "energy")
private Double energy;
@Column(name = "event_describe")
private String eventDescribe;
@Column(name = "event_reason")
private String eventReason;
@Column(name = "event_type")
private String eventType;
@Column(name = "event_value")
private Double eventValue;
@Column(name = "eventass_index")
private String eventAssIndex;
@Column(name = "file_flag")
private Integer fileFlag;
@Column(name = "first_ms")
private Integer firstMs;
@Column(name = "first_time")
private String firstTime;
@Column(name = "first_type")
private String firstType;
@Column(name = "id")
private String id;
@Column(name = "num")
private Integer num;
@Column(name = "persist_time")
private Double persistTime;
@Column(name = "sagsource")
private String sagSource;
@Column(name = "severity")
private Double severity;
@Column(name = "wave_name")
private String waveName;
@Column(name = "wave_type")
private Integer waveType;
}

View File

@@ -0,0 +1,21 @@
package com.njcn.harmonic.pojo.po;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/7 10:41
*/
@Data
@Measurement(name = "limit_rate")
@EqualsAndHashCode(callSuper = true)
public class LimitRate extends LimitTarget{
}

View File

@@ -0,0 +1,252 @@
package com.njcn.harmonic.pojo.po;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.time.Instant;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/04/19 17:37
*/
@Data
@Measurement(name = "LIMIT_RATE")
public class LimitRatePO {
//时间索引
@Column(name = "time")
private Instant time;
//监测点索引
@Column(name = "MYINDEX")
private String lineId;
//数据类型
@Column(name = "Phasic_Type")
private String phasicType;
//总次数
@Column(name = "AllTime")
private Integer allTime;
//闪变越限次数
@Column(name = "Flicker_OverTime")
private Integer flickerOverTime;
//闪变总次数
@Column(name = "Flicker_AllTime")
private Integer flickerAllTime;
//频率偏差越限次数
@Column(name = "Freq_Dev_OverTime")
private Integer freqDevOverTime;
//电压偏差越限次数
@Column(name = "Voltage_Dev_OverTime")
private Integer voltageDevOverTime;
//电压不平衡度越限次数
@Column(name = "UBalance_OverTime")
private Integer uBalanceOverTime;
//电压谐波畸变率越限次数
@Column(name = "UAberrance_OverTime")
private Integer uAberranceOverTime;
//负序电流限值次数
@Column(name = "I_Neg_OverTime")
private Integer iNegOverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_2_OverTime")
private Integer uHarm2OverTime;
//3次电压谐波含有率越限次数
@Column(name = "UHarm_3_OverTime")
private Integer uHarm3OverTime;
//4次电压谐波含有率越限次数
@Column(name = "UHarm_4_OverTime")
private Integer uHarm4OverTime;
//5次电压谐波含有率越限次数
@Column(name = "UHarm_5_OverTime")
private Integer uHarm5OverTime;
//6次电压谐波含有率越限次数
@Column(name = "UHarm_6_OverTime")
private Integer uHarm6OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_7_OverTime")
private Integer uHarm7OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_8_OverTime")
private Integer uHarm8OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_9_OverTime")
private Integer uHarm9OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_10_OverTime")
private Integer uHarm10OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_11_OverTime")
private Integer uHarm11OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_12_OverTime")
private Integer uHarm12OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_13_OverTime")
private Integer uHarm13OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_14_OverTime")
private Integer uHarm14OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_15_OverTime")
private Integer uHarm15OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_16_OverTime")
private Integer uHarm16OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_17_OverTime")
private Integer uHarm17OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_18_OverTime")
private Integer uHarm18OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_19_OverTime")
private Integer uHarm19OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_20_OverTime")
private Integer uHarm20OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_21_OverTime")
private Integer uHarm21OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_22_OverTime")
private Integer uHarm22OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_23_OverTime")
private Integer uHarm23OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_24_OverTime")
private Integer uHarm24OverTime;
//2次电压谐波含有率越限次数
@Column(name = "UHarm_25_OverTime")
private Integer uHarm25OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_2_OverTime")
private Integer iHarm2OverTime;
//3次电流谐波幅值越限次数
@Column(name = "IHarm_3_OverTime")
private Integer iHarm3OverTime;
//4次电流谐波幅值越限次数
@Column(name = "IHarm_4_OverTime")
private Integer iHarm4OverTime;
//5次电流谐波幅值越限次数
@Column(name = "IHarm_5_OverTime")
private Integer iHarm5OverTime;
//6次电流谐波幅值越限次数
@Column(name = "IHarm_6_OverTime")
private Integer iHarm6OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_7_OverTime")
private Integer iHarm7OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_8_OverTime")
private Integer iHarm8OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_9_OverTime")
private Integer iHarm9OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_10_OverTime")
private Integer iHarm10OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_11_OverTime")
private Integer iHarm11OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_12_OverTime")
private Integer iHarm12OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_13_OverTime")
private Integer iHarm13OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_14_OverTime")
private Integer iHarm14OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_15_OverTime")
private Integer iHarm15OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_16_OverTime")
private Integer iHarm16OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_17_OverTime")
private Integer iHarm17OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_18_OverTime")
private Integer iHarm18OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_19_OverTime")
private Integer iHarm19OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_20_OverTime")
private Integer iHarm20OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_21_OverTime")
private Integer iHarm21OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_22_OverTime")
private Integer iHarm22OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_23_OverTime")
private Integer iHarm23OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_24_OverTime")
private Integer iHarm24OverTime;
//2次电流谐波幅值越限次数
@Column(name = "IHarm_25_OverTime")
private Integer iHarm25OverTime;
//0.5次间谐波电压限值次数
@Column(name = "InUHARM_1_OverTime")
private Integer inUHARM1OverTime;
//1.5次间谐波电压限值次数
@Column(name = "InUHARM_2_OverTime")
private Integer inUHARM2OverTime;
//2.5次间谐波电压限值次数
@Column(name = "InUHARM_3_OverTime")
private Integer inUHARM3OverTime;
//3.5次间谐波电压限值次数
@Column(name = "InUHARM_4_OverTime")
private Integer inUHARM4OverTime;
//4.5次间谐波电压限值次数
@Column(name = "InUHARM_5_OverTime")
private Integer inUHARM5OverTime;
//5.5次间谐波电压限值次数
@Column(name = "InUHARM_6_OverTime")
private Integer inUHARM6OverTime;
//6.5次间谐波电压限值次数
@Column(name = "InUHARM_7_OverTime")
private Integer inUHARM7OverTime;
//7.5次间谐波电压限值次数
@Column(name = "InUHARM_8_OverTime")
private Integer inUHARM8OverTime;
//8.5次间谐波电压限值次数
@Column(name = "InUHARM_9_OverTime")
private Integer inUHARM9OverTime;
//9.5次间谐波电压限值次数
@Column(name = "InUHARM_10_OverTime")
private Integer inUHARM10OverTime;
//10.5次间谐波电压限值次数
@Column(name = "InUHARM_11_OverTime")
private Integer inUHARM11OverTime;
//11.5次间谐波电压限值次数
@Column(name = "InUHARM_12_OverTime")
private Integer inUHARM12OverTime;
//12.5次间谐波电压限值次数
@Column(name = "InUHARM_13_OverTime")
private Integer inUHARM13OverTime;
//13.5次间谐波电压限值次数
@Column(name = "InUHARM_14_OverTime")
private Integer inUHARM14OverTime;
//14.5次间谐波电压限值次数
@Column(name = "InUHARM_15_OverTime")
private Integer inUHARM15OverTime;
//15.5次间谐波电压限值次数
@Column(name = "InUHARM_16_OverTime")
private Integer inUHARM16OverTime;
//日类型数据
private String dayStr;
//月类型数据
private String mouthStr;
}

View File

@@ -0,0 +1,276 @@
package com.njcn.harmonic.pojo.po;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.time.Instant;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/21 20:20
*/
@Data
@Measurement(name = "limit_target")
public class LimitTarget {
@Column(name = "time")
private Instant time;
@Column(name = "line_id")
private String lineId;
@Column(name = "phasic_type")
private String phasicType;
@Column(name = "all_time")
private Integer allTime;
@Column(name = "flicker_overtime")
private Integer flickerOverTime;
@Column(name = "flicker_all_time")
private Integer flickerAllTime;
@Column(name = "freq_dev_overtime")
private Integer freqDevOverTime;
@Column(name = "voltage_dev_overtime")
private Integer voltageDevOverTime;
@Column(name = "ubalance_overtime")
private Integer uBalanceOverTime;
@Column(name = "uaberrance_overtime")
private Integer uAberranceOverTime;
@Column(name = "i_neg_overtime")
private Integer iNegOverTime;
@Column(name = "uharm_2_overtime")
private Integer uHarm2OverTime;
@Column(name = "uharm_3_overtime")
private Integer uHarm3OverTime;
@Column(name = "uharm_4_overtime")
private Integer uHarm4OverTime;
@Column(name = "uharm_5_overtime")
private Integer uHarm5OverTime;
@Column(name = "uharm_6_overtime")
private Integer uHarm6OverTime;
@Column(name = "uharm_7_overtime")
private Integer uHarm7OverTime;
@Column(name = "uharm_8_overtime")
private Integer uHarm8OverTime;
@Column(name = "uharm_9_overtime")
private Integer uHarm9OverTime;
@Column(name = "uharm_10_overtime")
private Integer uHarm10OverTime;
@Column(name = "uharm_11_overtime")
private Integer uHarm11OverTime;
@Column(name = "uharm_12_overtime")
private Integer uHarm12OverTime;
@Column(name = "uharm_13_overtime")
private Integer uHarm13OverTime;
@Column(name = "uharm_14_overtime")
private Integer uHarm14OverTime;
@Column(name = "uharm_15_overtime")
private Integer uHarm15OverTime;
@Column(name = "uharm_16_overtime")
private Integer uHarm16OverTime;
@Column(name = "uharm_17_overtime")
private Integer uHarm17OverTime;
@Column(name = "uharm_18_overtime")
private Integer uHarm18OverTime;
@Column(name = "uharm_19_overtime")
private Integer uHarm19OverTime;
@Column(name = "uharm_20_overtime")
private Integer uHarm20OverTime;
@Column(name = "uharm_21_overtime")
private Integer uHarm21OverTime;
@Column(name = "uharm_22_overtime")
private Integer uHarm22OverTime;
@Column(name = "uharm_23_overtime")
private Integer uHarm23OverTime;
@Column(name = "uharm_24_overtime")
private Integer uHarm24OverTime;
@Column(name = "uharm_25_overtime")
private Integer uHarm25OverTime;
@Column(name = "iharm_2_overtime")
private Integer iHarm2OverTime;
@Column(name = "iharm_3_overtime")
private Integer iHarm3OverTime;
@Column(name = "iharm_4_overtime")
private Integer iHarm4OverTime;
@Column(name = "iharm_5_overtime")
private Integer iHarm5OverTime;
@Column(name = "iharm_6_overtime")
private Integer iHarm6OverTime;
@Column(name = "iharm_7_overtime")
private Integer iHarm7OverTime;
@Column(name = "iharm_8_overtime")
private Integer iHarm8OverTime;
@Column(name = "iharm_9_overtime")
private Integer iHarm9OverTime;
@Column(name = "iharm_10_overtime")
private Integer iHarm10OverTime;
@Column(name = "iharm_11_overtime")
private Integer iHarm11OverTime;
@Column(name = "iharm_12_overtime")
private Integer iHarm12OverTime;
@Column(name = "iharm_13_overtime")
private Integer iHarm13OverTime;
@Column(name = "iharm_14_overtime")
private Integer iHarm14OverTime;
@Column(name = "iharm_15_overtime")
private Integer iHarm15OverTime;
@Column(name = "iharm_16_overtime")
private Integer iHarm16OverTime;
@Column(name = "iharm_17_overtime")
private Integer iHarm17OverTime;
@Column(name = "iharm_18_overtime")
private Integer iHarm18OverTime;
@Column(name = "iharm_19_overtime")
private Integer iHarm19OverTime;
@Column(name = "iharm_20_overtime")
private Integer iHarm20OverTime;
@Column(name = "iharm_21_overtime")
private Integer iHarm21OverTime;
@Column(name = "iharm_22_overtime")
private Integer iHarm22OverTime;
@Column(name = "iharm_23_overtime")
private Integer iHarm23OverTime;
@Column(name = "iharm_24_overtime")
private Integer iHarm24OverTime;
@Column(name = "iharm_25_overtime")
private Integer iHarm25OverTime;
@Column(name = "inuharm_1_overtime")
private Integer inuHarm1OverTime;
@Column(name = "inuharm_2_overtime")
private Integer inuHarm2OverTime;
@Column(name = "inuharm_3_overtime")
private Integer inuHarm3OverTime;
@Column(name = "inuharm_4_overtime")
private Integer inuHarm4OverTime;
@Column(name = "inuharm_5_overtime")
private Integer inuHarm5OverTime;
@Column(name = "inuharm_6_overtime")
private Integer inuHarm6OverTime;
@Column(name = "inuharm_7_overtime")
private Integer inuHarm7OverTime;
@Column(name = "inuharm_8_overtime")
private Integer inuHarm8OverTime;
@Column(name = "inuharm_9_overtime")
private Integer inuHarm9OverTime;
@Column(name = "inuharm_10_overtime")
private Integer inuHarm10OverTime;
@Column(name = "inuharm_11_overtime")
private Integer inuHarm11OverTime;
@Column(name = "inuharm_12_overtime")
private Integer inuHarm12OverTime;
@Column(name = "inuharm_13_overtime")
private Integer inuHarm13OverTime;
@Column(name = "inuharm_14_overtime")
private Integer inuHarm14OverTime;
@Column(name = "inuharm_15_overtime")
private Integer inuHarm15OverTime;
@Column(name = "inuharm_16_overtime")
private Integer inuHarm16OverTime;
/**
* 别名字段
* 谐波电压含有率其他次
*/
@Column(name = "u_other_times")
private Integer uOtherTimes;
/**
* 别名字段
* 谐波电流含量其他词
*/
@Column(name = "i_other_times")
private Integer iOtherTimes;
/**
* 别名字段
*/
@Column(name = "uharm_all_overtime")
private Integer uHarmAllOverTime;
/**
* 别名字段
*/
@Column(name = "iharm_all_overtime")
private Integer iHarmAllOverTime;
/**
* 别名字段
*/
@Column(name = "inuharm_all_overtime")
private Integer inuharmAllOverTime;
}

View File

@@ -0,0 +1,120 @@
package com.njcn.harmonic.pojo.po;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.time.Instant;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/04/21 14:58
*/
@Data
@Measurement(name = "PQS_COMASSES")
public class PQSComAssesPO {
//时间索引
@Column(name = "time")
private Instant time;
//监测点索引
@Column(name = "LineID")
private String lineId;
//电压正偏差等级1
@Column(name = "VU_Dev1")
private Double vuDev1;
//电压正偏差等级2
@Column(name = "VU_Dev2")
private Double vuDev2;
//电压正偏差等级3
@Column(name = "VU_Dev3")
private Double vuDev3;
//电压正偏差等级4
@Column(name = "VU_Dev4")
private Double vuDev4;
//电压正偏差等级5
@Column(name = "VU_Dev5")
private Double vuDev5;
//频率偏差等级1
@Column(name = "Freq_Dev1")
private Double freqDev1;
//频率偏差等级2
@Column(name = "Freq_Dev2")
private Double freqDev2;
//频率偏差等级3
@Column(name = "Freq_Dev3")
private Double freqDev3;
//频率偏差等级4
@Column(name = "Freq_Dev4")
private Double freqDev4;
//频率偏差等级5
@Column(name = "Freq_Dev5")
private Double freqDev5;
//电压闪变等级1
@Column(name = "Data_PST1")
private Double dataPST1;
//电压闪变等级2
@Column(name = "Data_PST2")
private Double dataPST2;
//电压闪变等级3
@Column(name = "Data_PST3")
private Double dataPST3;
//电压闪变等级4
@Column(name = "Data_PST4")
private Double dataPST4;
//电压闪变等级5
@Column(name = "Data_PST5")
private Double dataPST5;
//电压不平衡度等级1
@Column(name = "V_Unbalance1")
private Double vUnbalance1;
//电压不平衡度等级2
@Column(name = "V_Unbalance2")
private Double vUnbalance2;
//电压不平衡度等级3
@Column(name = "V_Unbalance3")
private Double vUnbalance3;
//电压不平衡度等级4
@Column(name = "V_Unbalance4")
private Double vUnbalance4;
//电压不平衡度等级5
@Column(name = "V_Unbalance5")
private Double vUnbalance5;
//谐波含量等级1
@Column(name = "V_THD1")
private Double vTHD1;
//谐波含量等级2
@Column(name = "V_THD2")
private Double vTHD2;
//谐波含量等级3
@Column(name = "V_THD3")
private Double vTHD3;
//谐波含量等级4
@Column(name = "V_THD4")
private Double vTHD4;
//谐波含量等级5
@Column(name = "V_THD5")
private Double vTHD5;
//电压暂降等级1
@Column(name = "Event1")
private Double event1;
//电压暂降等级2
@Column(name = "Event2")
private Double event2;
//电压暂降等级3
@Column(name = "Event3")
private Double event3;
//电压暂降等级4
@Column(name = "Event4")
private Double event4;
//电压暂降等级5
@Column(name = "Event5")
private Double event5;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @date 2022/3/2
*
*/
@Data
public class AssesVO implements Serializable {
@ApiModelProperty("综合评估")
private List<Float> syn;
}

View File

@@ -0,0 +1,40 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/04/21 9:27
*/
@Data
public class ComAssessVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* data
*/
@ApiModelProperty("评估分值")
private Float data =3.14159f;
/**
* level
*/
@ApiModelProperty("评估等级")
private String level ="暂无数据";
/**
* monitors
*/
@ApiModelProperty("监测点数量")
private Integer monitors;
}

View File

@@ -0,0 +1,21 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @date 2022/2/28
*
*/
@Data
public class CommunicateStatisticsVO implements Serializable {
private static final long serialVersionUID = 1L;
private List<Float> onlineRateData;
private List<Float> integrityData;
}

View File

@@ -0,0 +1,19 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022/3/16
*/
@Data
public class EventDetailVO implements Serializable {
private String id;
private String time;
}

View File

@@ -0,0 +1,22 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 谐波频谱类
* @author denghuajun
* @version 1.0.0
* @date 2022/3/17
*/
@Data
public class HarmInHarmVO implements Serializable {
@ApiModelProperty("谐波电压含有率/谐波电流幅值")
private List<Float> harmInHarmValue;
@ApiModelProperty("谐波电压含有率限值/谐波电流幅值限值")
private List<Float> harmInOverLimit;
}

View File

@@ -0,0 +1,48 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2021/12/31 9:57
*/
@Data
public class HarmonicDeptVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("Id")
private String id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("在线监测点数")
private Integer onlineCount = 0;
/**
* 超限监测点数
*/
@ApiModelProperty("超标监测点数")
private Integer overLineCount = 0;
/**
* 占比
*/
@ApiModelProperty("超标占比")
private Double ratio = -1.0;
/**
* 平均超标天数
*/
@ApiModelProperty("平均超标天数")
private Double averageOverDay = -1.0;
}

View File

@@ -0,0 +1,52 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/24 9:10
*/
@Data
public class HarmonicLineVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("监测点id")
private String id;
@ApiModelProperty("监测点名称")
private String name;
@ApiModelProperty("监测点超标天数")
private Integer overDays;
@ApiModelProperty("3次")
private Integer overThreeTimes;
@ApiModelProperty("5次")
private Integer overFiveTimes;
@ApiModelProperty("7次")
private Integer overSevenTimes;
@ApiModelProperty("11次")
private Integer overElevenTimes;
@ApiModelProperty("13次")
private Integer overThirteenTimes;
@ApiModelProperty("23次")
private Integer overTwentyThreeTimes;
@ApiModelProperty("25次")
private Integer overTwentyFiveTimes;
@ApiModelProperty("其他次")
private Integer otherTimes;
}

View File

@@ -0,0 +1,23 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/24 9:10
*/
@Data
public class HarmonicSubstationVO extends HarmonicDeptVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("告警频次")
private Double warningFreq = -1.0;
}

View File

@@ -0,0 +1,57 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2021/12/31 9:57
*/
@Data
public class HarmonicVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("Id")
private String id;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* 超限监测点数
*/
@ApiModelProperty("超限监测点数")
private Integer count = 0;
/**
* 占比
*/
@ApiModelProperty("占比")
private Double ratio = 0.0;
/**
* 平均超标天数
*/
@ApiModelProperty("平均超标天数")
private Double averageOverDay = 0.0;
/**
* 告警频次
*/
@ApiModelProperty("告警频次")
private Integer warningFrequency = 0;
/**
* 监测点超标天数
*/
@ApiModelProperty("监测点超标天数")
private Integer lineOverDay = 0;
}

View File

@@ -0,0 +1,51 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
/**
* @author denghuajun
* @date 2022/3/11
*
*/
@Data
public class HistoryDataResultVO implements Serializable {
@ApiModelProperty("监测点名称")
private String lineName;
@ApiModelProperty("指标名称")
private String targetName;
@ApiModelProperty("相别")
private List<String> phaiscType;
@ApiModelProperty("单位")
private List<String> unit;
@ApiModelProperty("谐波次数")
private Integer harmNum;
@ApiModelProperty("数值")
private List<List<Object>> value;
@ApiModelProperty("最小值")
private Float minValue;
@ApiModelProperty("上限")
private Float topLimit;
@ApiModelProperty("下限")
private Float lowerLimit;
@ApiModelProperty("暂降事件详情")
private List<EventDetailVO> eventDetail;
}

View File

@@ -0,0 +1,64 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 异常数据统计类
*
* @author denghuajun
* @version 1.0.0
* @date 2022/3/17
*/
@Data
public class HistoryHarmOverLimitVO implements Serializable {
@ApiModelProperty("监测点id")
private String lineId;
@ApiModelProperty("变电站名称")
private String subName;
@ApiModelProperty("监测点名称")
private String lineName;
@ApiModelProperty("指标名称")
private String targetName;
@ApiModelProperty("指标类型")
private String targetCode;
@ApiModelProperty("统计方式")
private Integer statisticalType;
@ApiModelProperty("次数")
private Integer number;
@ApiModelProperty("相别")
private String phaseType;
@ApiModelProperty("电压等级")
private String scale;
@ApiModelProperty("时间")
private String time;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("最大值")
private Float maxValue;
@ApiModelProperty("最小值")
private Float minValue;
@ApiModelProperty("平均值")
private Float avgValue;
@ApiModelProperty("95概率值")
private Float cp95Value;
}

View File

@@ -0,0 +1,35 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2021/12/31 9:57
*/
@Data
public class IntegrityCensusVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* x轴 统计类型
*/
private List<String> type;
/**
* y轴 数据
*/
private List<Double> single;
/**
* y轴 同比环比数据
*/
private List<Double> ratio;
}

View File

@@ -0,0 +1,45 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2021/12/31 9:57
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class IntegrityIconVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* x轴 统计类型
*/
@ApiModelProperty("x轴 统计类型")
private List<String> type;
/**
* y轴 数据
*/
@ApiModelProperty("初始数据")
private List<Double> single;
/**
* y轴 同比环比数据
*/
@ApiModelProperty("同比环比数据")
private List<Double> ratio;
}

View File

@@ -0,0 +1,100 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Transient;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2021/12/31 9:57
*/
@Data
public class IntegrityVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* pid
*/
@ApiModelProperty("pid")
private String pid;
/**
* 父级id集合
*/
@ApiModelProperty("父级id集合")
private String pidS;
/**
* 电压等级
*/
@ApiModelProperty("电压等级")
private String voltageLevel;
/**
* 网络参数
*/
@ApiModelProperty("网络参数")
private String networkParam;
/**
* 厂家
*/
@ApiModelProperty("厂家")
private String factoryName;
/**
* 终端名称
*/
@ApiModelProperty("终端名称")
private String deviceName;
/**
* 状态
*/
@ApiModelProperty("状态")
private String state;
/**
* 最新数据时间
*/
@ApiModelProperty("最新数据时间")
private String time;
/**
* 完整性
*/
@ApiModelProperty("完整性")
private Double integrityData = 3.14159;
/**
* 排序
*/
@ApiModelProperty("排序")
private Integer sort;
/**
* 干扰源类型
*/
@ApiModelProperty("干扰源类型")
private String loadType;
/**
* 等级
*/
@ApiModelProperty("等级")
private Integer level;
/**
* 子集
*/
@ApiModelProperty("子集")
private List<IntegrityVO> children;
@Transient
private List<IntegrityVO> lineData;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/2/22 10:02
*/
@Data
public class LoadTypeVO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private String id;
@ApiModelProperty("名称")
private String name;
}

View File

@@ -0,0 +1,133 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/9 11:23
*/
@Data
public class MonitorOverLimitVO {
@ApiModelProperty("监测点id")
private String id;
@ApiModelProperty("省公司")
private String provinceCompany;
@ApiModelProperty("地市公司")
private String cityCompany;
@ApiModelProperty("监测点名称")
private String lineName;
@ApiModelProperty("干扰源类型")
private String loadType;
@ApiModelProperty("监测点对象名称")
private String lineObjectName;
@ApiModelProperty("监测点电压等级")
private String lineScale;
@ApiModelProperty("变电站名称")
private String subName;
@ApiModelProperty("变电站电压等级")
private String subScale;
@ApiModelProperty("超标天数")
private Integer overDay;
@ApiModelProperty("频率偏差超标天数")
private Integer freqOverDay;
@ApiModelProperty("电压偏差超标天数")
private Integer volDevOverDay;
@ApiModelProperty("谐波电压超标天数")
private Integer harmVolOverDay;
@ApiModelProperty("电压总谐波畸变率超标天数")
private Integer volDisOverDay;
@ApiModelProperty("谐波电压含有率超标天数")
private Integer volContainOverDay;
@ApiModelProperty("谐波电流超标天数")
private Integer harmCurOverDay;
/**
*各次谐波电压含有率
*/
@ApiModelProperty("3次")
private Integer overVolThreeTimes;
@ApiModelProperty("5次")
private Integer overVolFiveTimes;
@ApiModelProperty("7次")
private Integer overVolSevenTimes;
@ApiModelProperty("11次")
private Integer overVolElevenTimes;
@ApiModelProperty("13次")
private Integer overVolThirteenTimes;
@ApiModelProperty("23次")
private Integer overVolTwentyThreeTimes;
@ApiModelProperty("25次")
private Integer overVolTwentyFiveTimes;
@ApiModelProperty("其他次")
private Integer overVolOtherTimes;
/**
*各次谐波电流含量
*/
@ApiModelProperty("3次")
private Integer overCurThreeTimes;
@ApiModelProperty("5次")
private Integer overCurFiveTimes;
@ApiModelProperty("7次")
private Integer overCurSevenTimes;
@ApiModelProperty("11次")
private Integer overCurElevenTimes;
@ApiModelProperty("13次")
private Integer overCurThirteenTimes;
@ApiModelProperty("23次")
private Integer overCurTwentyThreeTimes;
@ApiModelProperty("25次")
private Integer overCurTwentyFiveTimes;
@ApiModelProperty("其他次")
private Integer overCurOtherTimes;
@ApiModelProperty("间谐波电压含有率超标天数")
private Integer intHarmOverDay;
@ApiModelProperty("三相电压不平衡度超标天数")
private Integer threeUnbalance;
@ApiModelProperty("负序电流超标天数")
private Integer negativeOverDay;
@ApiModelProperty("闪变超标天数")
private Integer flickerOverDay;
@ApiModelProperty("监测点编号")
private String monitorNumber;
}

View File

@@ -0,0 +1,33 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/01 14:31
* @Description: <描述>
*/
@Data
public class OnlineRateCensusVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* x轴 统计类型
*/
private List<String> type;
/**
* y轴 数据
*/
private List<Double> single;
/**
* y轴 同比环比数据
*/
private List<Double> ratio;
}

View File

@@ -0,0 +1,97 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2021/12/31 9:57
*/
@Data
public class OnlineRateVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* pid
*/
@ApiModelProperty("pid")
private String pid;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* 父级id集合
*/
@ApiModelProperty("父级id集合")
private String pidS;
/**
* 网络参数
*/
@ApiModelProperty("网络参数")
private String networkParam;
/**
* 厂家
*/
@ApiModelProperty("厂家")
private String factoryName;
/**
* 终端名称
*/
@ApiModelProperty("终端名称")
private String deviceName;
/**
* 状态
*/
@ApiModelProperty("状态")
private String state;
/**
* 最新数据时间
*/
@ApiModelProperty("最新数据时间")
private String time;
/**
* 在线率
*/
@ApiModelProperty("在线率")
private Double onlineRateData=3.14159;
/**
* 排序
*/
@ApiModelProperty("排序")
private Integer sort;
/**
* 等级
*/
@ApiModelProperty("等级")
private Integer level;
/**
* 子集
*/
@ApiModelProperty("子集")
private List<OnlineRateVO> children;
// public Double getOnlineRateData() {
// if (Objects.isNull(onlineRateData)){
// return 3.14159;
// }
// return onlineRateData;
// }
//
// public void setOnlineRateData(Double onlineRateData) {
// this.onlineRateData = onlineRateData;
// }
}

View File

@@ -0,0 +1,146 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/5 11:00
*/
@Data
public class OverAreaLimitVO {
/**
* 名称
*/
private String name;
/**
* 在线监测点个数
*/
private Integer onlineMonitorNumber = 0;
/**
* 超标监测点个数
*/
private Integer overLimitMonitorNumber = 0;
/**
* 超标监测点数占比
*/
private Double overBiLi = -1.0;
//频率偏差超标情况
/**
* 个数
*/
private Integer frequencyMonitorNumber = 0;
/**
* 占比
*/
private Double frequencyBiLi = -1.0;
/**
* 平均超标天数
*/
private Double frequencyOverDayBiLi = -1.0;
//电压偏差超标情况
/**
* 个数
*/
private Integer voltageMonitorNumber = 0;
/**
* 占比
*/
private Double voltageBiLi = -1.0;
/**
* 平均超标天数
*/
private Double voltageOverDayBiLi = -1.0;
//谐波电压超标情况
/**
* 个数
*/
private Integer harmonicVoltageMonitorNumber = 0;
/**
* 占比
*/
private Double harmonicVoltageBiLi = -1.0;
/**
* 平均超标天数
*/
private Double harmonicVoltageOverDayBiLi = -1.0;
//谐波电流超标情况
/**
* 个数
*/
private Integer harmonicCurrentMonitorNumber = 0;
/**
* 占比
*/
private Double harmonicCurrentBiLi = -1.0;
/**
* 平均超标天数
*/
private Double harmonicCurrentOverDayBiLi = -1.0;
//三相电压不平衡度超标情况
/**
* 个数
*/
private Integer threePhaseVoltageMonitorNumber = 0;
/**
* 占比
*/
private Double threePhaseVoltageBiLi = -1.0;
/**
* 平均超标天数
*/
private Double threePhaseVoltageOverDayBiLi = -1.0;
//闪变超标情况
/**
* 个数
*/
private Integer flickerMonitorNumber = 0;
/**
* 占比
*/
private Double flickerBiLi = -1.0;
/**
* 平均超标天数
*/
private Double flickerOverDayBiLi = -1.0;
//负序电流限值超标情况
/**
* 个数
*/
private Integer negativeMonitorNumber = 0;
/**
* 占比
*/
private Double negativeBiLi = -1.0;
/**
* 平均超标天数
*/
private Double negativeOverDayBiLi = -1.0;
//间谐波电压超标情况
/**
* 个数
*/
private Integer interHarmonicMonitorNumber = 0;
/**
* 占比
*/
private Double interHarmonicBiLi = -1.0;
/**
* 平均超标天数
*/
private Double interHarmonicOverDayBiLi = -1.0;
}

View File

@@ -0,0 +1,35 @@
package com.njcn.harmonic.pojo.vo;
import com.njcn.device.pojo.param.DeviceInfoParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/29 15:30
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OverAreaVO extends DeviceInfoParam.BusinessParam{
private Boolean statFlag;
@ApiModelProperty("页码")
@NotNull(message = "页码不可为空")
@Range(min = 1,message = "页码必须大于0")
private Integer pageNum;
@ApiModelProperty("条数")
@NotNull(message = "条数不可为空")
@Range(min = 1,message = "条数必须大于0")
private Integer pageSize;
}

View File

@@ -0,0 +1,35 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/2/21 18:10
*/
@Data
public class PollutionVO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private String id;
@ApiModelProperty("父级id")
private String pid;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("污染指标")
private Double data = -1.0;
@ApiModelProperty("子级")
private List<PollutionVO> children;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
import org.influxdb.dto.QueryResult;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @date 2022/3/15
* 存值
*/
@Data
public class QueryResultLimitVO implements Serializable {
private QueryResult queryResult;
private Float topLimit;
private Float lowerLimit;
private String lineName;
private String targetName;
private List<String> phaiscType;
private List<String> unit;
private Integer harmNum;
}

View File

@@ -0,0 +1,32 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/04/18 20:14
*/
@Data
public class SteadyExceedRateCensusVO {
private static final long serialVersionUID = 1L;
/**
* x轴 统计类型
*/
@ApiModelProperty("统计类型")
private List<String> type;
/**
* y轴 数据、时间
*/
@ApiModelProperty("稳态指标超标占比")
private List<List<Double>> steadyExceedRate;
@ApiModelProperty("统计时间")
private List<String> time;
}

View File

@@ -0,0 +1,73 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/04/12 15:23
*/@Data
public class SteadyExceedRateVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* pid
*/
@ApiModelProperty("pid")
private String pid;
/**
* 父级id集合
*/
@ApiModelProperty("父级id集合")
private String pidS;
/**
* 电压等级
*/
@ApiModelProperty("电压等级")
private String voltageLevel;
/**
* 网络参数
*/
@ApiModelProperty("网络参数")
private String networkParam;
/**
* 厂家
*/
@ApiModelProperty("厂家")
private String factoryName;
/**
* 监测点名称
*/
@ApiModelProperty("监测点名称")
private String lineName;
/**
* 稳态指标超标占比
*/
@ApiModelProperty("稳态指标超标占比")
private Double steadyExceedRate = 3.14159;
/**
* 数据时间
*/
@ApiModelProperty("数据时间")
private String time;
/**
* 子集
*/
@ApiModelProperty("子集")
private List<SteadyExceedRateVO> children;
}

View File

@@ -0,0 +1,23 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @Date: 2022/03/04 14:05
*/
@Data
public class SteadyInfoData implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("稳态指标合格率")
private List<Float> steadyInfoList;
@ApiModelProperty("稳态指标合格率(同比/环比)")
private List<Float> steadyInfoData;
}

View File

@@ -0,0 +1,43 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/04/11 17:25
*/
@Data
public class SteadyQualifyCensusVO {
private static final long serialVersionUID = 1L;
/**
* x轴 统计类型
*/
private List<String> type;
/**
* y轴 数据
*/
@ApiModelProperty("谐波电压")
private List<Double> harmonicVoltage;
@ApiModelProperty("电压偏差")
private List<Double> voltageOffset;
@ApiModelProperty("相电压不平衡度")
private List<Double> voltageUnbalance;
@ApiModelProperty("间谐波电压含有率")
private List<Double> interHarmonic;
@ApiModelProperty("谐波电流")
private List<Double> harmonicCurrent;
@ApiModelProperty("负序电流")
private List<Double> negativeCurrent;
@ApiModelProperty("频率偏差")
private List<Double> freqOffset;
@ApiModelProperty("闪变")
private List<Double> flicker;
}

View File

@@ -0,0 +1,107 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/30 20:04
* @Description: <描述>
*/
@Data
public class SteadyQualifyVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* pid
*/
@ApiModelProperty("pid")
private String pid;
/**
* 父级id集合
*/
@ApiModelProperty("父级id集合")
private String pidS;
/**
* 电压等级
*/
@ApiModelProperty("电压等级")
private String voltageLevel;
/**
* 网络参数
*/
@ApiModelProperty("网络参数")
private String networkParam;
/**
* 厂家
*/
@ApiModelProperty("厂家")
private String factoryName;
/**
* 监测点名称
*/
@ApiModelProperty("监测点名称")
private String lineName;
/**
* 谐波电压
*/
@ApiModelProperty("谐波电压")
private Double harmonicVoltage =3.14159;
/**
* 电压偏差
*/
@ApiModelProperty("电压偏差")
private Double voltageOffset =3.14159;
/**
* 相电压不平衡度
*/
@ApiModelProperty("相电压不平衡度")
private Double voltageUnbalance =3.14159;
/**
* 间谐波电压含有率
*/
@ApiModelProperty("间谐波电压含有率")
private Double interHarmonic =3.14159;
/**
* 谐波电流
*/
@ApiModelProperty("谐波电流")
private Double harmonicCurrent =3.14159;
/**
* 负序电流
*/
@ApiModelProperty("负序电流")
private Double negativeCurrent =3.14159;
/**
* 频率偏差
*/
@ApiModelProperty("频率偏差")
private Double freqOffset =3.14159;
/**
* 闪变
*/
@ApiModelProperty("闪变")
private Double flicker =3.14159;
/**
* 子集
*/
@ApiModelProperty("子集")
private List<SteadyQualifyVO> children;
}

View File

@@ -0,0 +1,27 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/28 16:30
* @Description: <描述>
*/
@Data
public class THDistortionCensusVO {
private static final long serialVersionUID = 1L;
/**
* x轴 统计类型
*/
private List<String> type;
/**
* y轴 数据
*/
private List<Double> single;
}

View File

@@ -0,0 +1,65 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/10 22:14
* @Description: <描述>
*/
@Data
public class THDistortionVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* pid
*/
@ApiModelProperty("pid")
private String pid;
/**
* 父级id集合
*/
@ApiModelProperty("父级id集合")
private String pidS;
/**
* 电压等级
*/
@ApiModelProperty("电压等级")
private String voltageLevel;
/**
* 网络参数
*/
@ApiModelProperty("网络参数")
private String networkParam;
/**
* 监测点名称
*/
@ApiModelProperty("监测点名称")
private String lineName;
/**
* 总畸变率
*/
@ApiModelProperty("总畸变率")
private Double distortion = 3.14159;
/**
* 子集
*/
@ApiModelProperty("子集")
private List<THDistortionVO> children;
}

View File

@@ -0,0 +1,34 @@
package com.njcn.harmonic.pojo.vo;
import lombok.Data;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/28 16:42
* @Description: <描述>
*/
@Data
public class TerminalCensusVO {
private static final long serialVersionUID = 1L;
/**
* x轴 统计类型
*/
private List<String> type;
/**
* y轴 数据
*/
private List<Double> single;
/**
* y轴 类型数量
*/
private List<Integer> runFlag;
private List<Integer> reaFlag;
private List<Integer> stopFlag;
}

View File

@@ -0,0 +1,85 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author: chenchao
* @date: 2022/03/02 10:20
* @Description: <描述>
*/
@Data
public class TerminalVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* pid
*/
@ApiModelProperty("pid")
private String pid;
/**
* 父级id集合
*/
@ApiModelProperty("父级id集合")
private String pidS;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* 终端个数
*/
@ApiModelProperty("终端个数")
private Integer number=0;
/**
* 终端状态
*/
@ApiModelProperty("终端状态temp")
private Integer flag;
/**
* 终端状态个数统计
*/
@ApiModelProperty("投运状态")
private Integer runFlag=0;
@ApiModelProperty("热备用状态")
private Integer reaFlag=0;
@ApiModelProperty("停运状态")
private Integer stopFlag=0;
/**
* 终端在线率
*/
@ApiModelProperty("终端在线率")
private Double onlineRateData = 3.14159;
/**
* 等级
*/
@ApiModelProperty("等级")
private Integer level;
/**
* 子集
*/
@ApiModelProperty("子集")
private List<TerminalVO> children;
// public Double getOnlineRateData() {
// if (Objects.isNull(onlineRateData)){
// return 3.14159;
// }
// return onlineRateData;
// }
// public void setOnlineRateData(Double onlineRateData) {
// this.onlineRateData = onlineRateData;
// }
}

View File

@@ -0,0 +1,81 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author: chenchao
* @date: 2022/03/29 11:54
* @Description: <描述>
*/
@Data
public class TransientVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 暂态发生时刻
*/
@ApiModelProperty("暂态发生时刻")
private String time;
/**
* 监测点名称
*/
@ApiModelProperty("监测点名称")
private String name;
/**
* 供电公司
*/
@ApiModelProperty("供电公司")
private String powerCompany;
/**
* 变电站
*/
@ApiModelProperty("变电站")
private String substation;
/**
* 网络参数
*/
@ApiModelProperty("网络参数")
private String networkParam;
/**
* 电压等级
*/
@ApiModelProperty("电压等级")
private String voltageLevel;
/**
* 触发类型
*/
@ApiModelProperty("触发类型")
private Integer trigType;
/**
* 暂态幅值
*/
@ApiModelProperty("暂态幅值")
private Double eventValue;
/**
* 暂态深度
*/
@ApiModelProperty("暂态深度")
private Double eventValues;
/**
* 暂态持续时间
*/
@ApiModelProperty("暂态持续时间")
private Float persistTime;
/**
* 暂态严重度
*/
@ApiModelProperty("暂态严重度")
private String yZD;
}

View File

@@ -0,0 +1,75 @@
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/6 15:52
*/
@Data
public class WarningSubstationVO {
@ApiModelProperty("变电站id")
private String id;
@ApiModelProperty("省公司")
private String provinceCompany;
@ApiModelProperty("地市公司")
private String cityCompany;
@ApiModelProperty("电站名称")
private String plantName;
@ApiModelProperty("电站电压等级")
private String plantVoltageLevel;
@ApiModelProperty("在线监测点数量(个)")
private Integer onlineMonitorCounts = 0;
@ApiModelProperty("告警监测点数量(个)")
private Integer alertMonitorCounts = 0;
@ApiModelProperty("告警次数")
private Integer alertCounts = 0;
@ApiModelProperty("告警频次(次/点)")
private Double alertAlarmFrequency = -1.0;
@ApiModelProperty("频率偏差")
private Double frequencyDeviation = -1.0;
@ApiModelProperty("电压偏差")
private Double voltageDeviation = -1.0;
@ApiModelProperty("谐波电压")
private Double harmonicVoltage = -1.0;
@ApiModelProperty("谐波电流")
private Double harmonicCurrent = -1.0;
@ApiModelProperty("三相电压不平衡")
private Double threePhaseVoltageUnbalance = -1.0;
@ApiModelProperty("闪变")
private Double flicker = -1.0;
@ApiModelProperty("间谐波电压")
private Double interHarmonic = -1.0;
@ApiModelProperty("负序电流")
private Double negative = -1.0;
@ApiModelProperty("短时中断")
private Double shortInterruption = -1.0;
@ApiModelProperty("电压暂降")
private Double voltageDip = -1.0;
@ApiModelProperty("电压暂升")
private Double voltageSwell = -1.0;
}

View File

@@ -0,0 +1,28 @@
package com.njcn.harmonic.utils;
import java.math.BigDecimal;
/**
* @author hongawen(创建) -----denghuajun移植使用
* @Date: 2018/8/27 11:29
*/
public class FloatUtils {
/**
* 保留传入进来的float的两位小数四舍五入的方式
*
* @param data Float参数
*/
public static float get2Float(Float data) {
if (data == null) {
return 0f;
}
int scale = 2;//设置位数
int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.
BigDecimal bd = new BigDecimal(data);
bd = bd.setScale(scale, roundingMode);
data = bd.floatValue();
return data;
}
}

View File

@@ -0,0 +1,299 @@
package com.njcn.harmonic.utils;
import com.njcn.harmonic.pojo.dto.ComAssessDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author yexb
* @version 1.0
* @Date 2018/8/23 16:02
*/
//因素集U={频率偏差、电网谐波、电压波动与闪变、电压偏差、电压暂降、三相不平衡}
//评判级分为5个等级Q = {很差,较差,合格,良好,优质}
/* 电压偏差 电网谐波 三相不平衡 频率偏差 电压波动 电压暂降
(偏差绝对值/%) (电压总谐波畸变率%) (不平衡度/%) (偏差绝对值/Hz) (短时闪变值) (暂降幅度%)
第1 级 10 6..0 4.0 0.3 0.8 90
第2 级 710 4.06.0 2..04.0 0.20.3 0.60.8 4090
第3 级 47 2.04.0 1.02.0 0.10.2 0.40.6 2040
第4 级 24 1.02.0 0.51.0 0.050.1 0.20.4 1020
第5 级 02 01.0 00.5 00.05 00.2 010
*/
@Component
public class HarmonicComAssesUtil {
// 日志记录
private static final Logger logger = LoggerFactory.getLogger(com.njcn.harmonic.utils.HarmonicComAssesUtil.class);
private static final int ST_QT_NUM = 6;//系统评价指标数目
private static final int GRADE_NUM = 5;//指标分级数目
private static final int METHOD_NUM = 5;//评估方法数
private static final int METHOD_IDX1 = 0;//层次分析法
private static final int METHOD_IDX2 = 1;//优序图法
private static final int METHOD_IDX3 = 2;//专家打分法
private static final int METHOD_IDX4 = 3;//熵权法
private static final int METHOD_IDX5 = 4;//变异系数法
private static final int IDX_FREQ = 0;//频率
private static final int IDX_UTHD = 1;//电压畸变率
private static final int IDX_FLICK = 2;//电压闪变
private static final int IDX_UDEV = 3;//电压偏差
private static final int IDX_EVT = 4;//电压暂降
private static final int IDX_UBPH = 5;//电压不平衡
private static final int MAX_DATA_TYPE = 5;//5种统计数据
private static final int MAX_DATA_NUM = 1440 * 31;//最大统计数据个数
private static final int MAX_EVT_NUM = 1000;//最大暂态事件个数
//3种主观赋权法直接摘录文档中计算好的最终评估权重
//层次分析法
private float W1[] = {0.38f, 0.22f, 0.13f, 0.12f, 0.08f, 0.07f};
//优序图法
private float W2[] = {0.28f, 0.24f, 0.19f, 0.14f, 0.10f, 0.05f};
//专家打分法
private float W3[] = {0.39f, 0.26f, 0.12f, 0.09f, 0.07f, 0.07f};
//数据评估矩阵
private float Assess[][];
//权重矩阵
private float Weight[][];
float A[];
// 综合评估程序,返回值为评估分
public float GetComAsses(float in_data[][]) {
float fResult = 0.0f;//返回最终评分
try{
//实例化所有参数
Assess = new float[ST_QT_NUM][GRADE_NUM];
Weight = new float[ST_QT_NUM][METHOD_NUM];
A = new float[ST_QT_NUM];
float B[] = new float[GRADE_NUM];
int i, j;
float sum1, sum2;
Assess = in_data;//给评估矩阵赋值,此值直接从相应的数据库中获取
//W1-W3为主观赋权直接从文档上摘录赋权
for (i = 0; i < ST_QT_NUM; i++) {
Weight[i][METHOD_IDX1] = W1[i];
Weight[i][METHOD_IDX2] = W2[i];
Weight[i][METHOD_IDX3] = W3[i];
}
//熵权法求W4
if (getSqf()) {
//变异系数法求W5
if (getBysxf()) {
//G和F得出综合权重A
if (getZhqzf()) {
//A[0] = 0.28;A[1] = 0.23;A[2] = 0.13;A[3] = 0.16;A[4] = 0.08;A[5] = 0.12;
for (i = 0; i < GRADE_NUM; i++) {
B[i] = 0;
for (j = 0; j < ST_QT_NUM; j++) {
B[i] += A[j] * Assess[j][i];
}
}
sum1 = 0;
sum2 = 0;
for (i = 0; i < GRADE_NUM; i++) {
sum1 += (i + 1) * B[i];
sum2 += B[i];
}
fResult = sum1 / sum2;
}
}
}
fResult = FloatUtils.get2Float(fResult);
}catch (Exception e){
//Todo
}
return fResult;
}
/**
* 大批量的监测点的综合得分获取平均值
* @param comAssessDTOS 批量数据
*/
public float getAllComAss(List<ComAssessDTO> comAssessDTOS) {
float allData=0f;
for(int i=0;i<comAssessDTOS.size();i++){
ComAssessDTO tempPqs = comAssessDTOS.get(i);
//组合二维数组
float f1[][]={{tempPqs.getFreqDev1(),tempPqs.getFreqDev2(),tempPqs.getFreqDev3(),tempPqs.getFreqDev4(),tempPqs.getFreqDev5()}
,{tempPqs.getVTHD1(),tempPqs.getVTHD2(),tempPqs.getVTHD3(),tempPqs.getVTHD4(),tempPqs.getVTHD5(),}
,{tempPqs.getDataPST1(),tempPqs.getDataPST2(),tempPqs.getDataPST3(),tempPqs.getDataPST4(),tempPqs.getDataPST5()}
,{tempPqs.getVuDev1(),tempPqs.getVuDev2(),tempPqs.getVuDev3(),tempPqs.getVuDev4(),tempPqs.getVuDev5(),}
,{tempPqs.getVUnbalance1(),tempPqs.getVUnbalance2(),tempPqs.getVUnbalance3(),tempPqs.getVUnbalance4(),tempPqs.getVUnbalance5(),}
,{tempPqs.getEvent1(),tempPqs.getEvent2(),tempPqs.getEvent3(),tempPqs.getEvent4(),tempPqs.getEvent5(),}};
//获取该值返回的数据
float temp=GetComAsses(f1);
allData+=temp;
}
float aveData=allData/comAssessDTOS.size();
return FloatUtils.get2Float(aveData);
}
//熵权法求权重
private boolean getSqf() {
boolean blSqfFlag = true;
try {
int i, j;
float k, m;
float sum[] = new float[ST_QT_NUM];
float e[] = new float[ST_QT_NUM];
float d[] = new float[ST_QT_NUM];
//计算第j个指标的熵值e(j)
m = GRADE_NUM;
//k = (1/1.6094379124341);
k = (float) (1 / ((Math.log(m)) / Math.log(2.7183)));
for (i = 0; i < ST_QT_NUM; i++) {
sum[i] = 0;
for (j = 0; j < GRADE_NUM; j++) {
if (Assess[i][j] != 0)
sum[i] += Assess[i][j] * (Math.log(Assess[i][j]) / Math.log(2.7183));
}
e[i] = -k * sum[i];
}
for (i = 0; i < ST_QT_NUM; i++)
d[i] = 1 - e[i];
sum[0] = 0;
for (i = 0; i < ST_QT_NUM; i++)
sum[0] += d[i];
for (i = 0; i < ST_QT_NUM; i++)
Weight[i][METHOD_IDX4] = d[i] / sum[0];
} catch (Exception e) {
logger.error(e.getMessage());
blSqfFlag = false;
}
return blSqfFlag;
}
//变异系数法求权重
private boolean getBysxf() {
boolean blBysxfFlag = true;
try {
float avg_f[] = new float[ST_QT_NUM];//平均值
float std_f[] = new float[ST_QT_NUM];//标准差
float byxs[] = new float[ST_QT_NUM];//变异系数
float sum;
int i, j;
for (i = 0; i < ST_QT_NUM; i++) {
avg_f[i] = 0;
std_f[i] = 0;
byxs[i] = 0;
}
//求平均值
for (i = 0; i < ST_QT_NUM; i++) {
sum = 0;
for (j = 0; j < GRADE_NUM; j++)
sum += Assess[i][j];
avg_f[i] = sum / GRADE_NUM;
}
//求标准差
for (i = 0; i < ST_QT_NUM; i++) {
sum = 0;
for (j = 0; j < GRADE_NUM; j++)
sum += Math.pow((Assess[i][j] - avg_f[i]), 2);
std_f[i] = (float) (Math.sqrt(sum / GRADE_NUM));
}
//求变异系数
for (i = 0; i < ST_QT_NUM; i++) {
if (avg_f[i] < 0)
avg_f[i] = 0 - avg_f[i];
byxs[i] = std_f[i] / avg_f[i];
}
sum = 0;
for (i = 0; i < ST_QT_NUM; i++)
sum += byxs[i];
for (i = 0; i < ST_QT_NUM; i++)
Weight[i][METHOD_IDX5] = byxs[i] / sum;
} catch (Exception e) {
logger.error(e.getMessage());
blBysxfFlag = false;
}
return blBysxfFlag;
}
//求综合权重,主观权重和客观权重占比相等各自50%
private boolean getZhqzf() {
float D[] = new float[ST_QT_NUM];
float e[] = new float[ST_QT_NUM];
float C[][] = new float[ST_QT_NUM][ST_QT_NUM];
float C1[][] = new float[ST_QT_NUM][ST_QT_NUM];
float tmp1[] = new float[ST_QT_NUM];
float tmp2[] = new float[ST_QT_NUM];
boolean blZhqzfFlag = true;
try {
int i, j, k;
float t1, t2;
//求C
for (i = 0; i < ST_QT_NUM; i++) {
tmp1[i] = 0;
for (j = 0; j < GRADE_NUM; j++)
tmp1[i] += 2 * METHOD_NUM * Math.pow(Assess[i][j], 2);
}
for (i = 0; i < ST_QT_NUM; i++) {
for (j = 0; j < ST_QT_NUM; j++) {
if (i == j)
C[i][j] = tmp1[i];
else
C[i][j] = 0;
}
}
//求C的逆矩阵C1,由于C是对角矩阵简化矩阵求逆
for (i = 0; i < ST_QT_NUM; i++) {
for (j = 0; j < ST_QT_NUM; j++) {
if (i == j)
C1[i][j] = (float) 1.0 / C[i][j];
else
C1[i][j] = 0;
}
}
//求D
for (i = 0; i < ST_QT_NUM; i++) {
tmp1[i] = 0;
for (k = 0; k < METHOD_NUM; k++)
tmp1[i] += Weight[i][k];
tmp2[i] = 0;
for (j = 0; j < GRADE_NUM; j++) {
tmp2[i] += tmp1[i] * Math.pow(Assess[i][j], 2);
}
D[i] = 2 * tmp2[i];
}
//e赋值
for (i = 0; i < ST_QT_NUM; i++)
e[i] = 1;
//计算eT*C1
for (i = 0; i < ST_QT_NUM; i++) {
tmp1[i] = 0;
for (j = 0; j < ST_QT_NUM; j++)
tmp1[i] += e[i] * C1[j][i];
}
t1 = 0;
for (i = 0; i < ST_QT_NUM; i++)
t1 += tmp1[i] * e[i];
t2 = 0;
for (i = 0; i < ST_QT_NUM; i++)
t2 += tmp1[i] * D[i];
for (i = 0; i < ST_QT_NUM; i++)
e[i] = e[i] * ((1 - t2) / t1);
for (i = 0; i < ST_QT_NUM; i++)
D[i] = D[i] + e[i];
//求A
for (i = 0; i < ST_QT_NUM; i++) {
A[i] = 0;
for (j = 0; j < ST_QT_NUM; j++)
A[i] += C1[i][j] * D[j];
}
} catch (Exception ex) {
logger.error(ex.getMessage());
blZhqzfFlag = false;
}
return blZhqzfFlag;
}
}

View File

@@ -0,0 +1,38 @@
package com.njcn.harmonic.utils;
import cn.hutool.core.util.StrUtil;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.EnumUtils;
import com.njcn.harmonic.enums.HarmonicResponseEnum;
import javax.validation.constraints.NotNull;
import java.util.Objects;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月20日 10:03
*/
public class HarmonicEnumUtil {
/**
* 获取HarmonicResponseEnum实例
*/
public static HarmonicResponseEnum getHarmonicEnumResponseEnumByMessage(@NotNull Object value) {
HarmonicResponseEnum harmonicResponseEnum;
try {
String message = value.toString();
if(message.indexOf(StrUtil.C_COMMA)>0){
value = message.substring(message.indexOf(StrUtil.C_COMMA)+1);
}
harmonicResponseEnum = EnumUtils.valueOf(HarmonicResponseEnum.class, value, HarmonicResponseEnum.class.getMethod(BusinessException.GET_MESSAGE_METHOD));
return Objects.isNull(harmonicResponseEnum) ? HarmonicResponseEnum.HARMONIC_COMMON_ERROR : harmonicResponseEnum;
} catch (NoSuchMethodException e) {
throw new BusinessException(CommonResponseEnum.INTERNAL_ERROR);
}
}
}