合并代码

This commit is contained in:
2022-10-18 11:17:20 +08:00
parent 1efdfa5cd6
commit 7b790e6dc2
93 changed files with 5045 additions and 555 deletions

View File

@@ -0,0 +1,55 @@
package com.njcn.event.pojo.param;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
* 拓展前端参数
*
* @author yzh
* @date 2022/10/8
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class UniversalFrontEndParam extends StatisticsBizBaseParam implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 电压等级
*/
@ApiModelProperty(name = "voltageLevel", value = "电压等级", required = true)
private List<String> voltageLevel;
/**
* 监测点名称
*/
@ApiModelProperty(name = "measurementPointId", value = "监测点名称")
private String measurementPointId;
/**
* 暂态指标类型
*/
@ApiModelProperty(name = "typeOfTransientIndicators", value = "暂态指标类型")
private String typeOfTransientIndicators;
/**
* 监测点类别
*/
@ApiModelProperty(name = "measurementPointCategory", value = "监测点类别")
private String measurementPointCategory;
/**
* 变电站名称
*/
@ApiModelProperty(name = "subName", value = "变电站名称")
private String subName;
}

View File

@@ -0,0 +1,164 @@
package com.njcn.event.pojo.po;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
/**
* 监测点(PmsMonitor)实体类
*
* @author yzh
* @since 2022-10-17 20:19:26
*/
@Data
public class PmsMonitorPO implements Serializable {
private static final long serialVersionUID = 910688608662493948L;
/**
* 监测点ID
*/
private String id;
/**
* 监测点名称
*/
private String name;
/**
* 组织机构名称
*/
private String orgName;
/**
* 组织机构ID(外键)
*/
private String orgId;
/**
* 运维单位名称
*/
private String operationName;
/**
* 运维单位ID(外键)
*/
private String operationId;
/**
* 变电站名称
*/
private String powerrName;
/**
* 电站ID(外键)
*/
private String powerrId;
/**
* 母线名称
*/
private String generatrixName;
/**
* 母线ID(外键)
*/
private String generatrixId;
/**
* 监测线路名称
*/
private String lineName;
/**
* 监测线路ID
*/
private String lineId;
/**
* 电压等级(字典)
*/
private String voltageLevel;
/**
* 监测点状态(字典)
*/
private String monitorState;
/**
* 监测点类型
*/
private String monitorType;
/**
* 最小短路容量
*/
private Double minShortCircuitCapacity;
/**
* 供电设备容量
*/
private Double powerSupplyEqCapacity;
/**
* 用户协议容量
*/
private Double userAgreementCapacity;
/**
* 电压偏差限值(上)
*/
private Double voltageDeviationUpperLimit;
/**
* 电压偏差限值(下)
*/
private Double voltageDeviationLowerLimit;
/**
* 电压互感器类型(字典)
*/
private String potentialTransFormerType;
/**
* 中性点接地方式(字典)
*/
private String neutralGroundingMode;
/**
* 是否用户专线(字典)
*/
private String isSpecialSupplyElectricity;
/**
* 监测点标签
*/
private String monitorTag;
/**
* 监测对象类型(字典)
*/
private String monitorObjectType;
/**
* 监测对象编号
*/
private String monitorObjectId;
/**
* 监测对象名称
*/
private String monitorObjectName;
/**
* 统计间隔
*/
private Integer statisticalInterval;
/**
* 关联的监测终端编号(外键)
*/
private String terminalId;
/**
* 监测终端接线方式(字典)
*/
private String terminalWiringMethod;
/**
* 是否是上送国网监测点,0-否 1-是
*/
private Integer isUpToGrid;
/**
* 数据状态0-删除1-正常;
*/
private Integer status;
/**
* 创建用户
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
}

View File

@@ -0,0 +1,92 @@
package com.njcn.event.pojo.po;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
/**
* (RStatBusbarHarmonicY)实体类
*
* @author yzh
* @since 2022-10-12 18:38:16
*/
@Data
public class RStatBusbarHarmonicPO implements Serializable {
private static final long serialVersionUID = 398744755685851294L;
/**
* 母线ID
*/
private String busbarId;
/**
* 生成数据的时间,每年统计一次
*/
private Date dataDate;
/**
* 电压有效值最大
*/
private Double vEffectiveMax;
/**
* 电压有效值最小
*/
private Double vEffectiveMin;
/**
* 电压有效值平均
*/
private Double vEffectiveAvg;
/**
* 电压有效值95概率大值
*/
private Double vEffective95;
/**
* 电压总谐波畸变率最大
*/
private Double vThdMax;
/**
* 电压总谐波畸变率最小
*/
private Double vThdMin;
/**
* 电压总谐波畸变率平均
*/
private Double vThdAvg;
/**
* 电压总谐波畸变率95概率大值
*/
private Double vThd95;
/**
* 三相电压不平衡最大
*/
private Double unbalanceMax;
/**
* 三相电压不平衡最小
*/
private Double unbalanceMin;
/**
* 三相电压不平衡平均
*/
private Double unbalanceAvg;
/**
* 三相电压不平衡95概率大值
*/
private Double unbalance95;
/**
* 闪变最大
*/
private Double flickerMax;
/**
* 闪变最小
*/
private Double flickerMin;
/**
* 闪变平均
*/
private Double flickerAvg;
/**
* 闪变95概率大值
*/
private Double flicker95;
}

View File

@@ -0,0 +1,82 @@
package com.njcn.event.pojo.po;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 监测点暂态指标数据统计表(RStatEventOrg)实体类
*
* @author yzh
* @since 2022-10-12 18:15:26
*/
@Data
@ApiModel("监测点暂态指标数据统计表")
public class RStatEventOrgPO implements Serializable {
private static final long serialVersionUID = -15971491825708754L;
/**
* 单位ID
*/
@ApiModelProperty(name = "orgNo",value = "单位ID")
private String orgNo;
/**
* 生成数据的时间,每年统计一次
*/
@ApiModelProperty(name = "dataDate",value = "生成数据的时间,每年统计一次")
private Date dataDate;
/**
* 稳态指标类型Id字典表ID
*/
@ApiModelProperty(name = "eventType",value = "稳态指标类型Id字典表ID")
private String eventType;
/**
* 日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)
*/
@ApiModelProperty(name = "eventMeasurementAverage",value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)")
private Integer eventMeasurementAverage;
/**
* 累计发生暂态监测点数(监测点暂态指标超标明细日表
*/
@ApiModelProperty(name = "eventMeasurementAccrued",value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)")
private Integer eventMeasurementAccrued;
/**
* 暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)
*/
@ApiModelProperty(name = "eventFreq",value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)")
private Double eventFreq;
/**
* 暂态指标发生次数(日表的暂态指标发生次数之和)
*/
@ApiModelProperty(name = "eventCount",value = "暂态指标发生次数(日表的暂态指标发生次数之和)")
private Integer eventCount;
/**
* 日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)
*/
@ApiModelProperty(name = "eventMeasurementRatioAverage",value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)")
private Double eventMeasurementRatioAverage;
/**
* 累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)
*/
@ApiModelProperty(name = "eventMeasurementRatioAccrued",value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)")
private Double eventMeasurementRatioAccrued;
/**
* 数据类型,字典表01主网测点 02配网测点
*/
@ApiModelProperty(name = "dataType",value = "数据类型,字典表01主网测点 02配网测点")
private String dataType;
}

View File

@@ -0,0 +1,104 @@
package com.njcn.event.pojo.po;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
/**
* 区域分类统计年表(RStatOrgY)实体类
*
* @author yzh
* @since 2022-10-12 18:37:24
*/
@Data
public class RStatOrgPO implements Serializable {
private static final long serialVersionUID = -49993470994002009L;
/**
* 单位ID
*/
private String orgNo;
/**
* 生成数据的时间,每年统计一次
*/
private Date dataDate;
/**
* 监测点类别ID、监测对象类型ID
*/
private String measurementTypeClass;
/**
* 总监测点数
*/
private Integer allCount;
/**
* 日均有效接入监测点数
*/
private Integer effectiveMeasurementAverage;
/**
* 累计有效接入监测点数
*/
private Integer effectiveMeasurementAccrued;
/**
* 日均稳态超标监测点数
*/
private Integer overLimitMeasurementAverage;
/**
* 累计稳态超标监测点数
*/
private Integer overLimitMeasurementAccrued;
/**
* 日均稳态超标监测点数占比
*/
private Integer harmonicMeasurementRatioAverage;
/**
* 稳态指标平均超标天数
*/
private Double averageOverDay;
/**
* 频率偏差合格率
*/
private Double freqPassRate;
/**
* 电压偏差合格率
*/
private Double vDevPassRate;
/**
* 闪变合格率
*/
private Double flickerPassRate;
/**
* 日均监测到暂态指标的监测点数
*/
private Integer eventMeasurementAverage;
/**
* 累计监测到暂态指标的监测点数
*/
private Integer eventMeasurementAccrued;
/**
* 日均暂态超标监测点数占比
*/
private Integer eventMeasurementRatioAverage;
/**
* 暂态指标发生频次
*/
private Double eventFreq;
/**
* 暂态指标发生次数
*/
private Integer eventCount;
/**
* 应设点数
*/
private Integer shouldCount;
/**
* 告警监测点数
*/
private Integer warnCount;
/**
* 数据类型,字典表01主网测点 02配网测点
*/
private String dataType;
}

View File

@@ -0,0 +1,103 @@
package com.njcn.event.pojo.po;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
/**
* (RStatSubstationY)实体类
*
* @author yzh
* @since 2022-10-12 18:39:03
*/
@Data
public class RStatSubstationPO implements Serializable {
private static final long serialVersionUID = -98896978437277100L;
/**
* 生成数据的时间,每年统计一次
*/
private Date dataDate;
/**
* 变电站id
*/
private Integer substationId;
/**
* 日均有效接入监测点数
*/
private Integer effectiveMeasurementAverage;
/**
* 累计有效接入监测点数
*/
private Integer effectiveMeasurementAccrued;
/**
* 稳态平均超标天数
*/
private Double harmonicOverDay;
/**
* 频率偏差平均超标天数
*/
private Double freqAverageOverDay;
/**
* 电压偏差平均超标天数
*/
private Double vDevAverageOverDay;
/**
* 谐波电压平均超标天数
*/
private Double vAverageOverDay;
/**
* 谐波电流平均超标天数
*/
private Double iAverageOverDay;
/**
* 三相电压不平衡平均超标天数
*/
private Double unbalanceAverageOverDay;
/**
* 负序电流平均超标天数
*/
private Double iNegAverageOverDay;
/**
* 闪变平均超标天数
*/
private Double flickerAverageOverDay;
/**
* 间谐波电压平均超标天数
*/
private Double inuharmAverageOverDay;
/**
* 暂态指标发生次数
*/
private Integer eventCount;
/**
* 暂态指标发生频次
*/
private Double eventFreq;
/**
* 电压暂降发生次数
*/
private Integer sagCount;
/**
* 电压暂降发生频次
*/
private Double sagFreq;
/**
* 电压暂升发生次数
*/
private Integer swellCount;
/**
* 电压暂升发生频次
*/
private Double swellFreq;
/**
* 短时中断发生次数
*/
private Integer interruptCount;
/**
* 短时中断发生频次
*/
private Double interruptFreq;
}

View File

@@ -0,0 +1,66 @@
package com.njcn.device.pms.pojo.po;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* (RMpEventDetail)实体类
*
* @author yzh
* @since 2022-10-12 18:34:55
*/
@Data
public class RmpEventDetailPO implements Serializable {
private static final long serialVersionUID = 717547299960041571L;
/**
* 暂时事件ID
*/
@ApiModelProperty(name = "eventId",value = "暂时事件ID")
private String eventId;
/**
* 监测点ID
*/
@ApiModelProperty(name = "measurementPointId",value = "监测点ID")
private String measurementPointId;
/**
* 事件类型
*/
@ApiModelProperty(name = "eventType",value = "事件类型")
private String eventType;
/**
* 开始时间
*/
@ApiModelProperty(name = "startTime",value = "开始时间")
private Long startTime;
/**
* 持续时间
*/
@ApiModelProperty(name = "duration",value = "持续时间")
private Double duration;
/**
* 特征幅值
*/
@ApiModelProperty(name = "featureAmplitude",value = "特征幅值")
private Double featureAmplitude;
/**
* 相别
*/
@ApiModelProperty(name = "phase",value = "相别")
private String phase;
/**
* 事件描述
*/
@ApiModelProperty(name = "eventDescribe",value = "事件描述")
private String eventDescribe;
/**
* 波形路径
*/
@ApiModelProperty(name = "wavePath",value = "波形路径")
private String wavePath;
}

View File

@@ -0,0 +1,186 @@
package com.njcn.event.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 变电站母线电压指标年报返回前端实体类
*
* @author yzh
* @date 2022/10/8
*/
@Data
@ApiModel(value = "变电站母线电压指标年报返回前端实体类")
public class RStatBusbarHarmonicVO implements Serializable {
private static final long serialVersionUID = 835979721790264805L;
/**
* 部门id
*/
@ApiModelProperty(name = "deptId", value = "部门id")
private String deptId;
/**
* 所属单位
*/
@ApiModelProperty(name = "company", value = "单位")
private String company;
/**
* 变电站id
*/
@ApiModelProperty(name = "subId", value = "变电站id")
private String subId;
/**
* 变电站名称
*/
@ApiModelProperty(name = "subName", value = "变电站名称")
private String subName;
/**
* 变电站电压等级
*/
@ApiModelProperty(name = "subVoltageLevel", value = "变电站电压等级")
private String subVoltageLevel;
/**
* 母线名称
*/
@ApiModelProperty(name = "busbarName", value = "母线名称")
private String busbarName;
/**
* 母线id
*/
@ApiModelProperty(name = "busbarId", value = "母线id")
@TableField(value = "busbar_id")
private String busbarId;
/**
* 生成数据的时间,每年统计一次
*/
@ApiModelProperty(name = "dataDate", value = "生成数据的时间,每年统计一次")
@TableField(value = "data_date")
private String dataDate;
/**
* 电压有效最大值
*/
@ApiModelProperty(name = "vEffectiveMax", value = "电压有效最大值")
@TableField(value = "v_effective_max")
private Double vEffectiveMax;
/**
* 电压有效最小值
*/
@ApiModelProperty(name = "vEffectiveMin", value = "电压有效最小值")
@TableField(value = "v_effective_min")
private Double vEffectiveMin;
/**
* 电压有效平均值
*/
@ApiModelProperty(name = "vEffectiveAvg", value = "电压有效平均值")
@TableField(value = "v_effective_avg")
private Double vEffectiveAvg;
/**
* 电压有效值95概率大值
*/
@ApiModelProperty(name = "vEffective95", value = "电压有效值95概率大值")
@TableField(value = "v_effective_95")
private Double vEffective95;
/**
* 电压总谐波畸变率最大值
*/
@ApiModelProperty(name = "vThdMax", value = "电压总谐波畸变率最大值")
@TableField(value = "v_thd_max")
private Double vThdMax;
/**
* 电压总谐波畸变率最小值
*/
@ApiModelProperty(name = "vThdMin", value = "电压总谐波畸变率最小值")
@TableField(value = "v_thd_min")
private Double vThdMin;
/**
* 电压总谐波畸变率平均值
*/
@ApiModelProperty(name = "vThdAvg", value = "电压总谐波畸变率平均值")
@TableField(value = "v_thd_avg")
private Double vThdAvg;
/**
* 电压总谐波畸变率95概率大值
*/
@ApiModelProperty(name = "vThd95", value = "电压总谐波畸变率95概率大值")
@TableField(value = "v_thd_95")
private Double vThd95;
/**
* 三相电压不平衡最大值
*/
@ApiModelProperty(name = "unbalanceMax", value = "三相电压不平衡最大值")
@TableField(value = "unbalance_max")
private Double unbalanceMax;
/**
* 三相电压不平衡最小值
*/
@ApiModelProperty(name = "unbalanceMin", value = "三相电压不平衡最小值")
@TableField(value = "unbalance_min")
private Double unbalanceMin;
/**
* 三相电压不平衡平均值
*/
@ApiModelProperty(name = "unbalanceAvg", value = "三相电压不平衡平均值")
@TableField(value = "unbalance_avg")
private Double unbalanceAvg;
/**
* 三相电压不平衡95概率大值
*/
@ApiModelProperty(name = "unbalance95", value = "三相电压不平衡95概率大值")
@TableField(value = "unbalance_95")
private Double unbalance95;
/**
* 闪变最大值
*/
@ApiModelProperty(name = "flickerMax", value = "闪变最大值")
@TableField(value = "flicker_max")
private Double flickerMax;
/**
* 闪变最小值
*/
@ApiModelProperty(name = "flickerMin", value = "闪变最小值")
@TableField(value = "flicker_min")
private Double flickerMin;
/**
* 闪变平均值
*/
@ApiModelProperty(name = "flickerAvg", value = "闪变平均值")
@TableField(value = "flicker_avg")
private Double flickerAvg;
/**
* 闪变95概率大值
*/
@ApiModelProperty(name = "flicker95", value = "闪变95概率大值")
@TableField(value = "flicker_95")
private Double flicker95;
}

View File

@@ -0,0 +1,269 @@
package com.njcn.event.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
import java.util.List;
/**
* 监测点暂态指标数据统计表(RStatEventOrg)实体类
*
* @author yzh
* @since 2022-10-12 18:15:26
*/
@Data
@ApiModel("监测点暂态指标数据统计表")
public class RStatEventOrgVO implements Serializable {
private static final long serialVersionUID = -15971491825708754L;
public static final String SHORT_INTERRUPTIONS = "Short_Interruptions";
public static final String VOLTAGE_DIP = "Voltage_Dip";
public static final String VOLTAGE_RISE = "Voltage_Rise";
/**
* 单位ID
*/
@ApiModelProperty(name = "orgNo", value = "单位ID")
private String orgNo;
/**
* 单位名称
*/
@ApiModelProperty(name = "orgName", value = "单位名称")
private String orgName;
/**
* 生成数据的时间,每年统计一次
*/
@ApiModelProperty(name = "dataDate", value = "生成数据的时间,每年统计一次")
private Date dataDate;
/**
* 日均有效接入监测点数
*/
@ApiModelProperty(name = "effectiveMeasurementAverage", value = "日均有效接入监测点数")
private Integer effectiveMeasurementAverage;
/**
* 累计有效接入监测点数
*/
@ApiModelProperty(name = "effectiveMeasurementAccrued", value = "累计有效接入监测点数")
private Integer effectiveMeasurementAccrued;
/**
* 日均监测到暂态指标的监测点数
*/
@ApiModelProperty(name = "eventMeasurementAverage", value = "日均监测到暂态指标的监测点数")
private Integer eventMeasurementAverage;
/**
* 累计监测到暂态指标的监测点数
*/
@ApiModelProperty(name = "eventMeasurementAccrued", value = "累计监测到暂态指标的监测点数")
private Integer eventMeasurementAccrued;
/**
* 日均暂态超标监测点数占比
*/
@ApiModelProperty(name = "eventMeasurementRatioAverage", value = "日均暂态超标监测点数占比")
private Integer eventMeasurementRatioAverage;
/**
* 累计暂态超标监测点数占比
*/
@ApiModelProperty(name = "eventMeasurementRatioAccrued", value = "累计暂态超标监测点数占比")
private Integer eventMeasurementRatioAccrued;
/**
* 暂态指标类型Id字典表ID
*/
@ApiModelProperty(name = "eventType", value = "暂态指标类型Id字典表ID")
private String eventType;
/**
* 日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)
*/
@ApiModelProperty(name = "eEventMeasurementAverage",value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)")
private Integer eEventMeasurementAverage;
/**
* 累计发生暂态监测点数(监测点暂态指标超标明细日表
*/
@ApiModelProperty(name = "eEventMeasurementAccrued",value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)")
private Integer eEventMeasurementAccrued;
/**
* 日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)
*/
@ApiModelProperty(name = "eEventMeasurementRatioAverage",value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)")
private Double eEventMeasurementRatioAverage;
/**
* 累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)
*/
@ApiModelProperty(name = "eEventMeasurementRatioAccrued",value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)")
private Double eEventMeasurementRatioAccrued;
/**
* 暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)
*/
@ApiModelProperty(name = "eEventFreq",value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)")
private Double eEventFreq;
/**
* 暂态指标发生次数(日表的暂态指标发生次数之和)
*/
@ApiModelProperty(name = "eEventCount",value = "暂态指标发生次数(日表的暂态指标发生次数之和)")
private Integer eEventCount;
/**
* 日均短时中断
*/
@ApiModelProperty(name = "dayShortInterruptions", value = "日均短时中断")
private Integer dayShortInterruptions;
/**
* 累计短时中断
*/
@ApiModelProperty(name = "cumulativeShortInterruptions", value = "累计短时中断")
private Integer cumulativeShortInterruptions;
/**
* 日均短时中断占比
*/
@ApiModelProperty(name = "dayShortInterruptionsProportion", value = "日均短时中断占比")
private Double dayShortInterruptionsProportion;
/**
* 累计短时中断占比
*/
@ApiModelProperty(name = "cumulativeShortInterruptionsProportion", value = "累计暂态指标占比")
private Double cumulativeShortInterruptionsProportion;
/**
* 短时中断监测点数
*/
@ApiModelProperty(name = "shortInterruptionsMonitor", value = "短时中断监测点数")
private Integer shortInterruptionsMonitor;
/**
* 短时中断占比
*/
@ApiModelProperty(name = "shortInterruptionsProportion",value = "短时中断占比")
private Double shortInterruptionsProportion;
/**
* 短时中断次数
*/
@ApiModelProperty(name = "shortInterruptionsCount", value = "短时中断次数")
private Integer shortInterruptionsCount;
/**
* 短时中断频次
*/
@ApiModelProperty(name = "shortInterruptionsFrequency", value = "短时中断频次")
private Double shortInterruptionsFrequency;
/**
* 日均电压暂升
*/
@ApiModelProperty(name = "dayVoltageRise", value = "日均电压暂升")
private Integer dayVoltageRise;
/**
* 累计电压暂升
*/
@ApiModelProperty(name = "cumulativeVoltageRise", value = "累计电压暂升")
private Integer cumulativeVoltageRise;
/**
* 日均电压暂升占比
*/
@ApiModelProperty(name = "dayVoltageRiseProportion", value = "日均电压暂升占比")
private Double dayVoltageRiseProportion;
/**
* 累计电压暂升占比
*/
@ApiModelProperty(name = "cumulativeVoltageRiseProportion", value = "累计电压暂升占比")
private Double cumulativeVoltageRiseProportion;
/**
* 电压暂升占比
*/
@ApiModelProperty(name = "voltageRiseProportion",value = "电压暂升占比")
private Double voltageRiseProportion;
/**
* 电压暂升次数
*/
@ApiModelProperty(name = "voltageRiseCount", value = "电压暂升次数")
private Integer voltageRiseCount;
/**
* 电压暂升频次
*/
@ApiModelProperty(name = "voltageRiseFrequency", value = "电压暂升频次")
private Double voltageRiseFrequency;
/**
* 日均电压暂降
*/
@ApiModelProperty(name = "dayVoltageDip", value = "日均电压暂降")
private Integer dayVoltageDip;
/**
* 累计电压暂降
*/
@ApiModelProperty(name = "cumulativeVoltageDip", value = "累计电压暂降")
private Integer cumulativeVoltageDip;
/**
* 日均电压暂降占比
*/
@ApiModelProperty(name = "dayVoltageDipProportion", value = "日均电压暂降占比")
private Double dayVoltageDipProportion;
/**
* 累计电压暂降占比
*/
@ApiModelProperty(name = "cumulativeVoltageDipProportion", value = "累计电压暂降占比")
private Double cumulativeVoltageDipProportion;
/**
* 电压暂降占比
*/
@ApiModelProperty(name = "voltageDipProportion",value = "电压暂降占比")
private Double voltageDipProportion;
/**
* 电压暂降次数
*/
@ApiModelProperty(name = "voltageDipCount", value = "电压暂降次数")
private Integer voltageDipCount;
/**
* 电压暂降频次
*/
@ApiModelProperty(name = "voltageDipFrequency", value = "电压暂降频次")
private Double voltageDipFrequency;
}

View File

@@ -0,0 +1,87 @@
package com.njcn.event.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 区域分类统计表(RStatOrgY)实体类
*
* @author yzh
* @date 2022/10/10
*/
@Data
@ApiModel(value = "区域分类统计表(RStatOrgY)实体类")
public class RStatOrgVO implements Serializable {
private static final long serialVersionUID = 642166320324597986L;
/**
* 单位ID
*/
@ApiModelProperty(name = "orgNo", value = "单位ID")
private String orgNo;
/**
* 单位名称
*/
@ApiModelProperty(name = "orgName", value = "单位名称")
private String orgName;
/**
* 生成数据的时间
*/
@ApiModelProperty(name = "dataDate", value = "生成数据的时间")
private String dataDate;
/**
* 日均有效接入监测点数
*/
@ApiModelProperty(name = "effectiveMeasurementAverage", value = "日均有效接入监测点数")
private Integer effectiveMeasurementAverage;
/**
* 累计有效接入监测点数
*/
@ApiModelProperty(name = "effectiveMeasurementAccrued", value = "累计有效接入监测点数")
private Integer effectiveMeasurementAccrued;
/**
* 日均监测到暂态指标的监测点数
*/
@ApiModelProperty(name = "eventMeasurementAverage", value = "日均监测到暂态指标的监测点数")
private Integer eventMeasurementAverage;
/**
* 累计监测到暂态指标的监测点数
*/
@ApiModelProperty(name = "eventMeasurementAccrued", value = "累计监测到暂态指标的监测点数")
private Integer eventMeasurementAccrued;
/**
* 日均暂态超标监测点数占比
*/
@ApiModelProperty(name = "eventMeasurementRatioAverage", value = "日均暂态超标监测点数占比")
private Integer eventMeasurementRatioAverage;
/**
* 累计暂态超标监测点数占比
*/
@ApiModelProperty(name = "eventMeasurementRatioAccrued", value = "累计暂态超标监测点数占比")
private Integer eventMeasurementRatioAccrued;
/**
* 暂态指标发生频次
*/
@ApiModelProperty(name = "eventFreq", value = "暂态指标发生频次")
private Double eventFreq;
/**
* 暂态指标发生次数
*/
@ApiModelProperty(name = "eventCount", value = "暂态指标发生次数")
private Integer eventCount;
}

View File

@@ -0,0 +1,116 @@
package com.njcn.event.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 变电站指标统计表实体类
*
* @author yzh
* @since 2022-10-11 16:15:48
*/
@Data
@ApiModel(value = "变电站指标统计表实体类")
public class RStatSubstationVO implements Serializable {
private static final long serialVersionUID = 117875946877905400L;
/**
* 单位id
*/
@ApiModelProperty(name = "deptId",value = "单位id")
private String deptId;
/**
* 单位名称
*/
@ApiModelProperty(name = "deptName",value = "单位名称")
private String deptName;
/**
* 变电站id
*/
@ApiModelProperty(name = "substationId",value = "变电站id")
private String substationId;
/**
* 变电站名称
*/
@ApiModelProperty(name = "substationName",value = "变电站名称")
private String substationName;
/**
* 生成数据的时间
*/
@ApiModelProperty(name = "dataDate",value = "生成数据的时间")
private String dataDate;
/**
* 日均有效接入监测点数
*/
@ApiModelProperty(name = "effectiveMeasurementAverage",value = "日均有效接入监测点数")
private Integer effectiveMeasurementAverage;
/**
* 累计有效接入监测点数
*/
@ApiModelProperty(name = "effectiveMeasurementAccrued",value = "累计有效接入监测点数")
private Integer effectiveMeasurementAccrued;
/**
* 暂态指标发生次数
*/
@ApiModelProperty(name = "eventCount",value = "暂态指标发生次数")
private Integer eventCount;
/**
* 暂态指标发生频次
*/
@ApiModelProperty(name = "eventFreq",value = "暂态指标发生频次")
private Double eventFreq;
/**
* 短时中断发生次数
*/
@ApiModelProperty(name = "interruptCount",value = "短时中断发生次数")
private Integer interruptCount;
/**
* 短时中断发生频次
*/
@ApiModelProperty(name = "interruptFreq",value = "短时中断发生频次")
private Double interruptFreq;
/**
* 电压暂升发生次数
*/
@ApiModelProperty(name = "swellCount",value = "电压暂升发生次数")
private Integer swellCount;
/**
* 电压暂升发生频次
*/
@ApiModelProperty(name = "swellFreq",value = "电压暂升发生频次")
private Double swellFreq;
/**
* 电压暂降发生次数
*/
@ApiModelProperty(name = "sagCount",value = "电压暂降发生次数")
private Integer sagCount;
/**
* 电压暂降发生频次
*/
@ApiModelProperty(name = "sagFreq",value = "电压暂降发生频次")
private Double sagFreq;
}

View File

@@ -0,0 +1,87 @@
package com.njcn.event.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 监测点暂态事件明细数据(RMpEventDetail)实体类
*
* @author yzh
* @since 2022-10-12 10:30:03
*/
@Data
@ApiModel("监测点暂态事件明细数据")
public class RmpEventDetailVO implements Serializable {
private static final long serialVersionUID = 544141879378917668L;
/**
* 单位id
*/
@ApiModelProperty(name = "deptId",value = "单位id")
private String deptId;
/**
* 单位名称
*/
@ApiModelProperty(name = "deptName",value = "单位名称")
private String deptName;
/**
* 暂时事件ID
*/
@ApiModelProperty(name = "eventId",value = "暂时事件ID")
private String eventId;
/**
* 监测点ID
*/
@ApiModelProperty(name = "measurementPointId",value = "监测点ID")
private String measurementPointId;
/**
* 监测点名称
*/
@ApiModelProperty(name = "measurementPointName",value = "监测点名称")
private String measurementPointName;
/**
* 事件类型
*/
@ApiModelProperty(name = "eventType",value = "事件类型")
private String eventType;
/**
* 相别
*/
@ApiModelProperty(name = "phase",value = "相别")
private String phase;
/**
* 开始时间
*/
@ApiModelProperty(name = "startTime",value = "开始时间")
private Long startTime;
/**
* 持续时间
*/
@ApiModelProperty(name = "duration",value = "持续时间")
private Double duration;
/**
* 特征幅值
*/
@ApiModelProperty(name = "featureAmplitude",value = "特征幅值")
private Double featureAmplitude;
/**
* 波形路径
*/
@ApiModelProperty(name = "wavePath",value = "波形路径")
private String wavePath;
}

View File

@@ -0,0 +1,53 @@
package com.njcn.event.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.vo.RmpEventDetailVO;
import com.njcn.event.service.RmpEventDetailService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 暂态事件明细
*
* @author yzh
* @date 2022/10/12
*/
@RestController
@RequestMapping("/rmpEventDetail")
@Api(tags = "暂态事件明细")
@RequiredArgsConstructor
public class RmpEventDetailController extends BaseController {
private final RmpEventDetailService rmpEventDetailService;
/**
* 获取暂态事件明细
*
* @param param 前端传入参数
* @return 暂态事件明细
*/
@PostMapping("/getDetailsOfTransientEvents")
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@ApiOperation("获取区域暂态指标统计")
// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true)
public HttpResult<List<RmpEventDetailVO>> getRmpEventDetail(@RequestBody UniversalFrontEndParam param) {
String methodDescribe = getMethodDescribe("getRmpEventDetail");
List<RmpEventDetailVO> list = rmpEventDetailService.getRmpEventDetail(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -0,0 +1,88 @@
package com.njcn.event.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.vo.RStatEventOrgVO;
import com.njcn.event.pojo.vo.RStatOrgVO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import com.njcn.event.service.StatisticsOfTransientIndicatorssService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 暂态指标统计
*
* @author yzh
* @date 2022/10/10
*/
@RestController
@RequestMapping("/statisticsOfTransientIndicators")
@Api(tags = "暂态指标统计")
@RequiredArgsConstructor
public class StatisticsOfTransientIndicatorsController extends BaseController {
private final StatisticsOfTransientIndicatorssService statisticsOfTransientIndicatorssService;
/**
* 获取区域暂态指标统计
*
* @param param 前端传入参数
* @return 区域暂态指标统计
*/
@PostMapping("/getRStatOrg")
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@ApiOperation("获取区域暂态指标统计")
// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true)
public HttpResult<List<RStatOrgVO>> getRStatOrg(@RequestBody UniversalFrontEndParam param) {
String methodDescribe = getMethodDescribe("getRStatOrg");
List<RStatOrgVO> list = statisticsOfTransientIndicatorssService.getRStatOrg(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
/**
* 获取区域暂态指标分类统计表
*
* @param param 前端传入参数
* @return 区域暂态指标分类统计表
*/
@PostMapping("/getRStatEventOrg")
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@ApiOperation("获取区域暂态指标分类统计表")
// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true)
public HttpResult<List<RStatEventOrgVO>> getRStatEventOrg(@RequestBody UniversalFrontEndParam param) {
String methodDescribe = getMethodDescribe("getRStatEventOrg");
List<RStatEventOrgVO> list = statisticsOfTransientIndicatorssService.getRStatEventOrg(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
/**
* 获取变电站暂态指标分类统计表
*
* @param param 前端传入参数
* @return 变电站暂态指标分类统计表
*/
@PostMapping("/getRStatSubstation")
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@ApiOperation("获取变电站暂态指标分类统计表")
// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true)
public HttpResult<List<RStatSubstationVO>> getRStatSubstation(@RequestBody UniversalFrontEndParam param) {
String methodDescribe = getMethodDescribe("getRStatSubstation");
List<RStatSubstationVO> list = statisticsOfTransientIndicatorssService.getRStatSubstation(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -0,0 +1,24 @@
package com.njcn.event.mapper;
import com.njcn.event.pojo.po.PmsMonitorPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author yzh
* @date 2022/10/17
*/
@Mapper
public interface PmsMonitorMapper {
/**
* 根据部门id查询监测点id
*
* @param deptIds 部门id
* @return 监测点id
*/
List<PmsMonitorPO> getMonitorInfo(@Param("deptIds") List<String> deptIds);
}

View File

@@ -0,0 +1,55 @@
package com.njcn.event.mapper;
import com.njcn.event.pojo.vo.RStatEventOrgVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 区域暂态指标分类统计表
*
* @author yzh
* @date 2022/10/13
*/
@Mapper
public interface RStatEventOrgMapper {
/**
* 获取年区域暂态指标分类统计表
*
* @param deptIds 部门id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 年区域暂态指标分类统计表
*/
List<RStatEventOrgVO> getYearRStatEventOrgInfo(@Param("deptIds") List<String> deptIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
/**
* 获取季区域暂态指标分类统计表
*
* @param deptIds 部门id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 季区域暂态指标分类统计表
*/
List<RStatEventOrgVO> getQuarterRStatEventOrgInfo(@Param("deptIds") List<String> deptIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
/**
* 获取月区域暂态指标分类统计表
*
* @param deptIds 部门id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 月区域暂态指标分类统计表
*/
List<RStatEventOrgVO> getMonthRStatEventOrgInfoInfo(@Param("deptIds") List<String> deptIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
}

View File

@@ -0,0 +1,56 @@
package com.njcn.event.mapper;
import com.njcn.event.pojo.vo.RStatOrgVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 暂态指标统计
*
* @author yzh
* @date 2022/10/10
*/
@Mapper
public interface RStatOrgMapper {
/**
* 获取年区域暂态指标统计
*
* @param deptIds 单位id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 年区域暂态指标统计
*/
List<RStatOrgVO> getYearRStatOrgInfo(@Param("deptIds") List<String> deptIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
/**
* 获取季区域暂态指标统计
*
* @param deptIds 单位id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 季区域暂态指标统计
*/
List<RStatOrgVO> getQuarterRStatOrgInfo(@Param("deptIds") List<String> deptIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
/**
* 获取月区域暂态指标统计
*
* @param deptIds 单位id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 月区域暂态指标统计
*/
List<RStatOrgVO> getMonthRStatOrgInfo(@Param("deptIds") List<String> deptIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
}

View File

@@ -0,0 +1,56 @@
package com.njcn.event.mapper;
import com.njcn.event.pojo.po.PmsMonitorPO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 变电站暂态指标分类统计
*
* @author yzh
* @date 2022/10/14
*/
@Mapper
public interface RStatSubstationMapper {
/**
* 获取年变电站暂态指标分类统计表
*
* @param powerrIds 变电站id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 年变电站暂态指标分类统计表
*/
List<RStatSubstationVO> getYearInfo(@Param("powerrIds") List<String> powerrIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
/**
* 获取季变电站暂态指标分类统计表
*
* @param powerrIds 变电站id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 季变电站暂态指标分类统计表
*/
List<RStatSubstationVO> getQuarterInfo(@Param("powerrIds") List<String> powerrIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
/**
* 获取月变电站暂态指标分类统计表
*
* @param powerrIds 变电站id
* @param startTime 开始时间
* @param endTime 结束时间
* @return 月变电站暂态指标分类统计表
*/
List<RStatSubstationVO> getMonthInfo(@Param("powerrIds") List<String> powerrIds,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
}

View File

@@ -0,0 +1,16 @@
package com.njcn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.event.pojo.vo.RmpEventDetailVO;
import org.apache.ibatis.annotations.Mapper;
/**
* 暂态事件明细
*
* @author yzh
* @date 2022/10/12
*/
@Mapper
public interface RmpEventDetailMapper extends BaseMapper<RmpEventDetailVO> {
}

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.event.mapper.PmsMonitorMapper">
<!--根据部门id查询监测点id-->
<select id="getMonitorInfo" resultType="com.njcn.event.pojo.po.PmsMonitorPO">
SELECT
id,
`Name`,
Org_Name AS orgName,
Org_Id AS orgId,
Operation_Name AS operationName,
Operation_Id AS operationId,
Powerr_Name AS powerrName,
Powerr_Id AS powerrId,
Generatrix_Name AS generatrixName,
Generatrix_Id AS generatrixId
FROM
pms_monitor
WHERE
Org_Id IN
<foreach collection="deptIds" item="item" open="(" close=")" separator="," >
#{item}
</foreach>
</select>
</mapper>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.event.mapper.RStatEventOrgMapper">
<sql id="query_rStatEventOrg_field">
rso.org_no AS orgNo,
rso.data_date AS dataDate,
rso.effective_measurement_average AS effectiveMeasurementAverage,
rso.effective_measurement_accrued AS effectiveMeasurementAccrued,
rso.event_measurement_average AS eventMeasurementAverage,
rso.event_measurement_accrued AS eventMeasurementAccrued,
rseo.event_type,
rseo.event_measurement_average AS eEventMeasurementAverage,
rseo.event_measurement_accrued AS eEventMeasurementAccrued,
rseo.event_measurement_ratio_average AS eEventMeasurementRatioAverage,
rseo.event_measurement_ratio_accrued AS eEventMeasurementRatioAccrued,
rseo.event_freq AS eventFreq,
rseo.event_count as eventCount
</sql>
<sql id="query_rStatEventOrg_where">
rso.org_no IN
<foreach collection="deptIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT(rso.data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{startTime}, '%Y-%m-%d')
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT(rso.data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime}, '%Y-%m-%d')
</if>
</sql>
<!--指标分类统计表-->
<select id="getYearRStatEventOrgInfo" resultType="com.njcn.event.pojo.vo.RStatEventOrgVO">
SELECT
<include refid="query_rStatEventOrg_field"></include>
FROM
r_stat_org_y AS rso
LEFT JOIN r_stat_event_org_y AS rseo ON rso.org_no = rseo.org_no
WHERE
<include refid="query_rStatEventOrg_where"></include>
</select>
<!--获取季区域暂态指标分类统计表-->
<select id="getQuarterRStatEventOrgInfo" resultType="com.njcn.event.pojo.vo.RStatEventOrgVO">
SELECT
<include refid="query_rStatEventOrg_field"></include>
FROM
r_stat_org_q AS rso
LEFT JOIN r_stat_event_org_q AS rseo ON rso.org_no = rseo.org_no
WHERE
<include refid="query_rStatEventOrg_where"></include>
</select>
<!--获取月区域暂态指标分类统计表-->
<select id="getMonthRStatEventOrgInfoInfo" resultType="com.njcn.event.pojo.vo.RStatEventOrgVO">
SELECT
<include refid="query_rStatEventOrg_field"></include>
FROM
r_stat_org_m AS rso
LEFT JOIN r_stat_event_org_m AS rseo ON rso.org_no = rseo.org_no
WHERE
<include refid="query_rStatEventOrg_where"></include>
</select>
</mapper>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.event.mapper.RStatOrgMapper">
<sql id="query_where">
org_no IN
<foreach collection="deptIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{startTime}, '%Y-%m-%d')
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime}, '%Y-%m-%d')
</if>
</sql>
<sql id="query_field">
org_no AS orgNo,
data_date AS dataDate,
effective_measurement_average AS effectiveMeasurementAverage,
effective_measurement_accrued AS effectiveMeasurementAccrued,
event_measurement_average AS eventMeasurementAverage,
event_measurement_accrued AS eventMeasurementAccrued,
event_count AS eventCount,
event_freq AS eventFreq
</sql>
<!--获取年区域暂态指标统计-->
<select id="getYearRStatOrgInfo" resultType="com.njcn.event.pojo.vo.RStatOrgVO">
SELECT
<include refid="query_field"></include>
FROM
r_stat_org_y
WHERE
<include refid="query_where"></include>
</select>
<!--获取季区域暂态指标统计-->
<select id="getQuarterRStatOrgInfo" resultType="com.njcn.event.pojo.vo.RStatOrgVO">
SELECT
<include refid="query_field"></include>
FROM
r_stat_org_q
WHERE
<include refid="query_where"></include>
</select>
<!--获取月区域暂态指标统计-->
<select id="getMonthRStatOrgInfo" resultType="com.njcn.event.pojo.vo.RStatOrgVO">
SELECT
<include refid="query_field"></include>
FROM
r_stat_org_m
WHERE
<include refid="query_where"></include>
</select>
</mapper>

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.event.mapper.RStatSubstationMapper">
<sql id="query_field">
substation_id AS substationId,
data_date AS dataDate,
effective_measurement_average AS effectiveMeasurementAverage,
effective_measurement_accrued AS effectiveMeasurementAccrued,
event_count AS eventCount,
event_freq AS eventFreq,
interrupt_count AS interruptCount,
interrupt_freq AS interruptFreq,
swell_count AS swellCount,
swell_freq AS swellFreq,
sag_count AS sagCount,
sag_freq AS sagFreq
</sql>
<sql id="query_where">
substation_id IN
<foreach collection="powerrIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT( data_date,'%Y-%m-%d') &gt;= DATE_FORMAT(#{startTime},'%Y-%m-%d')
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT( data_date,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if>
</sql>
<!--获取年变电站暂态指标分类统计表-->
<select id="getYearInfo" resultType="com.njcn.event.pojo.vo.RStatSubstationVO">
SELECT
<include refid="query_field"></include>
FROM
r_stat_substation_y
WHERE
<include refid="query_where"></include>
</select>
<!--获取季变电站暂态指标分类统计表-->
<select id="getQuarterInfo" resultType="com.njcn.event.pojo.vo.RStatSubstationVO">
SELECT
<include refid="query_field"></include>
FROM
r_stat_substation_q
WHERE
<include refid="query_where"></include>
</select>
<!--获取月变电站暂态指标分类统计表-->
<select id="getMonthInfo" resultType="com.njcn.event.pojo.vo.RStatSubstationVO">
SELECT
<include refid="query_field"></include>
FROM
r_stat_substation_m
WHERE
<include refid="query_where"></include>
</select>
</mapper>

View File

@@ -0,0 +1,4 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.event.mapper.RmpEventDetailMapper">
</mapper>

View File

@@ -35,4 +35,4 @@ public interface EventDetailService {
* 根据监测点集合以及分页信息获取暂降事件
*/
List<EventDetail> getEventDetailLimit(List<String> lineIndexes, String startTime, String endTime, Integer pageSize, Integer pageNum);
}
}

View File

@@ -5,6 +5,7 @@ import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.abel533.echarts.code.X;
import com.njcn.common.config.GeneralInfo;
import com.njcn.common.pojo.dto.wave.WaveDataDTO;
import com.njcn.common.pojo.exception.BusinessException;

View File

@@ -0,0 +1,71 @@
package com.njcn.event.service.Impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.event.mapper.PmsMonitorMapper;
import com.njcn.event.mapper.RmpEventDetailMapper;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.PmsMonitorPO;
import com.njcn.event.pojo.vo.RStatOrgVO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import com.njcn.event.pojo.vo.RmpEventDetailVO;
import com.njcn.event.service.RmpEventDetailService;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 暂态事件明细
*
* @author yzh
* @date 2022/10/12
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper, RmpEventDetailVO> implements RmpEventDetailService {
private final RmpEventDetailMapper rmpEventDetailMapper;
private final DeptFeignClient deptFeignClient;
private final PmsMonitorMapper pmsMonitorMapper;
/**
* 获取暂态事件明细
*
* @param param 前端参数
* @return 暂态事件明细
*/
@Override
public List<RmpEventDetailVO> getRmpEventDetail(UniversalFrontEndParam param) {
// 获取当前用户的部门的子部门信息
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
if (CollectionUtil.isNotEmpty(data)) {
//创建返回集合
List<RmpEventDetailVO> info = new ArrayList<>();
// 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
// 根据部门id查询监测点id
List<PmsMonitorPO> monitorInfo = pmsMonitorMapper.getMonitorInfo(deptIds);
return info;
} else {
return new ArrayList<>();
}
}
}

View File

@@ -0,0 +1,334 @@
package com.njcn.event.service.Impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.njcn.event.mapper.PmsMonitorMapper;
import com.njcn.event.mapper.RStatEventOrgMapper;
import com.njcn.event.mapper.RStatOrgMapper;
import com.njcn.event.mapper.RStatSubstationMapper;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.PmsMonitorPO;
import com.njcn.event.pojo.vo.RStatEventOrgVO;
import com.njcn.event.pojo.vo.RStatOrgVO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import com.njcn.event.service.StatisticsOfTransientIndicatorssService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 暂态指标统计
*
* @author yzh
* @date 2022/10/10
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOfTransientIndicatorssService {
private final DeptFeignClient deptFeignClient;
private final DicDataFeignClient dicDataFeignClient;
private final RStatOrgMapper rStatOrgMapper;
private final RStatEventOrgMapper rStatEventOrgMapper;
private final RStatSubstationMapper rStatSubstationMapper;
private final PmsMonitorMapper pmsMonitorMapper;
/**
* 获取区域暂态指标统计
*
* @param param 前端参数
* @return 区域暂态指标统计
*/
@Override
public List<RStatOrgVO> getRStatOrg(UniversalFrontEndParam param) {
// 获取当前用户的部门的子部门信息
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
if (CollectionUtil.isNotEmpty(data)) {
// 创建返回集合
List<RStatOrgVO> info = new ArrayList<>();
// 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
// 类型1年 2季度 3月份 4日
switch (param.getType()) {
case 1:
// 获取年区域暂态指标统计
info = rStatOrgMapper.getYearRStatOrgInfo(deptIds, param.getStartTime(), param.getEndTime());
break;
case 2:
// 获取季区域暂态指标统计
info = rStatOrgMapper.getQuarterRStatOrgInfo(deptIds, param.getStartTime(), param.getEndTime());
break;
case 3:
// 获取月区域暂态指标统计
info = rStatOrgMapper.getMonthRStatOrgInfo(deptIds, param.getStartTime(), param.getEndTime());
break;
default:
break;
}
for (RStatOrgVO rStatOrgVO : info) {
rStatOrgVO.setEventMeasurementRatioAverage(rStatOrgVO.getEventMeasurementAverage() / rStatOrgVO.getEffectiveMeasurementAverage());
rStatOrgVO.setEventMeasurementRatioAccrued(rStatOrgVO.getEventMeasurementAccrued() / rStatOrgVO.getEffectiveMeasurementAccrued());
}
// 匹配单位名称
for (DeptDTO dto : data) {
for (RStatOrgVO vo : info) {
if (dto.getId().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
}
}
}
return info;
} else {
return new ArrayList<>();
}
}
/**
* 获取区域暂态指标分类统计表
*
* @param param 前端参数
* @return 区域暂态指标分类统计表
*/
@Override
public List<RStatEventOrgVO> getRStatEventOrg(UniversalFrontEndParam param) {
// 获取当前用户的部门的子部门信息
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
if (CollectionUtil.isNotEmpty(data)) {
//创建返回集合
List<RStatEventOrgVO> info = new ArrayList<>();
// 根据暂态指标枚举查询暂态指标
List<DictData> eventStatis = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
List<RStatEventOrgVO> temp = new ArrayList<>();
// 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
// 类型1年 2季度 3月份 4日
switch (param.getType()) {
case 1:
// 获取年区域暂态指标分类统计表
temp = rStatEventOrgMapper.getYearRStatEventOrgInfo(deptIds, param.getStartTime(), param.getEndTime());
break;
case 2:
// 获取季区域暂态指标分类统计表
temp = rStatEventOrgMapper.getQuarterRStatEventOrgInfo(deptIds, param.getStartTime(), param.getEndTime());
break;
case 3:
// 获取月区域暂态指标分类统计表
temp = rStatEventOrgMapper.getMonthRStatEventOrgInfoInfo(deptIds, param.getStartTime(), param.getEndTime());
break;
default:
break;
}
Map<String, List<RStatEventOrgVO>> map = temp
.stream().collect(Collectors.groupingBy(RStatEventOrgVO::getOrgNo));
map.forEach((orgOn, rStatEventOrgVOs) -> {
RStatEventOrgVO rStatEventOrgVO = new RStatEventOrgVO();
// 基础属性赋值
for (RStatEventOrgVO tmp : rStatEventOrgVOs) {
if (rStatEventOrgVO.getOrgNo() == null) {
rStatEventOrgVO.setOrgNo(tmp.getOrgNo());
rStatEventOrgVO.setDataDate(tmp.getDataDate());
rStatEventOrgVO.setEffectiveMeasurementAverage(tmp.getEffectiveMeasurementAverage());
rStatEventOrgVO.setEffectiveMeasurementAccrued(tmp.getEffectiveMeasurementAccrued());
rStatEventOrgVO.setEventMeasurementAverage(tmp.getEventMeasurementAverage());
rStatEventOrgVO.setEventMeasurementAccrued(tmp.getEventMeasurementAccrued());
rStatEventOrgVO.setEventMeasurementRatioAverage(tmp.getEventMeasurementAverage() / tmp.getEffectiveMeasurementAverage());
rStatEventOrgVO.setEventMeasurementRatioAccrued(tmp.getEventMeasurementAccrued() / tmp.getEffectiveMeasurementAccrued());
}
}
for (RStatEventOrgVO tmp : rStatEventOrgVOs) {
// 暂态指标赋值
for (DictData eventStati : eventStatis) {
if (eventStati.getId().equals(tmp.getEventType())) {
if (eventStati.getCode().equals(RStatEventOrgVO.SHORT_INTERRUPTIONS)) {
// 日均短时中断
rStatEventOrgVO.setDayShortInterruptions(tmp.getEEventMeasurementAverage());
// 累计短时中断
rStatEventOrgVO.setCumulativeShortInterruptions(tmp.getEventMeasurementAccrued());
// 日均短时中断占比
rStatEventOrgVO.setDayShortInterruptionsProportion(tmp.getEEventMeasurementRatioAverage());
// 累计短时中断占比
rStatEventOrgVO.setCumulativeShortInterruptionsProportion(tmp.getEEventMeasurementRatioAccrued());
// 短时中断监测点数
rStatEventOrgVO.setShortInterruptionsMonitor(314159);
// 短时中断占比
rStatEventOrgVO.setShortInterruptionsProportion(3.14159);
// 短时中断次数
rStatEventOrgVO.setShortInterruptionsCount(tmp.getEEventCount());
// 短时中断频次
rStatEventOrgVO.setShortInterruptionsFrequency(tmp.getEEventFreq());
} else if (eventStati.getCode().equals(RStatEventOrgVO.VOLTAGE_RISE)) {
// 日均电压暂升
rStatEventOrgVO.setDayVoltageRise(tmp.getEEventMeasurementAverage());
// 累计电压暂升
rStatEventOrgVO.setCumulativeVoltageRise(tmp.getEventMeasurementAccrued());
// 日均电压暂升占比
rStatEventOrgVO.setDayVoltageRiseProportion(tmp.getEEventMeasurementRatioAverage());
// 累计电压暂升占比
rStatEventOrgVO.setCumulativeVoltageRiseProportion(tmp.getEEventMeasurementRatioAccrued());
// 电压暂升占比
rStatEventOrgVO.setVoltageRiseProportion(3.14159);
// 电压暂升次数
rStatEventOrgVO.setVoltageRiseCount(tmp.getEEventCount());
// 电压暂升频次
rStatEventOrgVO.setVoltageRiseFrequency(tmp.getEEventFreq());
} else if (eventStati.getCode().equals(RStatEventOrgVO.VOLTAGE_DIP)) {
// 日均电压暂降
rStatEventOrgVO.setDayVoltageDip(tmp.getEEventMeasurementAverage());
// 累计电压暂降
rStatEventOrgVO.setCumulativeVoltageDip(tmp.getEventMeasurementAccrued());
// 日均电压暂降占比
rStatEventOrgVO.setDayVoltageDipProportion(tmp.getEEventMeasurementRatioAverage());
// 累计电压暂降占比
rStatEventOrgVO.setCumulativeVoltageDipProportion(tmp.getEEventMeasurementRatioAccrued());
// 电压暂升占比
rStatEventOrgVO.setVoltageDipProportion(3.14159);
// 电压暂降次数
rStatEventOrgVO.setVoltageDipCount(tmp.getEEventCount());
// 电压暂降频次
rStatEventOrgVO.setVoltageDipFrequency(tmp.getEEventFreq());
}
}
}
}
info.add(rStatEventOrgVO);
});
// 匹配单位名称
for (DeptDTO dto : data) {
for (RStatEventOrgVO vo : info) {
if (dto.getId().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
}
}
}
return info;
} else {
return new ArrayList<>();
}
}
/**
* 获取变电站暂态指标分类统计表
*
* @param param 前端传入参数
* @return 变电站暂态指标分类统计表
*/
@Override
public List<RStatSubstationVO> getRStatSubstation
(UniversalFrontEndParam param) {
// 获取当前用户的部门的子部门信息
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
if (CollectionUtil.isNotEmpty(data)) {
//创建返回集合
List<RStatSubstationVO> info = new ArrayList<>();
// 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
// 创建集合用于封装查询出的监测点信息
List<PmsMonitorPO> mInfo = new ArrayList<>();
// 根据部门id查询监测点id
List<PmsMonitorPO> monitorInfo = pmsMonitorMapper.getMonitorInfo(deptIds);
// 过滤出变电站id
List<String> powerrIds = new ArrayList<>();
// 判断前端参数是否传入的变电站名称
if (param.getSubName() != null) {
for (PmsMonitorPO po : monitorInfo) {
if (po.getPowerrName().contains(param.getSubName())) {
PmsMonitorPO pmsMonitor = new PmsMonitorPO();
BeanUtils.copyProperties(po,pmsMonitor);
mInfo.add(pmsMonitor);
}
}
powerrIds = mInfo.stream().map(PmsMonitorPO::getPowerrId).collect(Collectors.toList());
}else {
powerrIds = monitorInfo.stream().map(PmsMonitorPO::getPowerrId).collect(Collectors.toList());
}
// 类型1年 2季度 3月份 4日
switch (param.getType()) {
case 1:
// 获取年变电站暂态指标分类统计表
info = rStatSubstationMapper.getYearInfo(powerrIds, param.getStartTime(), param.getEndTime());
break;
case 2:
// 获取季变电站暂态指标分类统计表
info = rStatSubstationMapper.getQuarterInfo(powerrIds, param.getStartTime(), param.getEndTime());
break;
case 3:
// 获取月变电站暂态指标分类统计表
info = rStatSubstationMapper.getMonthInfo(powerrIds, param.getStartTime(), param.getEndTime());
break;
default:
break;
}
// 匹配单位名称
for (RStatSubstationVO vo : info) {
for (PmsMonitorPO pmsMonitor : monitorInfo) {
if (vo.getSubstationId().equals(pmsMonitor.getPowerrId())) {
vo.setDeptId(pmsMonitor.getOrgId());
vo.setDeptName(pmsMonitor.getOrgName());
vo.setSubstationName(pmsMonitor.getPowerrName());
}
}
}
return info;
} else {
return new ArrayList<>();
}
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.event.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.vo.RmpEventDetailVO;
import java.util.List;
/**
* 暂态事件明细
*
* @author yzh
* @date 2022/10/12
*/
public interface RmpEventDetailService extends IService<RmpEventDetailVO> {
/**
* 获取暂态事件明细
* @param param 前端参数
* @return 暂态事件明细
*/
List<RmpEventDetailVO> getRmpEventDetail(UniversalFrontEndParam param);
}

View File

@@ -0,0 +1,41 @@
package com.njcn.event.service;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.vo.RStatEventOrgVO;
import com.njcn.event.pojo.vo.RStatOrgVO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import java.util.List;
/**
* 暂态指标统计
*
* @author yzh
* @date 2022/10/10
*/
public interface StatisticsOfTransientIndicatorssService{
/**
* 获取区域暂态指标统计
*
* @param param 前端参数
* @return 获取区域暂态指标统计
*/
List<RStatOrgVO> getRStatOrg(UniversalFrontEndParam param);
/**
* 获取区域暂态指标分类统计表
* @param param 前端参数
* @return 区域暂态指标分类统计表
*/
List<RStatEventOrgVO> getRStatEventOrg(UniversalFrontEndParam param);
/**
* 获取变电站暂态指标分类统计表
*
* @param param 前端传入参数
* @return 变电站暂态指标分类统计表
*/
List<RStatSubstationVO> getRStatSubstation(UniversalFrontEndParam param);
}