代码提交

This commit is contained in:
huangzj
2023-05-25 09:57:21 +08:00
parent da7b7ee8eb
commit 623750abaa
65 changed files with 4326 additions and 24 deletions

View File

@@ -0,0 +1,18 @@
package com.njcn.algorithm.constant;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 常量类
* @author qijian
* @version 1.0.0
* @date 2022年11月11日 09:56
*/
public interface DataParam {
List<String> phases = Stream.of("A","B","C","T").collect(Collectors.toList());
List<String> statMethods = Stream.of("avg","max","min","cp95").collect(Collectors.toList());
}

View File

@@ -18,6 +18,8 @@ public enum AlgorithmResponseEnum {
DICT_DATA_ERROR("A00501","暂无此字典表类型"),
NDID_ERROR("A00502","存在相同的ndid"),
DATA_ERROR("A00503","存在相同的数据"),
LINE_DATA_ERROR ("A00504","设备下监测点数据缺失"),
;

View File

@@ -29,6 +29,9 @@ public class AppProjectQueryParm {
@ApiModelProperty(value="项目Id")
private String projectId;
@ApiModelProperty(value="工程id")
private String engineeringId;
@ApiModelProperty(value="起始时间")
// @NotNull(message="起始时间不能为空!")
private String startTime;

View File

@@ -0,0 +1,75 @@
package com.njcn.algorithm.pojo.param;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.Date;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsEquipmentAlarmAddParm {
/**
* 项目Id
*/
@ApiModelProperty(value = "项目Id")
@NotBlank(message="项目Id不能为空")
private String projectId;
/**
* 设备id
*/
@ApiModelProperty(value = "设备id")
@NotBlank(message="设备id不能为空")
private String equipmentId;
/**
* 告警信息
*/
@ApiModelProperty(value = "告警信息")
private String alarmMsg;
/**
* 告警级别(字典表)
*/
@ApiModelProperty(value = "告警级别")
@NotBlank(message="告警级别不能为空!")
private String alarmLevel;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@NotNull(message="开始时间不能为空!")
private LocalDateTime startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@NotNull(message="结束时间不能为空!")
private LocalDateTime endTime;
}

View File

@@ -0,0 +1,67 @@
package com.njcn.algorithm.pojo.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsEquipmentAlarmPageParm {
@NotNull(message="当前页不能为空!")
@Min(value = 1, message = "当前页不能为0")
@ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true)
private Integer currentPage;
/**显示条数*/
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
/**
* 项目Id
*/
@ApiModelProperty(value = "项目Id")
private String projectId;
/**
* 设备id
*/
@ApiModelProperty(value = "设备id")
private String equipmentId;
/**
* 告警级别(字典表)
*/
@ApiModelProperty(value = "告警级别")
private String alarmLevel;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime endTime;
}

View File

@@ -0,0 +1,48 @@
package com.njcn.algorithm.pojo.param;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* Description:
* Date: 2023/5/17 15:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsEquipmentTransferAddParm {
@ApiModelProperty(value = "项目Id")
private String projectId;
@ApiModelProperty(value = "移交/恢复设备id集用分割")
private String equipmentIds;
@ApiModelProperty(value = "发起人")
private String promoter;
@ApiModelProperty(value = "移交人")
private String transferor;
/**
* 事件类型(权限转移,数据恢复)
*/
@ApiModelProperty(value = "事件类型")
private String eventType;
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,54 @@
package com.njcn.algorithm.pojo.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsEventDetailPageParm {
@NotNull(message="当前页不能为空!")
@Min(value = 1, message = "当前页不能为0")
@ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true)
private Integer currentPage;
/**显示条数*/
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
/**
* 项目Id
*/
@ApiModelProperty(value = "项目Id")
private String projectId;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime endTime;
}

View File

@@ -0,0 +1,54 @@
package com.njcn.algorithm.pojo.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsStatLimitRatePageParm {
@NotNull(message="当前页不能为空!")
@Min(value = 1, message = "当前页不能为0")
@ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true)
private Integer currentPage;
/**显示条数*/
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
/**
* 项目Id
*/
@ApiModelProperty(value = "项目Id")
private String projectId;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime endTime;
}

View File

