From ec8c4e27cec4bf2b37ac4dfc768241d2dd90a66f Mon Sep 17 00:00:00 2001
From: hongawen <83944980@qq.com>
Date: Thu, 14 Mar 2024 18:44:15 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E9=99=8D=E6=B2=BB=E7=90=86=E4=B8=80?=
=?UTF-8?q?=E6=9C=9F=E5=B7=A5=E4=BD=9C=E5=86=85=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../advance/enums/AdvanceResponseEnum.java | 7 +-
.../govern/voltage/IncomingLineParam.java | 54 ++++++++
.../param/govern/voltage/SgEventParam.java | 99 ++++++++++++++
.../param/govern/voltage/SgUserParam.java | 116 ++++++++++++++++
.../pojo/po/govern/voltage/SgEvent.java | 82 ++++++++++++
.../po/govern/voltage/SgIncomingLine.java | 50 +++++++
.../pojo/po/govern/voltage/SgUser.java | 82 ++++++++++++
.../vo/govern/voltage/IncomingLineVO.java | 39 ++++++
.../pojo/vo/govern/voltage/SgEventVO.java | 81 +++++++++++
.../pojo/vo/govern/voltage/SgUserVO.java | 86 ++++++++++++
.../govern/voltage/SgEventController.java | 63 +++++++++
.../voltage/SgIncomingLineController.java | 106 +++++++++++++++
.../govern/voltage/SgUserController.java | 110 +++++++++++++++
.../mapper/govern/voltage/SgEventMapper.java | 16 +++
.../govern/voltage/SgIncomingLineMapper.java | 21 +++
.../mapper/govern/voltage/SgUserMapper.java | 21 +++
.../govern/voltage/mapping/SgEventMapper.xml | 5 +
.../voltage/mapping/SgIncomingLineMapper.xml | 19 +++
.../govern/voltage/mapping/SgUserMapper.xml | 13 ++
.../govern/voltage/ISgEventService.java | 20 +++
.../voltage/ISgIncomingLineService.java | 27 ++++
.../govern/voltage/ISgUserService.java | 28 ++++
.../voltage/impl/SgEventServiceImpl.java | 34 +++++
.../impl/SgIncomingLineServiceImpl.java | 109 +++++++++++++++
.../voltage/impl/SgUserServiceImpl.java | 126 ++++++++++++++++++
.../com/njcn/web/constant/ValidMessage.java | 7 +
.../java/com/njcn/system/pojo/vo/FileVO.java | 19 +++
.../system/controller/FileController.java | 75 +++++++++++
28 files changed, 1514 insertions(+), 1 deletion(-)
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/IncomingLineParam.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgEventParam.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgUserParam.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgEvent.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgIncomingLine.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgUser.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/IncomingLineVO.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgEventVO.java
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgUserVO.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgEventController.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgIncomingLineController.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgUserController.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/govern/voltage/SgEventMapper.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/govern/voltage/SgIncomingLineMapper.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/govern/voltage/SgUserMapper.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/govern/voltage/mapping/SgEventMapper.xml
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/govern/voltage/mapping/SgIncomingLineMapper.xml
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/govern/voltage/mapping/SgUserMapper.xml
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/govern/voltage/ISgEventService.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/govern/voltage/ISgIncomingLineService.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/govern/voltage/ISgUserService.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/govern/voltage/impl/SgEventServiceImpl.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/govern/voltage/impl/SgIncomingLineServiceImpl.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/govern/voltage/impl/SgUserServiceImpl.java
create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/FileVO.java
create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/controller/FileController.java
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java
index a43f4e641..5cc3718e5 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java
@@ -35,9 +35,14 @@ public enum AdvanceResponseEnum {
DATA_NOT_FOUND("A0104","数据缺失,请根据模版上传近两周数据"),
DATA_UNDERRUN("A0104","数据量不足,请根据模版上传充足近两周数据"),
DOCUMENT_FORMAT_ERROR("A0105","数据缺失,导入失败!请检查导入文档的格式是否正确"),
- USER_LOST("A0106","干扰源用户缺失")
+ USER_LOST("A0106","干扰源用户缺失"),
+ EVENT_EMPTY("A0102","没有查询到未分析事件"),
+
+ SG_USER_NAME_REPEAT("A0102","业务用户名重复"),
+
+ SG_USER_ID_MISS("A0102","业务用户id缺失"),
;
private final String code;
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/IncomingLineParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/IncomingLineParam.java
new file mode 100644
index 000000000..742964f9e
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/IncomingLineParam.java
@@ -0,0 +1,54 @@
+package com.njcn.advance.pojo.param.govern.voltage;
+
+import com.njcn.common.pojo.constant.PatternRegex;
+import com.njcn.web.constant.ValidMessage;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
+@Data
+public class IncomingLineParam {
+
+
+ /**
+ * 业务用户id
+ */
+ @ApiModelProperty("业务用户id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "userId")
+ private String userId;
+
+ /**
+ * 进线名称
+ */
+ @ApiModelProperty("进线名称")
+ @NotBlank(message = ValidMessage.NAME_NOT_BLANK)
+ private String name;
+
+ /**
+ * 关联监测点id
+ */
+ @ApiModelProperty("业务用户id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "lineId")
+ private String lineId;
+
+ /**
+ * 更新操作实体
+ */
+ @Data
+ @EqualsAndHashCode(callSuper = true)
+ public static class IncomingLineUpdateParam extends IncomingLineParam {
+
+ /**
+ * 表Id
+ */
+ @ApiModelProperty("id")
+ @NotBlank(message = ValidMessage.ID_NOT_BLANK)
+ @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
+ private String id;
+
+ }
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgEventParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgEventParam.java
new file mode 100644
index 000000000..29911c400
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgEventParam.java
@@ -0,0 +1,99 @@
+package com.njcn.advance.pojo.param.govern.voltage;
+
+import com.njcn.web.constant.ValidMessage;
+import com.njcn.web.pojo.param.BaseParam;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Data
+public class SgEventParam {
+
+
+
+ /**
+ * 进线id
+ */
+ @ApiModelProperty("进线id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "lineId")
+ private String incomingLineId;
+
+ /**
+ * 暂降起始时间
+ */
+ @ApiModelProperty("暂降起始时间")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "startTime")
+ private LocalDateTime startTime;
+
+ /**
+ * 事件类型
+ */
+ private String eventType;
+
+ /**
+ * 持续时间(单位:秒)
+ */
+ @ApiModelProperty("持续时间")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "duration")
+ private Float duration;
+
+ /**
+ * 特征幅值
+ */
+ @ApiModelProperty("特征幅值")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "featureAmplitude")
+ private Float featureAmplitude;
+
+ /**
+ * 预估损失(单位:万元)
+ */
+ private Float estimatedLoss;
+
+ /**
+ * 事件描述
+ */
+ private String eventDescribe;
+
+ /**
+ * 波形文件是否从装置招到本地(0:未招,1:已招)默认值为0
+ */
+ private Integer fileFlag;
+
+ /**
+ * 波形路径
+ */
+ private String wavePath;
+
+ /**
+ * 数据来源(0-离线导入 1-监测点实际数据同步)
+ */
+ private Integer dataSource;
+
+ /**
+ * 分页查询实体
+ */
+ @Data
+ @EqualsAndHashCode(callSuper = true)
+ public static class SgEventParamQueryParam extends BaseParam {
+
+ /**
+ * 生产线id
+ */
+ @ApiModelProperty("生产线id")
+ private String productId;
+
+ }
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgUserParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgUserParam.java
new file mode 100644
index 000000000..bf7639313
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgUserParam.java
@@ -0,0 +1,116 @@
+package com.njcn.advance.pojo.param.govern.voltage;
+
+import com.njcn.common.pojo.constant.PatternRegex;
+import com.njcn.web.constant.ValidMessage;
+import com.njcn.web.pojo.param.BaseParam;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+import java.util.List;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Data
+public class SgUserParam {
+
+ @ApiModelProperty("名称")
+ @NotBlank(message = ValidMessage.NAME_NOT_BLANK)
+ @Pattern(regexp = PatternRegex.DIC_REGEX, message = ValidMessage.NAME_FORMAT_ERROR)
+ private String userName;
+
+
+ /**
+ * 行业
+ */
+ @ApiModelProperty("行业")
+ @NotBlank(message = ValidMessage.INDUSTRY_NOT_BLANK)
+ @Pattern(regexp = PatternRegex.DIC_REGEX, message = ValidMessage.INDUSTRY_FORMAT_ERROR)
+ private String industry;
+
+
+ /**
+ * 关键用户(0 否,1 是)
+ */
+ @ApiModelProperty("是否关键用户")
+ private Integer keyUser = 1;
+
+ /**
+ * 所属区域
+ */
+ @ApiModelProperty("所属区域")
+ @NotBlank(message = ValidMessage.ADDR_NOT_BLANK)
+ private String addrStrOption;
+
+ /**
+ * 详细地址
+ */
+ @ApiModelProperty("详细地址")
+ private String addrDetail;
+
+ /**
+ * 年均损失(单位:万元)
+ */
+ @ApiModelProperty("年均损失(单位:万元)")
+ private Float averageLoss;
+
+ /**
+ * 联系方式
+ */
+ @ApiModelProperty("联系方式")
+ private String concact;
+
+ /**
+ * 企业用户照片或logo
+ */
+ @ApiModelProperty("企业用户照片")
+ private String userLogo;
+
+ /**
+ * 备注
+ */
+ @ApiModelProperty("备注")
+ private String remark;
+
+
+ /**
+ * 更新操作实体
+ */
+ @Data
+ @EqualsAndHashCode(callSuper = true)
+ public static class SgUserUpdateParam extends SgUserParam {
+
+ /**
+ * 表Id
+ */
+ @ApiModelProperty("id")
+ @NotBlank(message = ValidMessage.ID_NOT_BLANK)
+ @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
+ private String id;
+
+ }
+
+ /**
+ * 分页查询实体
+ */
+ @Data
+ @EqualsAndHashCode(callSuper = true)
+ public static class SgUserQueryParam extends BaseParam {
+
+ /**
+ * 所属区域
+ */
+ @ApiModelProperty("所属区域")
+ private List addrStrOption;
+
+ }
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgEvent.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgEvent.java
new file mode 100644
index 000000000..578f5fdc8
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgEvent.java
@@ -0,0 +1,82 @@
+package com.njcn.advance.pojo.po.govern.voltage;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Getter
+@Setter
+@TableName("sg_event")
+public class SgEvent {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 暂降事件id
+ */
+ private String id;
+
+ /**
+ * 进线id
+ */
+ private String incomingLineId;
+
+ /**
+ * 暂降起始时间
+ */
+ private LocalDateTime startTime;
+
+ /**
+ * 事件类型
+ */
+ private String eventType;
+
+ /**
+ * 持续时间(单位:秒)
+ */
+ private Float duration;
+
+ /**
+ * 特征幅值
+ */
+ private Float featureAmplitude;
+
+ /**
+ * 预估损失(单位:万元)
+ */
+ private Float estimatedLoss;
+
+ /**
+ * 事件描述
+ */
+ private String eventDescribe;
+
+ /**
+ * 波形文件是否从装置招到本地(0:未招,1:已招)默认值为0
+ */
+ private Integer fileFlag;
+
+ /**
+ * 波形路径
+ */
+ private String wavePath;
+
+ /**
+ * 数据来源(0-离线导入 1-监测点实际数据同步)
+ */
+ private Integer dataSource;
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgIncomingLine.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgIncomingLine.java
new file mode 100644
index 000000000..bb4e50257
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgIncomingLine.java
@@ -0,0 +1,50 @@
+package com.njcn.advance.pojo.po.govern.voltage;
+
+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 2024-02-29
+ */
+@Getter
+@Setter
+@TableName("sg_incoming_line")
+public class SgIncomingLine extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 进线id
+ */
+ private String id;
+
+ /**
+ * 业务用户id
+ */
+ private String userId;
+
+ /**
+ * 进线名称
+ */
+ private String name;
+
+ /**
+ * 关联监测点id
+ */
+ private String lineId;
+
+ /**
+ * 进线状态 0-删除;1-正常;默认正常
+ */
+ private Integer state;
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgUser.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgUser.java
new file mode 100644
index 000000000..0c6f12998
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgUser.java
@@ -0,0 +1,82 @@
+package com.njcn.advance.pojo.po.govern.voltage;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Getter
+@Setter
+@TableName("sg_user")
+public class SgUser extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 业务用户id
+ */
+ private String id;
+
+ /**
+ * 用户名
+ */
+ private String userName;
+
+ /**
+ * 行业
+ */
+ private String industry;
+
+ /**
+ * 所属区域
+ */
+ private String addr;
+
+ /**
+ * 详细地址
+ */
+ private String addrDetail;
+
+ /**
+ * 年均损失(单位:万元)
+ */
+ private Float averageLoss;
+
+ /**
+ * 联系方式
+ */
+ private String concact;
+
+ /**
+ * 关键用户(0 否,1 是)
+ */
+ private Integer keyUser;
+
+ /**
+ * 企业用户照片或logo
+ */
+ private String userLogo;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 用户状态 0-删除;1-正常;默认正常
+ */
+ private Integer state;
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/IncomingLineVO.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/IncomingLineVO.java
new file mode 100644
index 000000000..0385573cb
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/IncomingLineVO.java
@@ -0,0 +1,39 @@
+package com.njcn.advance.pojo.vo.govern.voltage;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class IncomingLineVO implements Serializable {
+
+ /**
+ * 进线id
+ */
+ private String id;
+
+ /**
+ * 业务用户id
+ */
+ private String userId;
+
+ /**
+ * 进线名称
+ */
+ private String name;
+
+ /**
+ * 关联监测点id
+ */
+ private String lineId;
+
+ /**
+ * 关联监测点名称
+ */
+ private String lineName;
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgEventVO.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgEventVO.java
new file mode 100644
index 000000000..7a4e8d629
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgEventVO.java
@@ -0,0 +1,81 @@
+package com.njcn.advance.pojo.vo.govern.voltage;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Data
+public class SgEventVO {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 暂降事件id
+ */
+ private String id;
+
+ /**
+ * 进线id
+ */
+ private String incomingLineId;
+
+ /**
+ * 进线名称
+ */
+ private String lineName;
+
+ /**
+ * 暂降起始时间
+ */
+ private LocalDateTime startTime;
+
+ /**
+ * 事件类型
+ */
+ private String eventType;
+
+ /**
+ * 持续时间(单位:秒)
+ */
+ private Float duration;
+
+ /**
+ * 特征幅值
+ */
+ private Float featureAmplitude;
+
+ /**
+ * 预估损失(单位:万元)
+ */
+ private Float estimatedLoss;
+
+ /**
+ * 事件描述
+ */
+ private String eventDescribe;
+
+ /**
+ * 波形文件是否从装置招到本地(0:未招,1:已招)默认值为0
+ */
+ private Integer fileFlag;
+
+ /**
+ * 波形路径
+ */
+ private String wavePath;
+
+ /**
+ * 数据来源(0-离线导入 1-监测点实际数据同步)
+ */
+ private Integer dataSource;
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgUserVO.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgUserVO.java
new file mode 100644
index 000000000..c5628b313
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgUserVO.java
@@ -0,0 +1,86 @@
+package com.njcn.advance.pojo.vo.govern.voltage;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Data
+public class SgUserVO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 业务用户id
+ */
+ private String id;
+
+ /**
+ * 用户名
+ */
+ private String userName;
+
+ /**
+ * 行业
+ */
+ private String industry;
+
+ /**
+ * 所属区域
+ */
+ private String addr;
+
+ /**
+ * 详细地址
+ */
+ private String addrDetail;
+
+ /**
+ * 年均损失(单位:万元)
+ */
+ private Float averageLoss;
+
+ /**
+ * 联系方式
+ */
+ private String concact;
+
+ /**
+ * 产线数量
+ */
+ private Integer productCount = 0;
+
+ /**
+ * 进线数量
+ */
+ private Integer lineCount = 0;
+
+ /**
+ * 关键用户(0 否,1 是)
+ */
+ private Integer keyUser;
+
+ /**
+ * 企业用户照片或logo
+ */
+ private String userLogo;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 用户状态 0-删除;1-正常;默认正常
+ */
+ private Integer state;
+
+
+}
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgEventController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgEventController.java
new file mode 100644
index 000000000..6e5ceceea
--- /dev/null
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgEventController.java
@@ -0,0 +1,63 @@
+package com.njcn.advance.controller.govern.voltage;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.njcn.advance.pojo.param.govern.voltage.SgEventParam;
+import com.njcn.advance.pojo.param.govern.voltage.SgUserParam;
+import com.njcn.advance.pojo.vo.govern.voltage.SgEventVO;
+import com.njcn.advance.pojo.vo.govern.voltage.SgUserVO;
+import com.njcn.advance.service.govern.voltage.ISgEventService;
+import com.njcn.common.pojo.annotation.OperateInfo;
+import com.njcn.common.pojo.enums.common.LogEnum;
+import com.njcn.common.pojo.enums.response.CommonResponseEnum;
+import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.common.utils.HttpResultUtil;
+import com.njcn.common.utils.LogUtil;
+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.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+import com.njcn.web.controller.BaseController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Slf4j
+@Validated
+@RestController
+@Api(tags = "暂降治理暂降数据控制器")
+@RequestMapping("/voltage/sgEvent")
+@RequiredArgsConstructor
+public class SgEventController extends BaseController {
+
+ private final ISgEventService sgEventService;
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/list")
+ @ApiOperation("查询指定生产线的暂降数据")
+ @ApiImplicitParam(name = "sgEventParamQueryParam", value = "查询参数", required = true)
+ public HttpResult> list(@RequestBody SgEventParam.SgEventParamQueryParam sgEventParamQueryParam) {
+ String methodDescribe = getMethodDescribe("list");
+ LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sgEventParamQueryParam);
+ Page result = sgEventService.sgEventList(sgEventParamQueryParam);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
+ }
+
+
+
+
+
+}
+
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgIncomingLineController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgIncomingLineController.java
new file mode 100644
index 000000000..19346dba1
--- /dev/null
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgIncomingLineController.java
@@ -0,0 +1,106 @@
+package com.njcn.advance.controller.govern.voltage;
+
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.njcn.advance.pojo.param.govern.voltage.IncomingLineParam;
+import com.njcn.advance.pojo.param.govern.voltage.SgUserParam;
+import com.njcn.advance.pojo.vo.govern.voltage.IncomingLineVO;
+import com.njcn.advance.pojo.vo.govern.voltage.SgUserVO;
+import com.njcn.advance.service.govern.voltage.ISgIncomingLineService;
+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.common.utils.LogUtil;
+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 com.njcn.web.controller.BaseController;
+
+import java.util.List;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author hongawen
+ * @since 2024-02-29
+ */
+@Slf4j
+@Validated
+@Api(tags = "暂降治理业务进线控制器")
+@RestController
+@RequestMapping("/sgIncomingLine")
+@RequiredArgsConstructor
+public class SgIncomingLineController extends BaseController {
+
+ private final ISgIncomingLineService sgIncomingLineService;
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @GetMapping("/list")
+ @ApiOperation("查询用户的进线数据")
+ public HttpResult> list(String userId) {
+ String methodDescribe = getMethodDescribe("list");
+ LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, userId);
+ List result = sgIncomingLineService.incomingLineList(userId);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
+ }
+
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
+ @PostMapping("/add")
+ @ApiOperation("新增业务用户的进线")
+ @ApiImplicitParam(name = "incomingLineParam", value = "进线数据", required = true)
+ public HttpResult add(@RequestBody @Validated IncomingLineParam incomingLineParam) {
+ String methodDescribe = getMethodDescribe("add");
+ LogUtil.njcnDebug(log, "{},进线数据为:{}", methodDescribe, incomingLineParam);
+ String lineId = sgIncomingLineService.addIncomingLine(incomingLineParam);
+ if (StrUtil.isNotBlank(lineId)) {
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineId, methodDescribe);
+ } else {
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
+ }
+ }
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
+ @PostMapping("/update")
+ @ApiOperation("更新业务用户的进线数据")
+ @ApiImplicitParam(name = "updateParam", value = "进线数据", required = true)
+ public HttpResult