电能质量问题

This commit is contained in:
1771838663@qq.com
2022-11-18 11:01:34 +08:00
parent 0f428ccc87
commit 1124d4ffac
35 changed files with 1977 additions and 0 deletions

View File

@@ -17,6 +17,8 @@ public enum ProcessResponseEnum {
*/ */
PROCESS_COMMON_ERROR("A00550","监督管理模块异常"), PROCESS_COMMON_ERROR("A00550","监督管理模块异常"),
UPLOAD_FILE_ERROR("A00551","上传文件服务器错误,请检查数据"), UPLOAD_FILE_ERROR("A00551","上传文件服务器错误,请检查数据"),
ARCHIVE_ERROR("A00552","不满足归档调节,操作失败!"),
PROCESS_ERROR("A00553","当前流程未审核通过,操作失败!"),
; ;
private final String code; private final String code;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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 = "时间类型123")
private Integer dataType;
@ApiModelProperty(name = "dataDate",value = "问题发生记录时间")
private String dataDate;
@ApiModelProperty(name = "pageNum",value = "页码")
private Integer pageNum;
@ApiModelProperty(name = "pageSize",value = "页面尺寸")
private Integer pageSize;
}

View File

@@ -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;
/**
* <p>
* 电能质量问题流程详情表
* </p>
*
* @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;
}

View File

@@ -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;
/**
* <p>
* 普测超标问题详情表
* </p>
*
* @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;
}

View File

@@ -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;
/**
* <p>
* 在线监测超标问题详情表
* </p>
*
* @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 +
"}";
}
}

View File

@@ -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;
/**
* <p>
* 运维监控异常详情表
* </p>
*
* @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;
}

View File

@@ -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;
/**
* <p>
* 用户投诉详情表
* </p>
*
* @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;
}

View File

@@ -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;
/**
* <p>
* 电能质量问题流程表
* </p>
*
* @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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<String> 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<String> 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<String> 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<String> 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<IPage<IssuesVO>> getIssues(@RequestBody @Validated QueryIssuesParam queryIssuesParam){
String methodDescribe = getMethodDescribe("getIssues");
Page<IssuesVO> 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<ExcessiveDetailVO> 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<GeneralSurveyVO> 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<ComplaintVO> 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<AbnormalVO> 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<String> 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<String> 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<String> 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<String> 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<String> 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<MinIoUploadResDTO> uploadFile(@RequestPart("issuesFile") MultipartFile issuesFile){
String methodDescribe = getMethodDescribe("uploadFile");
MinIoUploadResDTO out = issuesService.uploadFile(issuesFile);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
}
}

View File

@@ -0,0 +1,16 @@
package com.njcn.process.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.process.pojo.po.RMpElectricQualityProblemFlowDetails;
/**
* <p>
* 电能质量问题流程详情表 Mapper 接口
* </p>
*
* @author xiaoyao
* @since 2022-11-14
*/
public interface RMpElectricQualityProblemFlowDetailsMapper extends BaseMapper<RMpElectricQualityProblemFlowDetails> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.process.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.process.pojo.po.RMpGeneralSurveyOverproofProblem;
/**
* <p>
* 普测超标问题详情表 Mapper 接口
* </p>
*
* @author xiaoyao
* @since 2022-11-14
*/
public interface RMpGeneralSurveyOverproofProblemMapper extends BaseMapper<RMpGeneralSurveyOverproofProblem> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.process.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.process.pojo.po.RMpOnlineMonitorOverproofProblem;
/**
* <p>
* 在线监测超标问题详情表 Mapper 接口
* </p>
*
* @author xiaoyao
* @since 2022-11-14
*/
public interface RMpOnlineMonitorOverproofProblemMapper extends BaseMapper<RMpOnlineMonitorOverproofProblem> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.process.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.process.pojo.po.RMpOperationMonitorAbnormal;
/**
* <p>
* 运维监控异常详情表 Mapper 接口
* </p>
*
* @author xiaoyao
* @since 2022-11-14
*/
public interface RMpOperationMonitorAbnormalMapper extends BaseMapper<RMpOperationMonitorAbnormal> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.process.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.process.pojo.po.RMpUserComplaint;
/**
* <p>
* 用户投诉详情表 Mapper 接口
* </p>
*
* @author xiaoyao
* @since 2022-11-14
*/
public interface RMpUserComplaintMapper extends BaseMapper<RMpUserComplaint> {
}

View File

@@ -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;
/**
* <p>
* 电能质量问题流程表 Mapper 接口
* </p>
*
* @author xiaoyao
* @since 2022-11-14
*/
public interface RStatElectricQualityProblemFlowMapper extends BaseMapper<RStatElectricQualityProblemFlow> {
Page<IssuesVO> getIssues(IPage<IssuesVO> page, @Param("param") QueryIssuesParam param, @Param("dateBegin") String dateBegin, @Param("dateEnd") String dateEnd);
}

View File

@@ -0,0 +1,5 @@
<?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.process.mapper.RMpElectricQualityProblemFlowDetailsMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?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.process.mapper.RMpGeneralSurveyOverproofProblemMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?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.process.mapper.RMpOnlineMonitorOverproofProblemMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?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.process.mapper.RMpOperationMonitorAbnormalMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?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.process.mapper.RMpUserComplaintMapper">
</mapper>

View File

@@ -0,0 +1,28 @@
<?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.process.mapper.RStatElectricQualityProblemFlowMapper">
<select id="getIssues" resultType="com.njcn.process.pojo.vo.IssuesVO">
SELECT
*
FROM
r_stat_electric_quality_problem_flow
WHERE
data_date between #{date.dateBegin} AND #{date.dateEnd}
<if test="param.orgNo !=null and param.orgNo !=''">
AND org_no = #{param.orgNo}
</if>
<if test="param.problemSources !=null and param.problemSources !=''">
AND problem_sources = #{param.problemSources}
</if>
<if test="param.reportProcess !=null and param.reportProcess !=''">
AND report_process = #{param.reportProcess}
</if>
<if test="param.reportProcessStatus !=null and param.reportProcessStatus !=''">
AND report_process_status = #{param.reportProcessStatus}
</if>
<if test="param.problemName !=null and param.problemName !=''">
AND problem_name like CONCAT(CONCAT('%', #{param.problemName}), '%')
</if>
</select>
</mapper>

View File

@@ -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<IssuesVO> 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);
}

View File

@@ -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<IssuesVO> getIssues(QueryIssuesParam param) {
IPage<IssuesVO> 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<IssuesVO> 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<RStatElectricQualityProblemFlow> issuesQuery = new LambdaQueryWrapper<>();
issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,powerQualityProblemNo);
return issuesMapper.selectOne(issuesQuery);
}
/**
* 填报流程详情查询
*/
private RMpElectricQualityProblemFlowDetails flowDetailSelectOne(String powerQualityProblemNo){
LambdaQueryWrapper<RMpElectricQualityProblemFlowDetails> 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<RMpOnlineMonitorOverproofProblem> 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<RMpGeneralSurveyOverproofProblem> 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<RMpUserComplaint> 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<RMpOperationMonitorAbnormal> 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<RStatElectricQualityProblemFlow> 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<RStatElectricQualityProblemFlow> issuesQuery = new LambdaQueryWrapper<>();
issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo());
RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery);
if (DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())){
LambdaQueryWrapper<RMpElectricQualityProblemFlowDetails> 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<RStatElectricQualityProblemFlow> 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);
}
}
}