@@ -0,0 +1,47 @@
package com.njcn.algorithm.pojo.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class ThdDataQueryParm {
private String devId;
private String statisticalName;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@NotNull(message="开始时间不能为空!")
private String startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@NotNull(message="结束时间不能为空!")
private String endTime;
}

View File

@@ -32,7 +32,7 @@ public class AppLineTopologyDiagramPO extends BaseEntity {
/**
* 监测点ID
*/
@MppMultiId(value = "line_id")
@TableField(value = "line_id")
private String lineId;
/**

View File

@@ -0,0 +1,99 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Data;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "cs_equipment_alarm")
public class CsEquipmentAlarmPO extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value = "id")
private String id;
/**
* 项目Id
*/
@TableField(value = "project_id")
private String projectId;
/**
* 设备id
*/
@TableField(value = "equipment_id")
private String equipmentId;
/**
* 告警信息
*/
@TableField(value = "alarm_msg")
private String alarmMsg;
/**
* 告警级别(字典表)
*/
@TableField(value = "alarm_level")
private String alarmLevel;
/**
* 开始时间
*/
@TableField(value = "start_time")
private LocalDateTime startTime;
/**
* 结束时间
*/
@TableField(value = "end_time")
private LocalDateTime endTime;
/**
* 状态(0删除 1正常)
*/
@TableField(value = "`status`")
private String status;
public static final String COL_ID = "id";
public static final String COL_PROJECT_ID = "project_id";
public static final String COL_EQUIPMENT_ID = "equipment_id";
public static final String COL_ALARM_MSG = "alarm_msg";
public static final String COL_ALARM_LEVEL = "alarm_level";
public static final String COL_START_TIME = "start_time";
public static final String COL_END_TIME = "end_time";
public static final String COL_STATUS = "status";
public static final String COL_CREATE_BY = "create_by";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_UPDATE_BY = "update_by";
public static final String COL_UPDATE_TIME = "update_time";
}

View File

@@ -0,0 +1,116 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
*
* Description:
* Date: 2023/5/17 15:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "cs_equipment_transfer")
public class CsEquipmentTransferPO {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 项目Id
*/
@TableField(value = "project_id")
private String projectId;
/**
* 移交/恢复设备id集用分割
*/
@TableField(value = "equipment_ids")
private String equipmentIds;
/**
* 发起人
*/
@TableField(value = "promoter")
private String promoter;
/**
* transferor
*/
@TableField(value = "transferor")
private String transferor;
/**
* 事件类型(权限转移,数据恢复)
*/
@TableField(value = "event_type")
private String eventType;
/**
* 备注
*/
@TableField(value = "remark")
private String remark;
/**
* 状态(0:删除 1:未注册 2:注册 3:接入)
*/
@TableField(value = "`status`")
private Integer status;
/**
* 创建用户
*/
@TableField(value = "create_by")
private String createBy;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 更新用户
*/
@TableField(value = "update_by")
private String updateBy;
/**
* 更新时间
*/
@TableField(value = "update_time")
private Date updateTime;
public static final String COL_ID = "id";
public static final String COL_PROJECT_ID = "project_id";
public static final String COL_EQUIPMENT_IDS = "equipment_ids";
public static final String COL_PROMOTER = "promoter";
public static final String COL_TRANSFEROR = "transferor";
public static final String COL_EVENT_TYPE = "event_type";
public static final String COL_REMARK = "remark";
public static final String COL_STATUS = "status";
public static final String COL_CREATE_BY = "create_by";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_UPDATE_BY = "update_by";
public static final String COL_UPDATE_TIME = "update_time";
}

View File

