diff --git a/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java b/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java index 996dba793..bba21f7bc 100644 --- a/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java +++ b/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java @@ -17,6 +17,8 @@ public enum ProcessResponseEnum { */ PROCESS_COMMON_ERROR("A00550","监督管理模块异常"), UPLOAD_FILE_ERROR("A00551","上传文件服务器错误,请检查数据"), + ARCHIVE_ERROR("A00552","不满足归档调节,操作失败!"), + PROCESS_ERROR("A00553","当前流程未审核通过,操作失败!"), ; private final String code; diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/AbnormalParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/AbnormalParam.java new file mode 100644 index 000000000..d675899e0 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/param/AbnormalParam.java @@ -0,0 +1,34 @@ +package com.njcn.process.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 运维异常问题Param + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 10:47 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class AbnormalParam extends IssuesParam { + + @ApiModelProperty(name = "abnormalDevName",value = "异常设备名称") + @NotNull(message = "异常设备名称不可为空") + private String abnormalDevName; + + @ApiModelProperty(name = "abnormalDevTime",value = "发现异常时间") + @NotNull(message = "发现异常时间不可为空") + private String abnormalDevTime; + + @ApiModelProperty(name = "abnormalTarget",value = "异常指标") + @NotNull(message = "异常指标不可为空") + private String abnormalTarget; + + @ApiModelProperty(name = "eventDescription",value = "事件描述") + @NotNull(message = "事件描述不可为空") + private String eventDescription; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/ComplaintParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/ComplaintParam.java new file mode 100644 index 000000000..204fabad9 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/param/ComplaintParam.java @@ -0,0 +1,46 @@ +package com.njcn.process.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 用户投诉Param + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 10:40 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ComplaintParam extends IssuesParam { + + @ApiModelProperty(name = "userType",value = "用户类别") + @NotNull(message = "用户类别不可为空") + private String userType; + + @ApiModelProperty(name = "userNo",value = "用户编号") + @NotNull(message = "用户编号不可为空") + private String userNo; + + @ApiModelProperty(name = "userName",value = "用户名称") + @NotNull(message = "用户类别不可为空") + private String userName; + + @ApiModelProperty(name = "complaintContent",value = "投诉内容") + @NotNull(message = "投诉内容不可为空") + private String complaintContent; + + @ApiModelProperty(name = "complaintTime",value = "投诉时间") + @NotNull(message = "投诉时间不可为空") + private String complaintTime; + + @ApiModelProperty(name = "abnormalTarget",value = "异常指标") + @NotNull(message = "异常指标不可为空") + private String abnormalTarget; + + @ApiModelProperty(name = "electricityType",value = "用电类别") + @NotNull(message = "用电类别不可为空") + private String electricityType; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java new file mode 100644 index 000000000..1f3613fd0 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java @@ -0,0 +1,38 @@ +package com.njcn.process.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 在线监测超标问题Param + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 10:30 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ExcessiveParam extends IssuesParam { + + @ApiModelProperty(name = "warnTarget",value = "告警指标") + @NotNull(message = "告警指标不可为空") + private String warnTarget; + + @ApiModelProperty(name = "warnReason",value = "告警原因") + @NotNull(message = "告警原因不可为空") + private String warnReason; + + @ApiModelProperty(name = "substationId",value = "变电站ID") + @NotNull(message = "变电站ID不可为空") + private String substationId; + + @ApiModelProperty(name = "measurementPointId",value = "监测点ID") + @NotNull(message = "监测点ID不可为空") + private String measurementPointId; + + @ApiModelProperty(name = "warnLastTime",value = "告警持续时间") + @NotNull(message = "告警持续时间不可为空") + private String warnLastTime; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/GeneralSurveyParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/GeneralSurveyParam.java new file mode 100644 index 000000000..aa7975224 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/param/GeneralSurveyParam.java @@ -0,0 +1,38 @@ +package com.njcn.process.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 普测超标问题Param + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 10:35 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GeneralSurveyParam extends IssuesParam { + + @ApiModelProperty(name = "substationId",value = "变电站ID") + @NotNull(message = "变电站ID不可为空") + private String substationId; + + @ApiModelProperty(name = "busBarId",value = "母线ID") + @NotNull(message = "母线ID不可为空") + private String busBarId; + + @ApiModelProperty(name = "measurementPointId",value = "监测点ID") + @NotNull(message = "监测点ID不可为空") + private String measurementPointId; + + @ApiModelProperty(name = "overLimitTarget",value = "超标指标") + @NotNull(message = "超标指标不可为空") + private String overLimitTarget; + + @ApiModelProperty(name = "planName",value = "普测计划名称") + @NotNull(message = "普测计划名称不可为空") + private String planName; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/IssuesParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/IssuesParam.java new file mode 100644 index 000000000..eeca60840 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/param/IssuesParam.java @@ -0,0 +1,41 @@ +package com.njcn.process.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 填报问题Param + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 10:13 + */ +@Data +public class IssuesParam { + + @ApiModelProperty(name = "orgNo",value = "单位ID") + @NotNull(message = "单位不可为空") + private String orgNo; + + @ApiModelProperty(name = "powerQualityProblemNo",value = "电能质量问题编号") + @NotNull(message = "电能质量问题编号不可为空") + private String powerQualityProblemNo; + + @ApiModelProperty(name = "problemName",value = "问题名称") + @NotNull(message = "问题名称不可为空") + private String problemName; + + @ApiModelProperty(name = "problemSources",value = "问题来源") + @NotNull(message = "问题来源不可为空") + private String problemSources; + + @ApiModelProperty(name = "reportProcessContent",value = "填报内容") + private String reportProcessContent; + + + + + + +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/ProcessParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/ProcessParam.java new file mode 100644 index 000000000..6988804a8 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/param/ProcessParam.java @@ -0,0 +1,73 @@ +package com.njcn.process.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/15 15:39 + */ +@Data +public class ProcessParam { + + @ApiModelProperty(name = "powerQualityProblemNo",value = "电能质量问题编号") + @NotNull(message = "电能质量问题编号不可为空") + private String powerQualityProblemNo; + + @ApiModelProperty(name = "reportProcessContentYyfx",value = "电网侧原因") + private String reportProcessContentYyfx; + + @ApiModelProperty(name = "userReportProcessContentYyfx",value = "用户侧原因") + private String userReportProcessContentYyfx; + + @ApiModelProperty(name = "powerGridAffectDev",value = "电网侧受影响设备") + private String powerGridAffectDev; + + @ApiModelProperty(name = "userAffectDev",value = "用户侧受影响设备") + private String userAffectDev; + + @ApiModelProperty(name = "eventDescriptionYyfx",value = "事件描述") + private String eventDescriptionYyfx; + + @ApiModelProperty(name = "fileNameYyfx",value = "原因分析报告文件名称") + private String fileNameYyfx; + + @ApiModelProperty(name = "filePathYyfx",value = "原因分析报告文件路径") + private String filePathYyfx; + + @ApiModelProperty(name = "reportProcessContentYyfx",value = "电网侧整改治理措施") + private String reportProcessContentJhzg; + + @ApiModelProperty(name = "userReportProcessContentJhzg",value = "用户侧整改治理措施") + private String userReportProcessContentJhzg; + + @ApiModelProperty(name = "fileNameJhzg",value = "计划整改文件名称") + private String fileNameJhzg; + + @ApiModelProperty(name = "filePathJhzg",value = "计划整改文件路径") + private String filePathJhzg; + + @ApiModelProperty(name = "reportProcessContentSjcq",value = "电网侧实际采取措施") + private String reportProcessContentSjcq; + + @ApiModelProperty(name = "userReportProcessContentSjcq",value = "用户侧实际采取措施") + private String userReportProcessContentSjcq; + + @ApiModelProperty(name = "fileNameSjcq",value = "实际采取措施报告文件名称") + private String fileNameSjcq; + + @ApiModelProperty(name = "filePathSjcq",value = "实际采取措施报告文件路径") + private String filePathSjcq; + + @ApiModelProperty(name = "descriptionZlxg",value = "成效分析概述") + private String descriptionZlxg; + + @ApiModelProperty(name = "fileNameZlxg",value = "成效分析报告文件名称") + private String fileNameZlxg; + + @ApiModelProperty(name = "filePathZlxg",value = "成效分析报告文件路径") + private String filePathZlxg; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/QueryIssuesParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/QueryIssuesParam.java new file mode 100644 index 000000000..f534e5e13 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/param/QueryIssuesParam.java @@ -0,0 +1,40 @@ +package com.njcn.process.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 14:49 + */ +@Data +public class QueryIssuesParam { + + @ApiModelProperty(name = "orgNo",value = "所属单位") + private String orgNo; + + @ApiModelProperty(name = "problemSources",value = "问题来源") + private String problemSources; + + @ApiModelProperty(name = "reportProcess",value = "填报进度") + private String reportProcess; + + @ApiModelProperty(name = "reportProcessStatus",value = "审核状态") + private String reportProcessStatus; + + @ApiModelProperty(name = "problemName",value = "问题名称") + private String problemName; + + @ApiModelProperty(name = "dataType",value = "时间类型(年:1;季:2;月:3)") + private Integer dataType; + + @ApiModelProperty(name = "dataDate",value = "问题发生记录时间") + private String dataDate; + + @ApiModelProperty(name = "pageNum",value = "页码") + private Integer pageNum; + + @ApiModelProperty(name = "pageSize",value = "页面尺寸") + private Integer pageSize; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RMpElectricQualityProblemFlowDetails.java b/process-api/src/main/java/com/njcn/process/pojo/po/RMpElectricQualityProblemFlowDetails.java new file mode 100644 index 000000000..02914eedf --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RMpElectricQualityProblemFlowDetails.java @@ -0,0 +1,129 @@ +package com.njcn.process.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 电能质量问题流程详情表 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +@Data +@TableName("r_mp_electric_quality_problem_flow_details") +public class RMpElectricQualityProblemFlowDetails implements Serializable { + + private static final long serialVersionUID = 9178900090120554888L; + + /** + * 电能质量问题编号 + */ + private String powerQualityProblemNo; + + /** + * 原因分析问题填报时间 + */ + private LocalDateTime dataDateYyfx; + + /** + * 原因分析电网侧填报内容,字典表(风电场) + */ + private String reportProcessContentYyfx; + + /** + * 原因分析用户侧填报内容,字典表(风电场) + */ + private String userReportProcessContentYyfx; + + /** + * 原因分析事件描述 + */ + private String eventDescriptionYyfx; + + /** + * 原因分析文件名称 + */ + private String fileNameYyfx; + + /** + * 原因分析文件路径 + */ + private String filePathYyfx; + + /** + * 计划整改问题填报时间 + */ + private LocalDateTime dataDateJhzg; + + /** + * 计划整改电网侧填报内容,字典表(风电场) + */ + private String reportProcessContentJhzg; + + /** + * 计划整改用户侧填报内容,字典表(风电场) + */ + private String userReportProcessContentJhzg; + + /** + * 计划整改文件名称 + */ + private String fileNameJhzg; + + /** + * 计划整改文件路径 + */ + private String filePathJhzg; + + /** + * 实际采取问题填报时间 + */ + private LocalDateTime dataDateSjcq; + + /** + * 实际采取电网侧填报内容,字典表(风电场) + */ + private String reportProcessContentSjcq; + + /** + * 实际采取用户侧填报内容,字典表(风电场) + */ + private String userReportProcessContentSjcq; + + /** + * 实际采取文件名称 + */ + private String fileNameSjcq; + + /** + * 实际采取文件路径 + */ + private String filePathSjcq; + + /** + * 治理效果问题填报时间 + */ + private LocalDateTime dataDateZlxg; + + /** + * 治理效果事件描述 + */ + private String descriptionZlxg; + + /** + * 治理效果文件名称 + */ + private String fileNameZlxg; + + /** + * 治理效果文件路径 + */ + private String filePathZlxg; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RMpGeneralSurveyOverproofProblem.java b/process-api/src/main/java/com/njcn/process/pojo/po/RMpGeneralSurveyOverproofProblem.java new file mode 100644 index 000000000..2ccd33bfd --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RMpGeneralSurveyOverproofProblem.java @@ -0,0 +1,59 @@ +package com.njcn.process.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 普测超标问题详情表 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +@Data +@TableName("r_mp_general_survey_overproof_problem") +public class RMpGeneralSurveyOverproofProblem implements Serializable { + + private static final long serialVersionUID = 8919697054130246792L; + + /** + * 电能质量问题编号 + */ + private String powerQualityProblemNo; + + /** + * 变电站ID + */ + private String substationId; + + /** + * 母线ID + */ + private String busbarId; + + /** + * 监测点ID + */ + private String measurementPointId; + + /** + * 问题发生记录时间 + */ + private LocalDateTime dataDate; + + /** + * 超标指标 + */ + private String overLimitTarget; + + /** + * 普测计划名称 + */ + private String planName; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java b/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java new file mode 100644 index 000000000..ef7be9f20 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java @@ -0,0 +1,120 @@ +package com.njcn.process.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; + +/** + *

+ * 在线监测超标问题详情表 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +@TableName("r_mp_online_monitor_overproof_problem") +public class RMpOnlineMonitorOverproofProblem implements Serializable { + + private static final long serialVersionUID = 3162750613976845195L; + + /** + * 电能质量问题编号 + */ + @TableId(value = "power_quality_problem_no", type = IdType.AUTO) + private String powerQualityProblemNo; + + /** + * 告警指标 + */ + private String warnTarget; + + /** + * 告警原因 + */ + private String warnReason; + + /** + * 变电站ID + */ + private String substationId; + + /** + * 监测点ID + */ + private String measurementPointId; + + /** + * 操作时间 + */ + private LocalDateTime dataDate; + + /** + * 告警持续时间 + */ + private String warnLastTime; + + public String getPowerQualityProblemNo() { + return powerQualityProblemNo; + } + + public void setPowerQualityProblemNo(String powerQualityProblemNo) { + this.powerQualityProblemNo = powerQualityProblemNo; + } + public String getWarnTarget() { + return warnTarget; + } + + public void setWarnTarget(String warnTarget) { + this.warnTarget = warnTarget; + } + public String getWarnReason() { + return warnReason; + } + + public void setWarnReason(String warnReason) { + this.warnReason = warnReason; + } + public String getSubstationId() { + return substationId; + } + + public void setSubstationId(String substationId) { + this.substationId = substationId; + } + public String getMeasurementPointId() { + return measurementPointId; + } + + public void setMeasurementPointId(String measurementPointId) { + this.measurementPointId = measurementPointId; + } + public LocalDateTime getDataDate() { + return dataDate; + } + + public void setDataDate(LocalDateTime dataDate) { + this.dataDate = dataDate; + } + public String getWarnLastTime() { + return warnLastTime; + } + + public void setWarnLastTime(String warnLastTime) { + this.warnLastTime = warnLastTime; + } + + @Override + public String toString() { + return "RMpOnlineMonitorOverproofProblem{" + + "powerQualityProblemNo=" + powerQualityProblemNo + + ", warnTarget=" + warnTarget + + ", warnReason=" + warnReason + + ", substationId=" + substationId + + ", measurementPointId=" + measurementPointId + + ", dataDate=" + dataDate + + ", warnLastTime=" + warnLastTime + + "}"; + } +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RMpOperationMonitorAbnormal.java b/process-api/src/main/java/com/njcn/process/pojo/po/RMpOperationMonitorAbnormal.java new file mode 100644 index 000000000..4149a32b0 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RMpOperationMonitorAbnormal.java @@ -0,0 +1,64 @@ +package com.njcn.process.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 运维监控异常详情表 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +@Data +@TableName("r_mp_operation_monitor_abnormal") +public class RMpOperationMonitorAbnormal implements Serializable { + + private static final long serialVersionUID = 8875641972721431859L; + + /** + * 电能质量问题编号 + */ + private String powerQualityProblemNo; + + /** + * 异常设备名称 + */ + private String abnormalDevName; + + /** + * 发现异常时间 + */ + private LocalDateTime abnormalDevTime; + + /** + * 异常指标 + */ + private String abnormalTarget; + + /** + * 事件描述 + */ + private String eventDescription; + + /** + * 问题发生记录时间 + */ + private LocalDateTime dataDate; + + /** + * 电网侧受影响设备 + */ + private String powerGridAffectDev; + + /** + * 用户侧受影响设备 + */ + private String userAffectDev; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RMpUserComplaint.java b/process-api/src/main/java/com/njcn/process/pojo/po/RMpUserComplaint.java new file mode 100644 index 000000000..7cec190a8 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RMpUserComplaint.java @@ -0,0 +1,79 @@ +package com.njcn.process.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 用户投诉详情表 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +@Data +@TableName("r_mp_user_complaint") +public class RMpUserComplaint implements Serializable { + + private static final long serialVersionUID = 3262855544539938372L; + + /** + * 电能质量问题编号 + */ + private String powerQualityProblemNo; + + /** + * 用户类别 + */ + private String userType; + + /** + * 用户编号 + */ + private String userNo; + + /** + * 用户名称 + */ + private String userName; + + /** + * 投诉内容 + */ + private String complaintContent; + + /** + * 投诉时间 + */ + private LocalDateTime complaintTime; + + /** + * 异常指标 + */ + private String abnormalTarget; + + /** + * 问题发生记录时间 + */ + private LocalDateTime dataDate; + + /** + * 用电类别 + */ + private String electricityType; + + /** + * 电网侧受影响设备 + */ + private String powerGridAffectDev; + + /** + * 用户侧受影响设备 + */ + private String userAffectDev; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RStatElectricQualityProblemFlow.java b/process-api/src/main/java/com/njcn/process/pojo/po/RStatElectricQualityProblemFlow.java new file mode 100644 index 000000000..079fd3ada --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RStatElectricQualityProblemFlow.java @@ -0,0 +1,74 @@ +package com.njcn.process.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 电能质量问题流程表 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +@Data +@TableName("r_stat_electric_quality_problem_flow") +public class RStatElectricQualityProblemFlow implements Serializable { + + private static final long serialVersionUID = -2613309615015237749L; + + /** + * 单位id + */ + private String orgNo; + + /** + * 电能质量问题编号 + */ + private String powerQualityProblemNo; + + /** + * 问题发生记录时间 + */ + private LocalDateTime dataDate; + + /** + * 流程开始时间 + */ + private LocalDateTime startTime; + + /** + * 填报更新时间 + */ + private LocalDateTime updateTime; + + /** + * 问题来源(在线监测告警、普测超标、用户投诉、设备异常) + */ + private String problemSources; + + /** + * 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档) + */ + private String reportProcess; + + /** + * 审核状态 (0:待审核 2:审核通过 3:已驳回) + */ + private String reportProcessStatus; + + /** + * 填报内容,字典表(风电场) + */ + private String reportProcessContent; + + /** + * 问题名称 + */ + private String problemName; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/AbnormalVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/AbnormalVO.java new file mode 100644 index 000000000..bb9beb9ef --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/AbnormalVO.java @@ -0,0 +1,43 @@ +package com.njcn.process.pojo.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/18 10:32 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class AbnormalVO extends ProcessVO implements Serializable { + + private static final long serialVersionUID = -8022287041427540079L; + + /** + * 异常设备名称 + */ + private String abnormalDevName; + + /** + * 发现异常时间 + */ + private String abnormalDevTime; + + /** + * 设备异常描述 + */ + private String eventDescription; + + /** + * 稳态指标 + */ + private String steadyIndicator; + + /** + * 暂态指标 + */ + private String transientIndicators; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/ComplaintVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/ComplaintVO.java new file mode 100644 index 000000000..25ce71db6 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/ComplaintVO.java @@ -0,0 +1,49 @@ +package com.njcn.process.pojo.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/18 10:29 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ComplaintVO extends ProcessVO implements Serializable { + + private static final long serialVersionUID = 9158479795790063533L; + + /** + * 投诉用户名称 + */ + private String userName; + + /** + * 投诉用户编号 + */ + private String userNo; + + /** + * 投诉时间 + */ + private String complaintTime; + + /** + * 投诉内容 + */ + private String complaintContent; + + /** + * 稳态指标 + */ + private String steadyIndicator; + + /** + * 暂态指标 + */ + private String transientIndicators; + +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/ExcessiveDetailVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/ExcessiveDetailVO.java new file mode 100644 index 000000000..c1b1a424d --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/ExcessiveDetailVO.java @@ -0,0 +1,63 @@ +package com.njcn.process.pojo.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/15 14:20 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ExcessiveDetailVO extends ProcessVO implements Serializable { + + private static final long serialVersionUID = 8148172081938274507L; + + /** + * 变电站ID + */ + private String substationId; + + /** + * 所属变电站 + */ + private String substationName; + + /** + * 母线ID + */ + private String busBarId; + + /** + * 所属母线 + */ + private String busBarName; + + /** + * 监测点ID + */ + private String measurementPointId; + + /** + * 监测点名称 + */ + private String measurementPointName; + + /** + * 告警持续时间 + */ + private String warnLastTime; + + /** + * 告警指标 + */ + private String warnTarget; + + /** + * 告警原因 + */ + private String warnReason; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/GeneralSurveyVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/GeneralSurveyVO.java new file mode 100644 index 000000000..281322465 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/GeneralSurveyVO.java @@ -0,0 +1,53 @@ +package com.njcn.process.pojo.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/18 10:18 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GeneralSurveyVO extends ProcessVO implements Serializable { + + private static final long serialVersionUID = -2492655246455534163L; + + /** + * 普测计划名称 + */ + private String planName; + + /** + * 变电站ID + */ + private String substationId; + + /** + * 所属变电站 + */ + private String substationName; + + /** + * 母线ID + */ + private String busBarId; + + /** + * 所属母线 + */ + private String busBarName; + + /** + * 稳态指标 + */ + private String steadyIndicator; + + /** + * 暂态指标 + */ + private String transientIndicators; +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/IssuesVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/IssuesVO.java new file mode 100644 index 000000000..e95f6678a --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/IssuesVO.java @@ -0,0 +1,58 @@ +package com.njcn.process.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 15:26 + */ +@Data +public class IssuesVO implements Serializable { + + private static final long serialVersionUID = 3404206127125677291L; + + /** + * 单位ID + */ + private String orgNo; + + /** + * 所属单位 + */ + private String orgName; + + /** + * 问题来源(在线监测告警、普测超标、用户投诉、设备异常) + */ + private String problemSources; + + /** + * 电能质量问题编号 + */ + private String powerQualityProblemNo; + + /** + * 问题名称 + */ + private String problemName; + + /** + * 问题发生记录时间 + */ + private LocalDateTime dataDate; + + /** + * 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档) + */ + private String reportProcess; + + /** + * 审核状态 (0:待审核 2:审核通过 3:已驳回) + */ + private String reportProcessStatus; + +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/ProcessVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/ProcessVO.java new file mode 100644 index 000000000..6e64e9c15 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/ProcessVO.java @@ -0,0 +1,136 @@ +package com.njcn.process.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/18 9:21 + */ +@Data +public class ProcessVO implements Serializable { + + private static final long serialVersionUID = 5482941481503051977L; + + /** + * 单位ID + */ + private String orgNo; + + /** + * 所属单位 + */ + private String orgName; + + /** + * 问题来源(在线监测告警、普测超标、用户投诉、设备异常) + */ + private String problemSources; + + /** + * 问题名称 + */ + private String problemName; + + /** + * 电能质量问题编号 + */ + private String powerQualityProblemNo; + + /** + * 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档) + */ + private String reportProcess; + + /** + * 电网侧原因 + */ + private String reportProcessContentYyfx; + + /** + * 用户侧原因 + */ + private String userReportProcessContentYyfx; + + /** + * 电网侧受影响设备 + */ + private String powerGridAffectDev; + + /** + * 用户侧受影响设备 + */ + private String userAffectDev; + + /** + * 事件描述 + */ + private String eventDescriptionYyfx; + + /** + * 原因分析报告文件名称 + */ + private String fileNameYyfx; + + /** + * 原因分析报告文件路径 + */ + private String filePathYyfx; + + /** + * 电网侧整改治理措施 + */ + private String reportProcessContentJhzg; + + /** + * 用户侧整改治理措施 + */ + private String userReportProcessContentJhzg; + + /** + * 计划整改文件名称 + */ + private String fileNameJhzg; + + /** + * 计划整改文件路径 + */ + private String filePathJhzg; + + /** + * 电网侧实际采取措施 + */ + private String reportProcessContentSjcq; + + /** + * 用户侧实际采取措施 + */ + private String userReportProcessContentSjcq; + + /** + * 实际采取措施报告文件名称 + */ + private String fileNameSjcq; + + /** + * 实际采取措施报告文件路径 + */ + private String filePathSjcq; + + /** + * 成效分析概述 + */ + private String descriptionZlxg; + + /** + * 成效分析报告文件名称 + */ + private String fileNameZlxg; + + /** + * 成效分析报告文件路径 + */ + private String filePathZlxg; +} diff --git a/process-boot/src/main/java/com/njcn/process/controller/ElectricityQualityIssuesController.java b/process-boot/src/main/java/com/njcn/process/controller/ElectricityQualityIssuesController.java new file mode 100644 index 000000000..f01b7679a --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/controller/ElectricityQualityIssuesController.java @@ -0,0 +1,190 @@ +package com.njcn.process.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +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.minio.bo.MinIoUploadResDTO; +import com.njcn.process.pojo.param.*; +import com.njcn.process.pojo.vo.*; +import com.njcn.process.service.IssuesService; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +/** + * 电能质量问题 + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 9:18 + */ +@Slf4j +@Api(tags = "电能质量问题") +@RestController +@RequestMapping("/electricityQuality") +@RequiredArgsConstructor +public class ElectricityQualityIssuesController extends BaseController { + + private final IssuesService issuesService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/addExcessiveIssues") + @ApiOperation("填报在线监测超标问题") + @ApiImplicitParam(name = "excessiveParam", value = "参数", required = true) + public HttpResult addExcessiveIssues(@RequestBody @Validated ExcessiveParam excessiveParam){ + String methodDescribe = getMethodDescribe("addExcessiveIssues"); + issuesService.addExcessiveIssues(excessiveParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/addGeneralSurveyIssues") + @ApiOperation("填报普测超标问题") + @ApiImplicitParam(name = "generalSurveyParam", value = "参数", required = true) + public HttpResult addGeneralSurveyIssues(@RequestBody @Validated GeneralSurveyParam generalSurveyParam){ + String methodDescribe = getMethodDescribe("addGeneralSurveyIssues"); + issuesService.addGeneralSurveyIssues(generalSurveyParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/addComplaintIssues") + @ApiOperation("填报用户投诉问题") + @ApiImplicitParam(name = "complaintParam", value = "参数", required = true) + public HttpResult addComplaintIssues(@RequestBody @Validated ComplaintParam complaintParam){ + String methodDescribe = getMethodDescribe("addComplaintIssues"); + issuesService.addComplaintIssues(complaintParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/addAbnormalIssues") + @ApiOperation("填报运维监控异常问题") + @ApiImplicitParam(name = "abnormalParam", value = "参数", required = true) + public HttpResult addAbnormalIssues(@RequestBody @Validated AbnormalParam abnormalParam){ + String methodDescribe = getMethodDescribe("addAbnormalIssues"); + issuesService.addAbnormalIssues(abnormalParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getIssues") + @ApiOperation("查询问题列表") + @ApiImplicitParam(name = "queryIssuesParam", value = "参数", required = true) + public HttpResult> getIssues(@RequestBody @Validated QueryIssuesParam queryIssuesParam){ + String methodDescribe = getMethodDescribe("getIssues"); + Page out = issuesService.getIssues(queryIssuesParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getExcessiveDetail") + @ApiOperation("查询在线监测超标问题详情") + @ApiImplicitParam(name = "powerQualityProblemNo", value = "电能质量问题编号", required = true) + public HttpResult getExcessiveDetail(@RequestParam("powerQualityProblemNo") String powerQualityProblemNo){ + String methodDescribe = getMethodDescribe("getExcessiveDetail"); + ExcessiveDetailVO out = issuesService.getExcessiveDetail(powerQualityProblemNo); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getGeneralSurveyDetail") + @ApiOperation("查询普测超标问题详情") + @ApiImplicitParam(name = "powerQualityProblemNo", value = "电能质量问题编号", required = true) + public HttpResult getGeneralSurveyDetail(@RequestParam("powerQualityProblemNo") String powerQualityProblemNo){ + String methodDescribe = getMethodDescribe("getGeneralSurveyDetail"); + GeneralSurveyVO out = issuesService.getGeneralSurveyDetail(powerQualityProblemNo); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getComplaintDetail") + @ApiOperation("查询用户投诉问题详情") + @ApiImplicitParam(name = "powerQualityProblemNo", value = "电能质量问题编号", required = true) + public HttpResult getComplaintDetail(@RequestParam("powerQualityProblemNo") String powerQualityProblemNo){ + String methodDescribe = getMethodDescribe("getComplaintDetail"); + ComplaintVO out = issuesService.getComplaintDetail(powerQualityProblemNo); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAbnormalDetail") + @ApiOperation("查询运维异常问题详情") + @ApiImplicitParam(name = "powerQualityProblemNo", value = "电能质量问题编号", required = true) + public HttpResult getAbnormalDetail(@RequestParam("powerQualityProblemNo") String powerQualityProblemNo){ + String methodDescribe = getMethodDescribe("getAbnormalDetail"); + AbnormalVO out = issuesService.getAbnormalDetail(powerQualityProblemNo); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/reasonAnalysis") + @ApiOperation("原因分析") + @ApiImplicitParam(name = "reasonAnalysisParam", value = "参数", required = true) + public HttpResult reasonAnalysis(@RequestBody @Validated ProcessParam processParam){ + String methodDescribe = getMethodDescribe("reasonAnalysis"); + issuesService.reasonAnalysis(processParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) + @PostMapping("/correctiveAction") + @ApiOperation("计划整改措施") + @ApiImplicitParam(name = "processParam", value = "参数", required = true) + public HttpResult correctiveAction(@RequestBody @Validated ProcessParam processParam){ + String methodDescribe = getMethodDescribe("correctiveAction"); + issuesService.process(processParam, DicDataEnum.PLAN_MEASURES.getCode()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) + @PostMapping("/takeAction") + @ApiOperation("实际采取措施") + @ApiImplicitParam(name = "processParam", value = "参数", required = true) + public HttpResult takeAction(@RequestBody @Validated ProcessParam processParam){ + String methodDescribe = getMethodDescribe("takeAction"); + issuesService.process(processParam, DicDataEnum.ACTUAL_MEASURES.getCode()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) + @PostMapping("/effectAnalysis") + @ApiOperation("成效分析") + @ApiImplicitParam(name = "processParam", value = "参数", required = true) + public HttpResult effectAnalysis(@RequestBody @Validated ProcessParam processParam){ + String methodDescribe = getMethodDescribe("effectAnalysis"); + issuesService.process(processParam, DicDataEnum.INSIGHTS.getCode()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) + @PostMapping("/archive") + @ApiOperation("问题归档") + @ApiImplicitParam(name = "powerQualityProblemNo", value = "电能质量问题编号", required = true) + public HttpResult archive(@RequestParam("powerQualityProblemNo") String powerQualityProblemNo){ + String methodDescribe = getMethodDescribe("archive"); + issuesService.archive(powerQualityProblemNo); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD) + @PostMapping("/uploadFile") + @ApiOperation("上传文件") + @ApiImplicitParam(name = "issuesFile", value = "填报进度文件", required = true) + public HttpResult uploadFile(@RequestPart("issuesFile") MultipartFile issuesFile){ + String methodDescribe = getMethodDescribe("uploadFile"); + MinIoUploadResDTO out = issuesService.uploadFile(issuesFile); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } +} diff --git a/process-boot/src/main/java/com/njcn/process/mapper/RMpElectricQualityProblemFlowDetailsMapper.java b/process-boot/src/main/java/com/njcn/process/mapper/RMpElectricQualityProblemFlowDetailsMapper.java new file mode 100644 index 000000000..9956401f0 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/RMpElectricQualityProblemFlowDetailsMapper.java @@ -0,0 +1,16 @@ +package com.njcn.process.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.process.pojo.po.RMpElectricQualityProblemFlowDetails; + +/** + *

+ * 电能质量问题流程详情表 Mapper 接口 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +public interface RMpElectricQualityProblemFlowDetailsMapper extends BaseMapper { + +} diff --git a/process-boot/src/main/java/com/njcn/process/mapper/RMpGeneralSurveyOverproofProblemMapper.java b/process-boot/src/main/java/com/njcn/process/mapper/RMpGeneralSurveyOverproofProblemMapper.java new file mode 100644 index 000000000..2de56b09a --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/RMpGeneralSurveyOverproofProblemMapper.java @@ -0,0 +1,16 @@ +package com.njcn.process.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.process.pojo.po.RMpGeneralSurveyOverproofProblem; + +/** + *

+ * 普测超标问题详情表 Mapper 接口 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +public interface RMpGeneralSurveyOverproofProblemMapper extends BaseMapper { + +} diff --git a/process-boot/src/main/java/com/njcn/process/mapper/RMpOnlineMonitorOverproofProblemMapper.java b/process-boot/src/main/java/com/njcn/process/mapper/RMpOnlineMonitorOverproofProblemMapper.java new file mode 100644 index 000000000..d9bf51448 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/RMpOnlineMonitorOverproofProblemMapper.java @@ -0,0 +1,16 @@ +package com.njcn.process.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.process.pojo.po.RMpOnlineMonitorOverproofProblem; + +/** + *

+ * 在线监测超标问题详情表 Mapper 接口 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +public interface RMpOnlineMonitorOverproofProblemMapper extends BaseMapper { + +} diff --git a/process-boot/src/main/java/com/njcn/process/mapper/RMpOperationMonitorAbnormalMapper.java b/process-boot/src/main/java/com/njcn/process/mapper/RMpOperationMonitorAbnormalMapper.java new file mode 100644 index 000000000..173c32b90 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/RMpOperationMonitorAbnormalMapper.java @@ -0,0 +1,16 @@ +package com.njcn.process.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.process.pojo.po.RMpOperationMonitorAbnormal; + +/** + *

+ * 运维监控异常详情表 Mapper 接口 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +public interface RMpOperationMonitorAbnormalMapper extends BaseMapper { + +} diff --git a/process-boot/src/main/java/com/njcn/process/mapper/RMpUserComplaintMapper.java b/process-boot/src/main/java/com/njcn/process/mapper/RMpUserComplaintMapper.java new file mode 100644 index 000000000..d6b13e2ad --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/RMpUserComplaintMapper.java @@ -0,0 +1,16 @@ +package com.njcn.process.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.process.pojo.po.RMpUserComplaint; + +/** + *

+ * 用户投诉详情表 Mapper 接口 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +public interface RMpUserComplaintMapper extends BaseMapper { + +} diff --git a/process-boot/src/main/java/com/njcn/process/mapper/RStatElectricQualityProblemFlowMapper.java b/process-boot/src/main/java/com/njcn/process/mapper/RStatElectricQualityProblemFlowMapper.java new file mode 100644 index 000000000..7f94c7891 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/RStatElectricQualityProblemFlowMapper.java @@ -0,0 +1,22 @@ +package com.njcn.process.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.process.pojo.param.QueryIssuesParam; +import com.njcn.process.pojo.po.RStatElectricQualityProblemFlow; +import com.njcn.process.pojo.vo.IssuesVO; +import org.apache.ibatis.annotations.Param; + +/** + *

+ * 电能质量问题流程表 Mapper 接口 + *

+ * + * @author xiaoyao + * @since 2022-11-14 + */ +public interface RStatElectricQualityProblemFlowMapper extends BaseMapper { + + Page getIssues(IPage page, @Param("param") QueryIssuesParam param, @Param("dateBegin") String dateBegin, @Param("dateEnd") String dateEnd); +} diff --git a/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpElectricQualityProblemFlowDetailsMapper.xml b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpElectricQualityProblemFlowDetailsMapper.xml new file mode 100644 index 000000000..d26e25b2e --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpElectricQualityProblemFlowDetailsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpGeneralSurveyOverproofProblemMapper.xml b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpGeneralSurveyOverproofProblemMapper.xml new file mode 100644 index 000000000..2797ded3d --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpGeneralSurveyOverproofProblemMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpOnlineMonitorOverproofProblemMapper.xml b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpOnlineMonitorOverproofProblemMapper.xml new file mode 100644 index 000000000..ad46d6226 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpOnlineMonitorOverproofProblemMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpOperationMonitorAbnormalMapper.xml b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpOperationMonitorAbnormalMapper.xml new file mode 100644 index 000000000..d22c56eb9 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpOperationMonitorAbnormalMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpUserComplaintMapper.xml b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpUserComplaintMapper.xml new file mode 100644 index 000000000..008feda94 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RMpUserComplaintMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/process-boot/src/main/java/com/njcn/process/mapper/mapping/RStatElectricQualityProblemFlowMapper.xml b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RStatElectricQualityProblemFlowMapper.xml new file mode 100644 index 000000000..510311b6f --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/mapper/mapping/RStatElectricQualityProblemFlowMapper.xml @@ -0,0 +1,28 @@ + + + + + + diff --git a/process-boot/src/main/java/com/njcn/process/service/IssuesService.java b/process-boot/src/main/java/com/njcn/process/service/IssuesService.java new file mode 100644 index 000000000..6857a75f8 --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/service/IssuesService.java @@ -0,0 +1,81 @@ +package com.njcn.process.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.minio.bo.MinIoUploadResDTO; +import com.njcn.process.pojo.param.*; +import com.njcn.process.pojo.vo.*; +import org.springframework.web.multipart.MultipartFile; + +/** + * 电能质量问题接口类 + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 10:59 + */ +public interface IssuesService { + + /** + * 填报在线监测超标问题 + */ + void addExcessiveIssues(ExcessiveParam excessiveParam); + + /** + * 填报普测超标问题 + */ + void addGeneralSurveyIssues(GeneralSurveyParam generalSurveyParam); + + /** + * 填报用户投诉问题 + */ + void addComplaintIssues(ComplaintParam complaintParam); + + /** + * 填报运维监控异常问题 + */ + void addAbnormalIssues(AbnormalParam abnormalParam); + + /** + * 查询问题列表 + */ + Page getIssues(QueryIssuesParam queryIssuesParam); + + /** + * 查询在线监测超标问题详情 + */ + ExcessiveDetailVO getExcessiveDetail(String powerQualityProblemNo); + + /** + * 查询普测超标问题详情 + */ + GeneralSurveyVO getGeneralSurveyDetail(String powerQualityProblemNo); + + /** + * 查询用户投诉问题详情 + */ + ComplaintVO getComplaintDetail(String powerQualityProblemNo); + + /** + * 查询运维异常问题详情 + */ + AbnormalVO getAbnormalDetail(String powerQualityProblemNo); + + /** + * 原因分析 + */ + void reasonAnalysis(ProcessParam processParam); + + /** + * 计划整改措施、实际采取措施、成效分析 + */ + void process(ProcessParam processParam, String code); + + /** + * 问题归档 + */ + void archive(String powerQualityProblemNo); + + /** + * 上传文件 + */ + MinIoUploadResDTO uploadFile(MultipartFile issuesFile); +} diff --git a/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java b/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java new file mode 100644 index 000000000..606e0898b --- /dev/null +++ b/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java @@ -0,0 +1,312 @@ +package com.njcn.process.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.minio.bo.MinIoUploadResDTO; +import com.njcn.minio.config.MinIoProperties; +import com.njcn.minio.utils.MinIoUtils; +import com.njcn.process.enums.ProcessResponseEnum; +import com.njcn.process.mapper.*; +import com.njcn.process.pojo.param.*; +import com.njcn.process.pojo.po.*; +import com.njcn.process.pojo.vo.*; +import com.njcn.process.service.IssuesService; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.user.api.DeptFeignClient; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 电能质量问题实现类 + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/14 11:03 + */ +@Slf4j +@Service +@AllArgsConstructor +public class IssuesServiceImpl implements IssuesService { + + private final DeptFeignClient deptFeignClient; + + private final RStatElectricQualityProblemFlowMapper issuesMapper; + + private final RMpOnlineMonitorOverproofProblemMapper excessiveMapper; + + private final RMpGeneralSurveyOverproofProblemMapper generalSurveyMapper; + + private final RMpUserComplaintMapper complaintMapper; + + private final RMpOperationMonitorAbnormalMapper abnormalMapper; + + private final RMpElectricQualityProblemFlowDetailsMapper flowDetailsMapper; + + @Resource + private MinIoUtils minIoUtils; + + @Resource + private MinIoProperties minIoProperties; + + /** + * 新增电能质量问题流程表信息 + */ + private LocalDateTime addIssues(IssuesParam issuesParam){ + RStatElectricQualityProblemFlow issues = new RStatElectricQualityProblemFlow(); + LocalDateTime local = LocalDateTimeUtil.now(); + BeanUtil.copyProperties(issuesParam,issues); + issues.setDataDate(local); + issues.setReportProcess(DicDataEnum.NOT_REPORTED.getCode()); + issues.setReportProcessStatus(DicDataEnum.AUDITT.getCode()); + issuesMapper.insert(issues); + return local; + } + + /** + * 填报在线监测超标问题 + */ + @Override + public void addExcessiveIssues(ExcessiveParam excessiveParam) { + IssuesParam issuesParam = new IssuesParam(); + BeanUtil.copyProperties(excessiveParam,issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam); + RMpOnlineMonitorOverproofProblem excessive = new RMpOnlineMonitorOverproofProblem(); + BeanUtil.copyProperties(excessiveParam,excessive); + excessive.setDataDate(localDateTime); + excessiveMapper.insert(excessive); + } + + /** + * 填报普测超标问题 + */ + @Override + public void addGeneralSurveyIssues(GeneralSurveyParam generalSurveyParam) { + IssuesParam issuesParam = new IssuesParam(); + BeanUtil.copyProperties(generalSurveyParam,issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam); + RMpGeneralSurveyOverproofProblem generalSurvey = new RMpGeneralSurveyOverproofProblem(); + BeanUtil.copyProperties(generalSurveyParam,generalSurvey); + generalSurvey.setDataDate(localDateTime); + generalSurveyMapper.insert(generalSurvey); + } + + /** + * 填报用户投诉问题 + */ + @Override + public void addComplaintIssues(ComplaintParam complaintParam) { + IssuesParam issuesParam = new IssuesParam(); + BeanUtil.copyProperties(complaintParam,issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam); + RMpUserComplaint complaint = new RMpUserComplaint(); + BeanUtil.copyProperties(complaintParam,complaint); + complaint.setDataDate(localDateTime); + complaintMapper.insert(complaint); + } + + /** + * 填报运维监控异常问题 + */ + @Override + public void addAbnormalIssues(AbnormalParam abnormalParam) { + IssuesParam issuesParam = new IssuesParam(); + BeanUtil.copyProperties(abnormalParam,issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam); + RMpOperationMonitorAbnormal abnormal = new RMpOperationMonitorAbnormal(); + BeanUtil.copyProperties(abnormalParam,abnormal); + abnormal.setDataDate(localDateTime); + abnormalMapper.insert(abnormal); + } + + /** + * 查询问题列表 + */ + @Override + public Page getIssues(QueryIssuesParam param) { + IPage page = new Page<>(param.getPageNum(), param.getPageSize()); + Date dateOut = DateUtil.parse(param.getDataDate()); + Date dateBegin = new Date(); + Date dateEnd = new Date(); + if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(param.getDataType())){ + dateBegin = DateUtil.beginOfYear(dateOut); + dateEnd = DateUtil.endOfYear(dateOut); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(param.getDataType())){ + dateBegin = DateUtil.beginOfQuarter(dateOut); + dateEnd = DateUtil.endOfQuarter(dateOut); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(param.getDataType())){ + dateBegin = DateUtil.beginOfMonth(dateOut); + dateEnd = DateUtil.endOfMonth(dateOut); + } + Page out = issuesMapper.getIssues(page,param,DateUtil.formatDateTime(dateBegin), DateUtil.formatDateTime(dateEnd)); + out.getRecords().forEach(data -> data.setOrgName((deptFeignClient.getDeptById(data.getOrgNo()).getData().getName()))); + return out; + } + + /** + * 问题基本信息查询 + */ + private RStatElectricQualityProblemFlow issuesSelectOne(String powerQualityProblemNo){ + LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); + issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,powerQualityProblemNo); + return issuesMapper.selectOne(issuesQuery); + } + + /** + * 填报流程详情查询 + */ + private RMpElectricQualityProblemFlowDetails flowDetailSelectOne(String powerQualityProblemNo){ + LambdaQueryWrapper flowQuery = new LambdaQueryWrapper<>(); + flowQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo,powerQualityProblemNo); + return flowDetailsMapper.selectOne(flowQuery); + } + /** + * 查询在线监测超标问题详情 + */ + @Override + public ExcessiveDetailVO getExcessiveDetail(String powerQualityProblemNo) { + ExcessiveDetailVO detail = new ExcessiveDetailVO(); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); + LambdaQueryWrapper excessiveQuery = new LambdaQueryWrapper<>(); + excessiveQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); + RMpOnlineMonitorOverproofProblem excessiveOut = excessiveMapper.selectOne(excessiveQuery); + BeanUtil.copyProperties(excessiveOut,detail); + BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + return detail; + } + + /** + * 查询用户投诉问题详情 + */ + @Override + public GeneralSurveyVO getGeneralSurveyDetail(String powerQualityProblemNo) { + GeneralSurveyVO detail = new GeneralSurveyVO(); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); + LambdaQueryWrapper generalSurveyQuery = new LambdaQueryWrapper<>(); + generalSurveyQuery.eq(RMpGeneralSurveyOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); + RMpGeneralSurveyOverproofProblem generalSurveyOut = generalSurveyMapper.selectOne(generalSurveyQuery); + BeanUtil.copyProperties(generalSurveyOut,detail); + BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + return detail; + } + + /** + * 查询用户投诉问题详情 + */ + @Override + public ComplaintVO getComplaintDetail(String powerQualityProblemNo) { + ComplaintVO detail = new ComplaintVO(); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); + LambdaQueryWrapper complaintQuery = new LambdaQueryWrapper<>(); + complaintQuery.eq(RMpUserComplaint::getPowerQualityProblemNo,powerQualityProblemNo); + RMpUserComplaint complaintOut = complaintMapper.selectOne(complaintQuery); + BeanUtil.copyProperties(complaintOut,detail); + BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + return detail; + } + + /** + * 查询运维异常问题详情 + */ + @Override + public AbnormalVO getAbnormalDetail(String powerQualityProblemNo) { + AbnormalVO detail = new AbnormalVO(); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); + LambdaQueryWrapper abnormalQuery = new LambdaQueryWrapper<>(); + abnormalQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo,powerQualityProblemNo); + RMpOperationMonitorAbnormal abnormalOut = abnormalMapper.selectOne(abnormalQuery); + BeanUtil.copyProperties(abnormalOut,detail); + BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + return detail; + } + + /** + * 原因分析 + */ + @Override + public void reasonAnalysis(ProcessParam processParam) { + LocalDateTime local = LocalDateTimeUtil.now(); + RMpElectricQualityProblemFlowDetails details = new RMpElectricQualityProblemFlowDetails(); + BeanUtil.copyProperties(processParam,details); + details.setDataDateYyfx(local); + flowDetailsMapper.insert(details); + LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); + issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery); + issuesOut.setReportProcess(DicDataEnum.CAUSE_ANALYSIS.getCode()); + issuesMapper.update(issuesOut,issuesQuery); + } + + /** + * 计划整改措施、实际采取措施、成效分析 + */ + @Override + public void process(ProcessParam processParam, String code) { + LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); + issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery); + if (DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())){ + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + RMpElectricQualityProblemFlowDetails details = flowDetailsMapper.selectOne(query); + BeanUtil.copyProperties(processParam,details); + LocalDateTime local = LocalDateTimeUtil.now(); + if (DicDataEnum.PLAN_MEASURES.getCode().equals(code)){ + details.setDataDateJhzg(local); + }else if (DicDataEnum.ACTUAL_MEASURES.getCode().equals(code)){ + details.setDataDateSjcq(local); + }else if (DicDataEnum.INSIGHTS.getCode().equals(code)){ + details.setDataDateZlxg(local); + } + flowDetailsMapper.update(details, query); + issuesOut.setReportProcess(DicDataEnum.CAUSE_ANALYSIS.getCode()); + issuesMapper.update(issuesOut,issuesQuery); + }else { + throw new BusinessException(ProcessResponseEnum.PROCESS_ERROR); + } + } + + /** + * 问题归档 + */ + @Override + public void archive(String powerQualityProblemNo) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,powerQualityProblemNo); + RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(query); + if (DicDataEnum.INSIGHTS.getCode().equals(issuesOut.getReportProcess()) + && DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())){ + issuesOut.setReportProcess(DicDataEnum.ARCHIVED.getCode()); + issuesMapper.update(issuesOut,query); + }else { + throw new BusinessException(ProcessResponseEnum.ARCHIVE_ERROR); + } + } + + /** + * 上传文件 + */ + @Override + public MinIoUploadResDTO uploadFile(MultipartFile issuesFile) { + try { + return minIoUtils.upload(issuesFile, minIoProperties.getBucket(), "electricityQuality/"); + } catch (Exception e) { + throw new BusinessException(ProcessResponseEnum.UPLOAD_FILE_ERROR); + } + } + +}