feat(harmonic): 优化事件管理功能并调整日志级别

- 将多个模块的根日志级别从info调整为warn
- 在CldEventParam中为幅值和持续时间字段添加更明确的描述
- 为CommonStatisticalQueryParam添加持续时间、特征幅值、严重度等范围验证参数
- 在CsEngineeringServiceImpl中添加排序功能支持
- 为设备交付相关参数和实体类添加治理方法、敏感用户、治理类型等新字段
- 在事件服务中实现持续时间、幅值、严重度等多维度筛选查询功能
- 为CsEventPO添加严重度字段并实现相关计算逻辑
- 优化事件列表查询性能,添加波形文件存在性过滤条件
- 更新XML映射文件以支持新的查询参数和字段映射
- 重构台账树构建逻辑,提升数据加载效率
- 修复数据查询中的大小写匹配问题
This commit is contained in:
xy
2026-06-10 10:51:59 +08:00
parent 681ec99f23
commit 85f0775c97
35 changed files with 1546 additions and 579 deletions

View File

@@ -23,10 +23,10 @@ public class CldEventParam implements Serializable {
@ApiModelProperty("暂降触发时间")
private String startTime;
@ApiModelProperty("幅值")
@ApiModelProperty("幅值 没带百分比")
private Double amplitude;
@ApiModelProperty("持续时间")
@ApiModelProperty("持续时间 s")
private Double duration;
@ApiModelProperty("暂态类型 0-未知 1-暂降 2-暂升 3-中断 4-瞬态")

View File

@@ -2,6 +2,7 @@ package com.njcn.csharmonic.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import java.util.List;
@@ -52,4 +53,35 @@ public class CommonStatisticalQueryParam {
@ApiModelProperty(value = "数据模型 0:全量查询 1:增量查询")
private Integer dataModel;
@ApiModelProperty(value = "持续时间最小值",name = "evtParamTm")
@Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
private Double evtParamTmMin;
@ApiModelProperty(value = "持续时间最大值",name = "evtParamTm")
@Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
private Double evtParamTmMax;
@ApiModelProperty(value = "特征幅值最小值",name = "featureAmplitude")
@Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
private Double featureAmplitudeMin;
@ApiModelProperty(value = "特征幅值最大值",name = "featureAmplitude")
@Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
private Double featureAmplitudeMax;
@ApiModelProperty(value = "是否存在波形",name = "fileFlag")
private Integer fileFlag;
@ApiModelProperty(value = "严重度最小值",name = "severityMin")
@Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
private Double severityMin;
@ApiModelProperty(value = "严重度最大值",name = "severityMax")
@Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
private Double severityMax;
@ApiModelProperty(value = "事件类型",name = "target")
private List<String> target;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.csharmonic.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
@@ -28,6 +29,35 @@ public class CsEventUserQueryPage extends CsEventUserQueryParam{
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
@ApiModelProperty(value = "搜索内容",name = "searchValue")
private String searchValue;
@ApiModelProperty(value = "持续时间最小值",name = "evtParamTm")
@Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
private Double evtParamTmMin;
@ApiModelProperty(value = "持续时间最大值",name = "evtParamTm")
@Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
private Double evtParamTmMax;
@ApiModelProperty(value = "特征幅值最小值",name = "featureAmplitude")
@Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
private Double featureAmplitudeMin;
@ApiModelProperty(value = "特征幅值最大值",name = "featureAmplitude")
@Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
private Double featureAmplitudeMax;
@ApiModelProperty(value = "是否存在波形",name = "fileFlag")
private Integer fileFlag;
@ApiModelProperty(value = "严重度最小值",name = "severityMin")
@Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
private Double severityMin;
@ApiModelProperty(value = "严重度最大值",name = "severityMax")
@Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
private Double severityMax;
@ApiModelProperty(value = "设备类型名称(便携式,治理)")
private String deviceTypeName;

View File

@@ -45,6 +45,7 @@ public class CsEventUserQueryParam {
private String status;
private String level;
@ApiModelProperty(value="起始时间")
private String startTime;

View File

@@ -0,0 +1,50 @@
package com.njcn.csharmonic.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import java.io.Serializable;
import java.util.List;
/**
* @author 徐扬
*/
@Data
public class ItemParam extends BaseParam implements Serializable{
@ApiModelProperty("测试项id")
private String id;
@ApiModelProperty(value = "持续时间最小值",name = "evtParamTm")
@Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
private Double evtParamTmMin;
@ApiModelProperty(value = "持续时间最大值",name = "evtParamTm")
@Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
private Double evtParamTmMax;
@ApiModelProperty(value = "特征幅值最小值",name = "featureAmplitude")
@Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
private Double featureAmplitudeMin;
@ApiModelProperty(value = "特征幅值最大值",name = "featureAmplitude")
@Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
private Double featureAmplitudeMax;
@ApiModelProperty(value = "是否存在波形",name = "fileFlag")
private Integer fileFlag;
@ApiModelProperty(value = "严重度最小值",name = "severityMin")
@Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
private Double severityMin;
@ApiModelProperty(value = "严重度最大值",name = "severityMax")
@Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
private Double severityMax;
@ApiModelProperty(value = "事件类型",name = "target")
private List<String> target;
}

View File

@@ -165,4 +165,10 @@ public class CsEventPO extends BaseEntity {
*/
@TableField(value = "uchg")
private Double uchg;
/**
* 暂降严重度
*/
@TableField(value = "severity")
private Double severity;
}

View File

@@ -46,6 +46,9 @@ public class EventDetailVO {
*/
private String deviceId;
@ApiModelProperty(value = "设备网络id")
private String nDid;
@ApiModelProperty(value = "设备类型")
private String devType;
@@ -69,10 +72,19 @@ public class EventDetailVO {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime startTime2;
/**
* 事件字典id
*/
private String dictDataId;
/**
* 事件类型
*/
private String tag;
/**
* 事件名称
*/
private String showName;
/**
@@ -148,4 +160,10 @@ public class EventDetailVO {
@ApiModelProperty("暂降源与监测位置关系 0-未知、1-上游、2-下游")
private String sagSource;
@ApiModelProperty("监测点电压等级")
private Double lineVoltage;
@ApiModelProperty("事件严重度")
private Double severity;
}

View File

@@ -1,5 +1,8 @@
package com.njcn.csharmonic.utils;
import java.util.ArrayList;
import java.util.List;
public class DataChangeUtil {
/**
@@ -43,4 +46,34 @@ public class DataChangeUtil {
return data;
}
public static List<String> getTag(List<String> target) {
List<String> tag = new ArrayList<>();
target.forEach(temp -> {
switch (temp) {
case "暂降":
tag.add("Evt_Sys_DipStr");
break;
case "中断":
tag.add("Evt_Sys_IntrStr");
break;
case "暂升":
tag.add("Evt_Sys_SwlStr");
break;
case "瞬态":
tag.add("Evt_Sys_QitrV");
tag.add("Evt_Sys_QitrA");
tag.add("Transient");
break;
case "振荡":
tag.add("Evt_Sys_PoscLowStr");
tag.add("Evt_Sys_PoscSyncStr");
tag.add("Evt_Sys_PoscWideStr");
break;
default:
break;
}
});
return tag;
}
}