@@ -0,0 +1,214 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
* Description:
* Date: 2023/5/17 10:51【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "cs_event_detail")
public class CsEventDetailPO {
/**
* 暂时事件ID
*/
@TableId(value = "event_id", type = IdType.ASSIGN_UUID)
private String eventId;
/**
* 监测点ID
*/
@TableField(value = "measurement_point_id")
private String measurementPointId;
/**
* 统计指标类型
*/
@TableField(value = "event_type")
private String eventType;
/**
* 暂降原因字典表PQS_Dicdata
*/
@TableField(value = "advance_reason")
private String advanceReason;
/**
* 暂降类型字典表PQS_Dicdata
*/
@TableField(value = "advance_type")
private String advanceType;
/**
* 事件关联分析表Guid
*/
@TableField(value = "eventass_index")
private String eventassIndex;
@TableField(value = "dq_time")
private Double dqTime;
/**
* 特征值计算更新时间外键PQS_Relevance的Time字段
*/
@TableField(value = "deal_time")
private Date dealTime;
/**
* 默认事件个数为0
*/
@TableField(value = "num")
private Integer num;
/**
* 波形文件是否从装置招到本地(0未招1已招)默认值为0
*/
@TableField(value = "file_flag")
private Boolean fileFlag;
/**
* 特征值计算标志0未处理1已处理; 2已处理无结果;3计算失败默认值为0
*/
@TableField(value = "deal_flag")
private Boolean dealFlag;
/**
* 处理结果第一条事件发生时间(读comtra文件获取)
*/
@TableField(value = "first_time")
private Date firstTime;
/**
* 处理结果第一条事件暂降类型字典表PQS_Dicdata
*/
@TableField(value = "first_type")
private String firstType;
/**
* 处理结果第一条事件发生时间毫秒(读comtra文件获取)
*/
@TableField(value = "first_ms")
private BigDecimal firstMs;
/**
* 暂降能量
*/
@TableField(value = "energy")
private Double energy;
/**
* 暂降严重度
*/
@TableField(value = "severity")
private Double severity;
/**
* 暂降源与监测位置关系 Upper:上游Lower :下游Unknown :未知;为空则是未计算
*/
@TableField(value = "sagsource")
private String sagsource;
/**
* 开始时间
*/
@TableField(value = "start_time")
private Date startTime;
/**
* 持续时间,单位秒
*/
@TableField(value = "duration")
private BigDecimal duration;
/**
* 特征幅值
*/
@TableField(value = "feature_amplitude")
private BigDecimal featureAmplitude;
/**
* 相别
*/
@TableField(value = "phase")
private String phase;
/**
* 事件描述
*/
@TableField(value = "event_describe")
private String eventDescribe;
/**
* 波形路径
*/
@TableField(value = "wave_path")
private String wavePath;
/**
* 暂态事件上送时间
*/
@TableField(value = "create_time")
private Date createTime;
@TableField(value = "transient_value")
private Double transientValue;
public static final String COL_EVENT_ID = "event_id";
public static final String COL_MEASUREMENT_POINT_ID = "measurement_point_id";
public static final String COL_EVENT_TYPE = "event_type";
public static final String COL_ADVANCE_REASON = "advance_reason";
public static final String COL_ADVANCE_TYPE = "advance_type";
public static final String COL_EVENTASS_INDEX = "eventass_index";
public static final String COL_DQ_TIME = "dq_time";
public static final String COL_DEAL_TIME = "deal_time";
public static final String COL_NUM = "num";
public static final String COL_FILE_FLAG = "file_flag";
public static final String COL_DEAL_FLAG = "deal_flag";
public static final String COL_FIRST_TIME = "first_time";
public static final String COL_FIRST_TYPE = "first_type";
public static final String COL_FIRST_MS = "first_ms";
public static final String COL_ENERGY = "energy";
public static final String COL_SEVERITY = "severity";
public static final String COL_SAGSOURCE = "sagsource";
public static final String COL_START_TIME = "start_time";
public static final String COL_DURATION = "duration";
public static final String COL_FEATURE_AMPLITUDE = "feature_amplitude";
public static final String COL_PHASE = "phase";
public static final String COL_EVENT_DESCRIBE = "event_describe";
public static final String COL_WAVE_PATH = "wave_path";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_TRANSIENT_VALUE = "transient_value";
}

View File

@@ -0,0 +1,73 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
/**
*
* Description:
* Date: 2023/5/18 14:01【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "cs_line")
public class CsLinePO extends BaseEntity {
/**
* 监测点id
*/
@TableId(value = "line_id", type = IdType.ASSIGN_UUID)
private String lineId;
/**
* 装置id
*/
@TableField(value = "dev_id")
private String devId;
/**
* 监测点名称
*/
@TableField(value = "`name`")
private String name;
/**
* 字典表:安装位置(负载侧,电网侧, 输出侧)
*/
@TableField(value = "`position`")
private String position;
/**
* 电压等级
*/
@TableField(value = "vol_grade")
private String volGrade;
/**
* PT变比
*/
@TableField(value = "pt_ratio")
private BigDecimal ptRatio;
/**
* CT变比
*/
@TableField(value = "ct_ratio")
private BigDecimal ctRatio;
/**
* 状态(0删除 1正常)
*/
@TableField(value = "`status`")
private Integer status;
}

