From c4cc262964ff242513b347b2f4f969e64f3172c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=9B=A8=E6=9C=A8c?= <857448963@qq.com>
Date: Mon, 26 Jun 2023 09:14:39 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E6=9C=AF=E7=9B=91=E7=9D=A3=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=20=E7=94=A8=E6=88=B7=E9=83=A8=E9=97=A8=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0=E7=9C=81=E7=BA=A7=EF=BC=8C=E5=B8=82=EF=BC=8C=E5=8E=BF?=
=?UTF-8?q?=E5=B1=82=E7=BA=A7=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/pojo/constant/PatternRegex.java | 2 +-
.../java/com/njcn/oss/constant/OssPath.java | 2 +
.../process/enums/ProcessResponseEnum.java | 2 +
.../process/pojo/param/SupvFileParam.java | 43 +++++
.../process/pojo/param/SupvPlanParam.java | 145 +++++++++++++++
.../process/pojo/param/SupvProblemParam.java | 132 ++++++++++++++
.../com/njcn/process/pojo/po/SupvFile.java | 51 ++++++
.../com/njcn/process/pojo/po/SupvPlan.java | 115 ++++++++++++
.../com/njcn/process/pojo/po/SupvProblem.java | 100 ++++++++++
.../com/njcn/process/pojo/vo/SupvPlanVO.java | 122 +++++++++++++
.../controller/SupvFileController.java | 57 ++++++
.../controller/SupvMonthStatisController.java | 43 +++++
.../controller/SupvPlanController.java | 91 ++++++++++
.../controller/SupvProblemController.java | 90 +++++++++
.../njcn/process/mapper/SupvFileMapper.java | 17 ++
.../njcn/process/mapper/SupvPlanMapper.java | 21 +++
.../process/mapper/SupvProblemMapper.java | 17 ++
.../process/mapper/mapping/SupvFileMapper.xml | 5 +
.../process/mapper/mapping/SupvPlanMapper.xml | 6 +
.../mapper/mapping/SupvProblemMapper.xml | 5 +
.../process/service/ISupvFileService.java | 30 +++
.../process/service/ISupvPlanService.java | 58 ++++++
.../process/service/ISupvProblemService.java | 51 ++++++
.../service/impl/SupvFileServiceImpl.java | 64 +++++++
.../service/impl/SupvPlanServiceImpl.java | 171 ++++++++++++++++++
.../service/impl/SupvProblemServiceImpl.java | 66 +++++++
.../java/com/njcn/user/pojo/vo/UserVO.java | 3 +
.../user/service/impl/UserServiceImpl.java | 1 +
28 files changed, 1509 insertions(+), 1 deletion(-)
create mode 100644 pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvFileParam.java
create mode 100644 pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvPlanParam.java
create mode 100644 pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvProblemParam.java
create mode 100644 pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvFile.java
create mode 100644 pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvPlan.java
create mode 100644 pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvProblem.java
create mode 100644 pqs-process/process-api/src/main/java/com/njcn/process/pojo/vo/SupvPlanVO.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/controller/SupvFileController.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/controller/SupvMonthStatisController.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/controller/SupvPlanController.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/controller/SupvProblemController.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/mapper/SupvFileMapper.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/mapper/SupvPlanMapper.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/mapper/SupvProblemMapper.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/mapper/mapping/SupvFileMapper.xml
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/mapper/mapping/SupvPlanMapper.xml
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/mapper/mapping/SupvProblemMapper.xml
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/service/ISupvFileService.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/service/ISupvPlanService.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/service/ISupvProblemService.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/SupvFileServiceImpl.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/SupvPlanServiceImpl.java
create mode 100644 pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/SupvProblemServiceImpl.java
diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java
index 087ad961a..f0c354577 100644
--- a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java
+++ b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java
@@ -75,7 +75,7 @@ public interface PatternRegex {
/**
* 字典名称包括中文、数字、字母、罗马数字、括号以及点号
*/
- String DIC_REGEX = "^[\\w\\u4E00-\\u9FA5()()_/、\\- ]+\\.?[\\w\\u4E00-\\u9FA5()()I II III IV V /]{0,125}$";
+ String DIC_REGEX = "^[\\w\\u4E00-\\u9FA5()()_/、/, /,\\- ]+\\.?[\\w\\u4E00-\\u9FA5()()I II III IV V /]{0,125}$";
/**
* 密码有效期(月)1-3月
diff --git a/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java
index 5c82243c3..18bc54487 100644
--- a/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java
+++ b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java
@@ -94,4 +94,6 @@ public interface OssPath {
String WIRING_DIAGRAM = "wiringDiagram/";
+
+
}
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java b/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java
index 727065796..fc4a2bf11 100644
--- a/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java
@@ -22,6 +22,8 @@ public enum ProcessResponseEnum {
ENABLED_CANNOT_BE_DELETED("A00555","策略为启用状态不能删除!"),
THERE_IS_ONLY_ONE_STRATEGY("A00556","各个策略等级,通用策略只能有一条!"),
TERMINAL_ID_REPEAT("A00351","终端编号已存在"),
+
+ SUPV_PLAN_REPEAT("A00568","监督计划名称已存在")
;
private final String code;
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvFileParam.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvFileParam.java
new file mode 100644
index 000000000..2fdb34826
--- /dev/null
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvFileParam.java
@@ -0,0 +1,43 @@
+package com.njcn.process.pojo.param;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2023-06-21
+ */
+@Getter
+@Setter
+@TableName("supv_file")
+public class SupvFileParam {
+
+
+
+ private String id;
+
+ /**
+ * 附件路径
+ */
+ private String file;
+
+ /**
+ * 附件名称
+ */
+ private String attachmentName;
+
+ private String attachmentType;
+
+ /**
+ * 计划问题id
+ */
+ private String busiId;
+
+
+}
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvPlanParam.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvPlanParam.java
new file mode 100644
index 000000000..f698c0dfb
--- /dev/null
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvPlanParam.java
@@ -0,0 +1,145 @@
+package com.njcn.process.pojo.param;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import com.njcn.web.pojo.annotation.DateTimeStrValid;
+import com.njcn.web.pojo.param.BaseParam;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2023-06-21
+ */
+@Data
+@TableName("supv_plan")
+public class SupvPlanParam extends BaseParam {
+
+
+
+
+ /**
+ * 计划名称
+ */
+ @ApiModelProperty(value = "计划名称",required = true)
+ @NotBlank(message = "计划名称不可为空")
+ private String workPlanName;
+
+ /**
+ * 监督单位
+ */
+ @ApiModelProperty(value = "监督单位",required = true)
+ @NotBlank(message = "监督单位不可为空")
+ private String supvOrgId;
+
+ /**
+ * 监督类型
+ */
+ @ApiModelProperty(value = "监督类型",required = true)
+ @NotBlank(message = "监督类型不可为空")
+ private String supvType;
+
+ /**
+ * 监督阶段
+ */
+ @ApiModelProperty(value = "监督阶段",required = true)
+ @NotBlank(message = "监督阶段不可为空")
+ private String supvStage;
+
+ /**
+ * 计划监督时间
+ */
+ @ApiModelProperty(value = "计划监督时间",required = true)
+ @NotNull(message = "计划监督时间不可为空")
+ @DateTimeStrValid(message = "计划监督时间格式有误")
+ private String planSupvDate;
+
+ /**
+ * 监督对象名称
+ */
+ @ApiModelProperty(value = "监督对象名称")
+ @NotBlank(message = "监督对象名称不可为空")
+ private String supvObjName;
+
+ /**
+ * 对象类型
+ */
+ @ApiModelProperty(value = "对象类型")
+ @NotBlank(message = "对象类型不可为空")
+ private String supvObjType;
+
+ /**
+ * 对象电压等级
+ */
+ @ApiModelProperty(value = "对象电压等级")
+ @NotBlank(message = "对象电压等级不可为空")
+ private String objVoltageLevel;
+
+ /**
+ * 关联电站
+ */
+ @ApiModelProperty(value = "关联电站")
+ @NotBlank(message = "关联电站不可为空")
+ private String objRelationStation;
+
+ /**
+ * 计划执行开始时间
+ */
+ @ApiModelProperty(value = "计划执行开始时间",required = true)
+ @NotNull(message = "计划执行开始时间不可为空")
+ @DateTimeStrValid(message = "计划执行开始时间格式有误")
+ private String supvStartTime;
+
+ /**
+ * 计划执行结束时间
+ */
+ @ApiModelProperty(value = "计划执行结束时间",required = true)
+ @NotNull(message = "计划执行结束时间不可为空")
+ @DateTimeStrValid(message = "计划执行结束时间格式有误")
+ private String supvEndTime;
+
+ /**
+ * 报告出具时间
+ */
+ @ApiModelProperty(value = "报告出具时间",required = true)
+ @DateTimeStrValid(message = "报告出具时间格式有误",format = "yyyy-MM-dd HH:mm:ss")
+ private String reportIssueTime;
+
+ /**
+ * 电能质量问题发生时间
+ */
+ @ApiModelProperty(value = "电能质量问题发生时间",required = true)
+ @DateTimeStrValid(message = "电能质量问题发生时间格式有误",format = "yyyy-MM-dd HH:mm:ss")
+ private String problemOcTime;
+
+ /**
+ * 备注
+ */
+ @ApiModelProperty(value = "备注")
+ private String planRemark;
+
+
+
+ @EqualsAndHashCode(callSuper = true)
+ @Data
+ public static class UpdateSupvPlanParam extends SupvPlanParam{
+
+ @ApiModelProperty(value = "索引",required = true)
+ @NotBlank(message = "计划索引不可为空")
+ private String planId;
+ }
+
+}
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvProblemParam.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvProblemParam.java
new file mode 100644
index 000000000..3aa9cc254
--- /dev/null
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/SupvProblemParam.java
@@ -0,0 +1,132 @@
+package com.njcn.process.pojo.param;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import com.njcn.web.pojo.annotation.DateTimeStrValid;
+import com.njcn.web.pojo.param.BaseParam;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2023-06-21
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@TableName("supv_problem")
+public class SupvProblemParam extends BaseParam {
+
+
+
+ /**
+ * 关联计划表
+ */
+ @ApiModelProperty(value = "关联计划表id",required = true)
+ @NotBlank(message = "关联计划表不可为空")
+ private String planId;
+
+ /**
+ * 责任单位id,取ISC平台上的组织id
+ */
+ @ApiModelProperty(value = "责任单位id,取ISC平台上的组织id",required = true)
+ @NotBlank(message = "责任单位id不可为空")
+ private String dutyOrgId;
+
+ /**
+ * 监测点类型 ,仅供电电压监督计划必填
+ */
+ @ApiModelProperty(value = "监测点类型 ,仅供电电压监督计划必填")
+ private String monitorType;
+
+ /**
+ * 整改时间
+ */
+ @ApiModelProperty(value = "整改时间",required = true)
+ @NotNull(message = "整改时间不可为空")
+ @DateTimeStrValid(message = "整改时间格式有误")
+ private String rectificationTime;
+
+ /**
+ * 计划整改时间
+ */
+ @ApiModelProperty(value = "计划整改时间",required = true)
+ @NotNull(message = "计划整改时间不可为空")
+ @DateTimeStrValid(message = "计划整改时间格式有误")
+ private String planRectificationTime;
+
+ /**
+ * 是否发布预告警
+ */
+ @ApiModelProperty(value = "是否发布预告警",required = true)
+ @NotNull(message = "是否发布预告警不可为空")
+ private Integer ifReleaseWarning;
+
+ /**
+ * 问题描述
+ */
+ @ApiModelProperty(value = "问题描述")
+ private String simpleProblemDesc;
+
+ /**
+ * 监督标准
+ */
+ @ApiModelProperty(value = "监督标准",required = true)
+ @NotBlank(message = "监督标准不可为空")
+ private String supvStandard;
+
+ /**
+ * 标准出处
+ */
+ @ApiModelProperty(value = "标准出处",required = true)
+ @NotBlank(message = "标准出处不可为空")
+ private String supvResouce;
+
+ /**
+ * 问题等级 01 一般,02 较大
+ */
+ @ApiModelProperty(value = "问题等级",required = true)
+ @NotBlank(message = "问题等级不可为空")
+ private String problemLevel;
+
+ /**
+ * 定级依据
+ */
+ @ApiModelProperty(value = "定级依据",required = true)
+ @NotBlank(message = "定级依据不可为空")
+ private String problemLevelReason;
+
+ /**
+ * 问题类型
+ */
+ @ApiModelProperty(value = "问题类型",required = true)
+ @NotBlank(message = "问题类型不可为空")
+ private String problemType;
+
+ /**
+ * 整改方案
+ */
+ @ApiModelProperty(value = "整改方案",required = true)
+ @NotBlank(message = "整改方案不可为空")
+ private String rectificationProgramme;
+
+ @EqualsAndHashCode(callSuper = true)
+ @Data
+ public static class UpdateSupvProblemParam extends SupvProblemParam{
+
+ @ApiModelProperty(value = "索引",required = true)
+ @NotBlank(message = "问题索引不可为空")
+ private String problemId;
+ }
+
+}
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvFile.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvFile.java
new file mode 100644
index 000000000..f6fd80b11
--- /dev/null
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvFile.java
@@ -0,0 +1,51 @@
+package com.njcn.process.pojo.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2023-06-21
+ */
+@Getter
+@Setter
+@TableName("supv_file")
+public class SupvFile extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ private String id;
+
+ /**
+ * 附件路径
+ */
+ private String file;
+
+ /**
+ * 附件名称
+ */
+ private String attachmentName;
+
+ /**
+ * 0.计划 1.问题
+ */
+ private Integer type;
+
+
+ private String attachmentType;
+
+ /**
+ * 计划问题id
+ */
+ private String busiId;
+
+
+}
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvPlan.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvPlan.java
new file mode 100644
index 000000000..26c039d2b
--- /dev/null
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvPlan.java
@@ -0,0 +1,115 @@
+package com.njcn.process.pojo.po;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.njcn.db.bo.BaseEntity;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2023-06-21
+ */
+@Data
+@TableName("supv_plan")
+public class SupvPlan extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId
+ private String planId;
+
+ /**
+ * 计划名称
+ */
+ private String workPlanName;
+
+ /**
+ * 监督单位
+ */
+ private String supvOrgId;
+
+ /**
+ * 监督类型
+ */
+ private String supvType;
+
+ /**
+ * 监督阶段
+ */
+ private String supvStage;
+
+ /**
+ * 计划监督时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private LocalDate planSupvDate;
+
+ /**
+ * 监督对象名称
+ */
+ private String supvObjName;
+
+ /**
+ * 对象类型
+ */
+ private String supvObjType;
+
+ /**
+ * 对象电压等级
+ */
+ private String objVoltageLevel;
+
+ /**
+ * 关联电站
+ */
+ private String objRelationStation;
+
+ /**
+ * 计划执行开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private LocalDate supvStartTime;
+
+ /**
+ * 计划执行结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private LocalDate supvEndTime;
+
+ /**
+ * 报告出具时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime reportIssueTime;
+
+ /**
+ * 电能质量问题发生时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime problemOcTime;
+
+ /**
+ * 备注
+ */
+ private String planRemark;
+
+ /**
+ * 0.未上送 1.上送 2.取消上送
+ */
+ private Integer isUploadHead;
+
+
+
+
+}
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvProblem.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvProblem.java
new file mode 100644
index 000000000..2796c4447
--- /dev/null
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/SupvProblem.java
@@ -0,0 +1,100 @@
+package com.njcn.process.pojo.po;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2023-06-21
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@TableName("supv_problem")
+public class SupvProblem extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId
+ private String problemId;
+
+ /**
+ * 关联计划表
+ */
+ private String planId;
+
+ /**
+ * 责任单位id,取ISC平台上的组织id
+ */
+ private String dutyOrgId;
+
+ /**
+ * 监测点类型 ,仅供电电压监督计划必填
+ */
+ private String monitorType;
+
+ /**
+ * 整改时间
+ */
+ private LocalDate rectificationTime;
+
+ /**
+ * 计划整改时间
+ */
+ private LocalDate planRectificationTime;
+
+ /**
+ * 是否发布预告警
+ */
+ private Integer ifReleaseWarning;
+
+ /**
+ * 问题描述
+ */
+ private String simpleProblemDesc;
+
+ /**
+ * 监督标准
+ */
+ private String supvStandard;
+
+ /**
+ * 标准出处
+ */
+ private String supvResouce;
+
+ /**
+ * 问题等级 01 一般,02 较大
+ */
+ private String problemLevel;
+
+ /**
+ * 定级依据
+ */
+ private String problemLevelReason;
+
+ /**
+ * 问题类型
+ */
+ private String problemType;
+
+ /**
+ * 整改方案
+ */
+ private String rectificationProgramme;
+
+
+
+}
diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/vo/SupvPlanVO.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/vo/SupvPlanVO.java
new file mode 100644
index 000000000..31d14e433
--- /dev/null
+++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/vo/SupvPlanVO.java
@@ -0,0 +1,122 @@
+package com.njcn.process.pojo.vo;
+
+import com.njcn.web.pojo.annotation.DateTimeStrValid;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * pqs
+ *
+ * @author cdf
+ * @date 2023/6/25
+ */
+@Data
+public class SupvPlanVO {
+
+ @ApiModelProperty(value = "索引",required = true)
+ private String planId;
+
+ /**
+ * 计划名称
+ */
+ @ApiModelProperty(value = "计划名称",required = true)
+ private String workPlanName;
+
+ /**
+ * 监督单位
+ */
+ @ApiModelProperty(value = "监督单位",required = true)
+ private String supvOrgId;
+
+ @ApiModelProperty(value = "监督单位名称",required = true)
+ private String supvOrgName;
+
+ /**
+ * 监督类型
+ */
+ @ApiModelProperty(value = "监督类型",required = true)
+ private String supvType;
+
+ /**
+ * 监督阶段
+ */
+ @ApiModelProperty(value = "监督阶段",required = true)
+ private String supvStage;
+
+ /**
+ * 计划监督时间
+ */
+ @ApiModelProperty(value = "计划监督时间",required = true)
+ private String planSupvDate;
+
+ /**
+ * 监督对象名称
+ */
+ @ApiModelProperty(value = "监督对象名称")
+ private String supvObjName;
+
+ /**
+ * 对象类型
+ */
+ @ApiModelProperty(value = "对象类型")
+ private String supvObjType;
+
+ /**
+ * 对象电压等级
+ */
+ @ApiModelProperty(value = "对象电压等级")
+ private String objVoltageLevel;
+
+ /**
+ * 关联电站
+ */
+ @ApiModelProperty(value = "关联电站")
+ private String objRelationStation;
+
+ /**
+ * 计划执行开始时间
+ */
+ @ApiModelProperty(value = "计划执行开始时间",required = true)
+ private String supvStartTime;
+
+ /**
+ * 计划执行结束时间
+ */
+ @ApiModelProperty(value = "计划执行结束时间",required = true)
+ private String supvEndTime;
+
+ /**
+ * 报告出具时间
+ */
+ @ApiModelProperty(value = "报告出具时间",required = true)
+ private String reportIssueTime;
+
+ /**
+ * 电能质量问题发生时间
+ */
+ @ApiModelProperty(value = "电能质量问题发生时间",required = true)
+ private String problemOcTime;
+
+
+ /**
+ * 备注
+ */
+ @ApiModelProperty(value = "备注")
+ private String planRemark;
+
+ @ApiModelProperty(value = "省部门")
+ private String province;
+
+ @ApiModelProperty(value = "市部门")
+ private String city;
+
+ @ApiModelProperty(value = "县部门")
+ private String county;
+
+
+ @ApiModelProperty(value = "附件名称")
+ private String attachmentName;
+}
diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/SupvFileController.java b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/SupvFileController.java
new file mode 100644
index 000000000..626ecdc2e
--- /dev/null
+++ b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/SupvFileController.java
@@ -0,0 +1,57 @@
+package com.njcn.process.controller;
+
+
+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.process.service.ISupvFileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import com.njcn.web.controller.BaseController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author hongawen
+ * @since 2023-06-21
+ */
+@RestController
+@RequestMapping("/supv/file")
+@Api(tags = "技术监督附件控制器")
+@RequiredArgsConstructor
+public class SupvFileController extends BaseController {
+
+ private final ISupvFileService iSupvFileService;
+
+
+ @PostMapping("planUpload")
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPLOAD)
+ @ApiOperation("监督计划问题附件上传")
+ public HttpResult