View File

@@ -0,0 +1,245 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
*
* Description:
* Date: 2023/5/17 13:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "cs_stat_limit_rate_d")
public class CsStatLimitRateDPO {
@TableField(value = "time_id")
private Date timeId;
@TableField(value = "my_index")
private String myIndex;
@TableField(value = "phasic_type")
private String phasicType;
@TableField(value = "all_time")
private Integer allTime;
@TableField(value = "flicker_all_time")
private Integer flickerAllTime;
@TableField(value = "freq_dev_overtime")
private Integer freqDevOvertime;
@TableField(value = "voltage_dev_overtime")
private Integer voltageDevOvertime;
@TableField(value = "ubalance_overtime")
private Integer ubalanceOvertime;
@TableField(value = "flicker_overtime")
private Integer flickerOvertime;
@TableField(value = "uaberrance_overtime")
private Integer uaberranceOvertime;
@TableField(value = "uharm_2_overtime")
private Integer uharm2Overtime;
@TableField(value = "uharm_3_overtime")
private Integer uharm3Overtime;
@TableField(value = "uharm_4_overtime")
private Integer uharm4Overtime;
@TableField(value = "uharm_5_overtime")
private Integer uharm5Overtime;
@TableField(value = "uharm_6_overtime")
private Integer uharm6Overtime;
@TableField(value = "uharm_7_overtime")
private Integer uharm7Overtime;
@TableField(value = "uharm_8_overtime")
private Integer uharm8Overtime;
@TableField(value = "uharm_9_overtime")
private Integer uharm9Overtime;
@TableField(value = "uharm_10_overtime")
private Integer uharm10Overtime;
@TableField(value = "uharm_11_overtime")
private Integer uharm11Overtime;
@TableField(value = "uharm_12_overtime")
private Integer uharm12Overtime;
@TableField(value = "uharm_13_overtime")
private Integer uharm13Overtime;
@TableField(value = "uharm_14_overtime")
private Integer uharm14Overtime;
@TableField(value = "uharm_15_overtime")
private Integer uharm15Overtime;
@TableField(value = "uharm_16_overtime")
private Integer uharm16Overtime;
@TableField(value = "uharm_17_overtime")
private Integer uharm17Overtime;
@TableField(value = "uharm_18_overtime")
private Integer uharm18Overtime;
@TableField(value = "uharm_19_overtime")
private Integer uharm19Overtime;
@TableField(value = "uharm_20_overtime")
private Integer uharm20Overtime;
@TableField(value = "uharm_21_overtime")
private Integer uharm21Overtime;
@TableField(value = "uharm_22_overtime")
private Integer uharm22Overtime;
@TableField(value = "uharm_23_overtime")
private Integer uharm23Overtime;
@TableField(value = "uharm_24_overtime")
private Integer uharm24Overtime;
@TableField(value = "uharm_25_overtime")
private Integer uharm25Overtime;
@TableField(value = "iharm_2_overtime")
private Integer iharm2Overtime;
@TableField(value = "iharm_3_overtime")
private Integer iharm3Overtime;
@TableField(value = "iharm_4_overtime")
private Integer iharm4Overtime;
@TableField(value = "iharm_5_overtime")
private Integer iharm5Overtime;
@TableField(value = "iharm_6_overtime")
private Integer iharm6Overtime;
@TableField(value = "iharm_7_overtime")
private Integer iharm7Overtime;
@TableField(value = "iharm_8_overtime")
private Integer iharm8Overtime;
@TableField(value = "iharm_9_overtime")
private Integer iharm9Overtime;
@TableField(value = "iharm_10_overtime")
private Integer iharm10Overtime;
@TableField(value = "iharm_11_overtime")
private Integer iharm11Overtime;
@TableField(value = "iharm_12_overtime")
private Integer iharm12Overtime;
@TableField(value = "iharm_13_overtime")
private Integer iharm13Overtime;
@TableField(value = "iharm_14_overtime")
private Integer iharm14Overtime;
@TableField(value = "iharm_15_overtime")
private Integer iharm15Overtime;
@TableField(value = "iharm_16_overtime")
private Integer iharm16Overtime;
@TableField(value = "iharm_17_overtime")
private Integer iharm17Overtime;
@TableField(value = "iharm_18_overtime")
private Integer iharm18Overtime;
@TableField(value = "iharm_19_overtime")
private Integer iharm19Overtime;
@TableField(value = "iharm_20_overtime")
private Integer iharm20Overtime;
@TableField(value = "iharm_21_overtime")
private Integer iharm21Overtime;
@TableField(value = "iharm_22_overtime")
private Integer iharm22Overtime;
@TableField(value = "iharm_23_overtime")
private Integer iharm23Overtime;
@TableField(value = "iharm_24_overtime")
private Integer iharm24Overtime;
@TableField(value = "iharm_25_overtime")
private Integer iharm25Overtime;
@TableField(value = "inuharm_1_overtime")
private Integer inuharm1Overtime;
@TableField(value = "inuharm_2_overtime")
private Integer inuharm2Overtime;
@TableField(value = "inuharm_3_overtime")
private Integer inuharm3Overtime;
@TableField(value = "inuharm_4_overtime")
private Integer inuharm4Overtime;
@TableField(value = "inuharm_5_overtime")
private Integer inuharm5Overtime;
@TableField(value = "inuharm_6_overtime")
private Integer inuharm6Overtime;
@TableField(value = "inuharm_7_overtime")
private Integer inuharm7Overtime;
@TableField(value = "inuharm_8_overtime")
private Integer inuharm8Overtime;
@TableField(value = "inuharm_9_overtime")
private Integer inuharm9Overtime;
@TableField(value = "inuharm_10_overtime")
private Integer inuharm10Overtime;
@TableField(value = "inuharm_11_overtime")
private Integer inuharm11Overtime;
@TableField(value = "inuharm_12_overtime")
private Integer inuharm12Overtime;
@TableField(value = "inuharm_13_overtime")
private Integer inuharm13Overtime;
@TableField(value = "inuharm_14_overtime")
private Integer inuharm14Overtime;
@TableField(value = "inuharm_15_overtime")
private Integer inuharm15Overtime;
@TableField(value = "inuharm_16_overtime")
private Integer inuharm16Overtime;
@TableField(value = "i_neg_overtime")
private Integer iNegOvertime;
}

View File

@@ -0,0 +1,82 @@
package com.njcn.algorithm.pojo.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Date;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "cs_equipment_alarm")
public class CsEquipmentAlarmVO extends BaseEntity {
/**
* id
*/
private String id;
/**
* 项目Id
*/
private String projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 设备id
*/
private String equipmentId;
/**
* 设备名称
*/
private String equipmentName;
/**
* 告警信息
*/
private String alarmMsg;
/**
* 告警级别(字典表)
*/
private String alarmLevel;
/**
* 告警级别名称
*/
private String alarmLevelName;
/**
* 开始时间
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime startTime;
/**
* 结束时间
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime endTime;
}

View File

@@ -0,0 +1,68 @@
package com.njcn.algorithm.pojo.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import java.util.Date;
/**
*
* Description:
* Date: 2023/5/17 15:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsEquipmentTransferVO extends BaseEntity {
/**
* id
*/
private String id;
/**
* 项目Id
*/
private String projectId;
private String projectName;
/**
* 移交/恢复设备id集用分割
*/
private String equipmentIds;
private String equipmentNames;
/**
* 发起人
*/
private String promoter;
/**
* transferor
*/
private String transferor;
/**
* 事件类型(权限转移,数据恢复)
*/
private String eventType;
/**
* 备注
*/
private String remark;
/**
* 状态(0:删除 1:未注册 2:注册 3:接入)
*/
private Boolean status;
}

View File

@@ -0,0 +1,152 @@
package com.njcn.algorithm.pojo.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* Description:
* Date: 2023/5/17 10:51【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsEventDetailVO {
private String projectId;
private String projectName;
private String subId;
private String subName;
/**
* 暂时事件ID
*/
private String eventId;
/**
* 监测点ID
*/
private String measurementPointId;
private String lineName;
/**
* 统计指标类型
*/
private String eventType;
/**
* 暂降原因字典表PQS_Dicdata
*/
private String advanceReason;
/**
* 暂降类型字典表PQS_Dicdata
*/
private String advanceType;
/**
* 事件关联分析表Guid
*/
private String eventassIndex;
private Double dqTime;
/**
* 特征值计算更新时间外键PQS_Relevance的Time字段
*/
private Date dealTime;
/**
* 默认事件个数为0
*/
private Integer num;
/**
* 波形文件是否从装置招到本地(0未招1已招)默认值为0
*/
private String fileFlag;
/**
* 特征值计算标志0未处理1已处理; 2已处理无结果;3计算失败默认值为0
*/
private String dealFlag;
/**
* 处理结果第一条事件发生时间(读comtra文件获取)
*/
private Date firstTime;
/**
* 处理结果第一条事件暂降类型字典表PQS_Dicdata
*/
private String firstType;
/**
* 处理结果第一条事件发生时间毫秒(读comtra文件获取)
*/
private BigDecimal firstMs;
/**
* 暂降能量
*/
private Double energy;
/**
* 暂降严重度
*/
private Double severity;
/**
* 暂降源与监测位置关系 Upper:上游Lower :下游Unknown :未知;为空则是未计算
*/
private String sagsource;
/**
* 开始时间
*/
private Date startTime;
/**
* 持续时间,单位秒
*/
private BigDecimal duration;
/**
* 特征幅值
*/
private BigDecimal featureAmplitude;
/**
* 相别
*/
private String phase;
/**
* 事件描述
*/
private String eventDescribe;
/**
* 波形路径
*/
private String wavePath;
/**
* 暂态事件上送时间
*/
private Date createTime;
private Double transientValue;
}

View File

@@ -0,0 +1,179 @@
package com.njcn.algorithm.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
*
* Description:
* Date: 2023/5/17 13:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsStatLimitRateDVO {
private String projectId;
private String projectName;
private String subId;
private String subName;
private Date timeId;
private String myIndex;
private String lineName;
private String phasicType;
private Integer allTime;
private Integer flickerAllTime;
private Integer freqDevOvertime;
private Integer voltageDevOvertime;
private Integer ubalanceOvertime;
private Integer flickerOvertime;
private Integer uaberranceOvertime;
private Integer uharm2Overtime;
private Integer uharm3Overtime;
private Integer uharm4Overtime;
private Integer uharm5Overtime;
private Integer uharm6Overtime;
private Integer uharm7Overtime;
private Integer uharm8Overtime;
private Integer uharm9Overtime;
private Integer uharm10Overtime;
private Integer uharm11Overtime;
private Integer uharm12Overtime;
private Integer uharm13Overtime;
private Integer uharm14Overtime;
private Integer uharm15Overtime;
private Integer uharm16Overtime;
private Integer uharm17Overtime;
private Integer uharm18Overtime;
private Integer uharm19Overtime;
private Integer uharm20Overtime;
private Integer uharm21Overtime;
private Integer uharm22Overtime;
private Integer uharm23Overtime;
private Integer uharm24Overtime;
private Integer uharm25Overtime;
private Integer iharm2Overtime;
private Integer iharm3Overtime;
private Integer iharm4Overtime;
private Integer iharm5Overtime;
private Integer iharm6Overtime;
private Integer iharm7Overtime;
private Integer iharm8Overtime;
private Integer iharm9Overtime;
private Integer iharm10Overtime;
private Integer iharm11Overtime;
private Integer iharm12Overtime;
private Integer iharm13Overtime;
private Integer iharm14Overtime;
private Integer iharm15Overtime;
private Integer iharm16Overtime;
private Integer iharm17Overtime;
private Integer iharm18Overtime;
private Integer iharm19Overtime;
private Integer iharm20Overtime;
private Integer iharm21Overtime;
private Integer iharm22Overtime;
private Integer iharm23Overtime;
private Integer iharm24Overtime;
private Integer iharm25Overtime;
private Integer inuharm1Overtime;
private Integer inuharm2Overtime;
private Integer inuharm3Overtime;
private Integer inuharm4Overtime;
private Integer inuharm5Overtime;
private Integer inuharm6Overtime;
private Integer inuharm7Overtime;
private Integer inuharm8Overtime;
private Integer inuharm9Overtime;
private Integer inuharm10Overtime;
private Integer inuharm11Overtime;
private Integer inuharm12Overtime;
private Integer inuharm13Overtime;
private Integer inuharm14Overtime;
private Integer inuharm15Overtime;
private Integer inuharm16Overtime;
private Integer iNegOvertime;
}

View File

@@ -0,0 +1,34 @@
package com.njcn.algorithm.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2023/5/18 9:14【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class ThdDataVO {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime time;
private String LineId;
private String position;
private String Phase;
private String StatMethod;
private String statisticalIndex;
private String statisticalName;
private Double statisticalData;
}

View File

@@ -0,0 +1,133 @@
package com.njcn.algorithm.utils;
import com.njcn.algorithm.pojo.vo.ThdDataVO;
import org.apache.commons.lang3.StringUtils;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
public class ReflectUtils {
/**
* 通过字段名从对象或对象的父类中得到字段的值
* @param object 对象实例
* @param fieldName 字段名
* @return 字段对应的值
* @throws Exception
*/
public static Object getValue(Object object, String fieldName) {
if (object == null) {
return null;
}
if (StringUtils.isBlank(fieldName)) {
return null;
}
Field field = null;
Class<?> clazz = object.getClass();
for (; clazz != Object.class; clazz = clazz.getSuperclass()) {
try {
field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
return field.get(object);
} catch (Exception e) {
//这里甚么都不要做!并且这里的异常必须这样写,不能抛出去。
//如果这里的异常打印或者往外抛则就不会执行clazz = clazz.getSuperclass(),最后就不会进入到父类中了
}
}
return null;
}
/**
* 通过字段名从对象或对象的父类中得到字段的值调用字典的get方法
* @param object 对象实例
* @param fieldName 字段名
* @return 字段对应的值
* @throws Exception
*/
public static Object getValueOfGet(Object object, String fieldName) throws Exception {
if (object == null) {
return null;
}
if (StringUtils.isBlank(fieldName)) {
return null;
}
Field field = null;
Class<?> clazz = object.getClass();
for (; clazz != Object.class; clazz = clazz.getSuperclass()) {
try {
field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
PropertyDescriptor pd = new PropertyDescriptor(field.getName(), clazz);
//获得get方法
Method getMethod = pd.getReadMethod();
//执行get方法返回一个Object
return getMethod.invoke(object);
} catch (Exception e) {
//这里甚么都不要做!并且这里的异常必须这样写,不能抛出去。
//如果这里的异常打印或者往外抛则就不会执行clazz = clazz.getSuperclass(),最后就不会进入到父类中了
}
}
return null;
}
/**
* 通过字段名从对象或对象的父类中得到字段的值调用字典的get方法可以取出复杂的对象的值
* @param object 对象实例
* @param fieldName 字段名
* @return 字段对应的值
* @throws Exception
*/
public static Object getValueOfGetIncludeObjectFeild(Object object, String fieldName)
throws Exception {
if (object == null) {
return null;
}
if (StringUtils.isBlank(fieldName)) {
return null;
}
if(HashMap.class.equals(object.getClass())){
return ((Map)object).get(fieldName);
}
Field field = null;
Class<?> clazz = object.getClass();
for (; clazz != Object.class; clazz = clazz.getSuperclass()) {
try {
if (fieldName.contains(".")) {
// 如operatorUser.name、operatorUser.org.name递归调用
String[] splitFiledName = fieldName.split("\\.");
return getValueOfGetIncludeObjectFeild(
getValueOfGetIncludeObjectFeild(object, splitFiledName[0]),
splitFiledName[1]);
}
field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
PropertyDescriptor pd = new PropertyDescriptor(field.getName(), clazz);
//获得get方法
Method getMethod = pd.getReadMethod();
//执行get方法返回一个Object
return getMethod.invoke(object);
} catch (Exception e) {
//这里甚么都不要做!并且这里的异常必须这样写,不能抛出去。
//如果这里的异常打印或者往外抛则就不会执行clazz = clazz.getSuperclass(),最后就不会进入到父类中了
}
}
return null;
}
public static void main(String[] args) throws Exception {
ThdDataVO t = new ThdDataVO();
t.setLineId("222");
System.out.println(ReflectUtils.getValue(t,"LineId"));
}
}