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 05ba5093e..fda041ec4 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
@@ -31,16 +31,28 @@ public enum AdvanceResponseEnum {
RESPONSIBILITY_PARAMETER_ERROR("A0101","调用接口程序计算失败,参数非法"),
EVENT_EMPTY("A0102","没有查询到未分析事件"),
+
USER_NAME_EXIST("A0103","用户名已存在"),
+
DATA_NOT_FOUND("A0104","数据缺失,请根据模版上传近两周数据"),
+
DATA_UNDERRUN("A0104","数据量不足,请根据模版上传充足近两周数据"),
+
DOCUMENT_FORMAT_ERROR("A0105","数据缺失,导入失败!请检查导入文档的格式是否正确"),
+
USER_LOST("A0106","干扰源用户缺失"),
UNCOMPLETE_STRATEGY("A0106","配置安全,III级预警,II级预警,I级预警4条完整策略"),
EXISTENCE_EVALUATION_RESULT("A0104","存在评结果结果,如要评估,请删除后评估"),
+
SG_USER_NAME_REPEAT("A0102","业务用户名重复"),
+ SG_PRODUCT_LINE_NAME_REPEAT("A0102","生产线名重复"),
+
SG_USER_ID_MISS("A0102","业务用户id缺失"),
+
+ SG_PRODUCT_LINE_ID_MISS("A0102","生产线id缺失"),
+
+ SG_MACHINE_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/SgEventParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgEventParam.java
index 29911c400..0fbcafa43 100644
--- 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
@@ -47,19 +47,19 @@ public class SgEventParam {
*/
@ApiModelProperty("持续时间")
@NotNull(message = ValidMessage.MISS_PREFIX + "duration")
- private Float duration;
+ private Double duration;
/**
* 特征幅值
*/
@ApiModelProperty("特征幅值")
@NotNull(message = ValidMessage.MISS_PREFIX + "featureAmplitude")
- private Float featureAmplitude;
+ private Double featureAmplitude;
/**
* 预估损失(单位:万元)
*/
- private Float estimatedLoss;
+ private Double estimatedLoss;
/**
* 事件描述
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgMachineParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgMachineParam.java
new file mode 100644
index 000000000..824f9c56d
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgMachineParam.java
@@ -0,0 +1,96 @@
+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.NotNull;
+import javax.validation.constraints.Pattern;
+
+@Data
+public class SgMachineParam {
+
+ /**
+ * 生产线id
+ */
+ @ApiModelProperty("生产线id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "productLineId")
+ private String productLineId;
+
+ /**
+ * 设备名称
+ */
+ @ApiModelProperty("设备名称")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "name")
+ private String name;
+
+ /**
+ * 设备型号
+ */
+ @ApiModelProperty("设备型号")
+ private String type;
+
+ /**
+ * 是否已安装补偿装置进行治理,默认为0(0 否;1 是)
+ */
+ @ApiModelProperty("是否已安装补偿装置")
+ private Integer governFlag = 0;
+
+ /**
+ * 中断导致的设备损失(默认为0)
+ */
+ @ApiModelProperty("中断导致的设备损失")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "machineLoss")
+ private Double machineLoss;
+
+ /**
+ * 中断导致的原料损失(默认为0)
+ */
+ @ApiModelProperty("中断导致的原料损失")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "materialLoss")
+ private Double materialLoss;
+
+ /**
+ * 功率(默认为0)
+ */
+ @ApiModelProperty("功率")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "machinePower")
+ private Double machinePower;
+
+ /**
+ * 更新操作实体
+ */
+ @Data
+ @EqualsAndHashCode(callSuper = true)
+ public static class SgMachineUpdateParam extends SgMachineParam {
+
+ /**
+ * 表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 SgMachineQueryParam extends BaseParam {
+
+ @ApiModelProperty("生产线id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "productLineId")
+ private String productLineId;
+
+ }
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgProductLineParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgProductLineParam.java
new file mode 100644
index 000000000..9246d211b
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgProductLineParam.java
@@ -0,0 +1,94 @@
+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.NotNull;
+import javax.validation.constraints.Pattern;
+import java.util.List;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-03-14
+ */
+@Data
+public class SgProductLineParam {
+
+
+ /**
+ * 业务用户id
+ */
+ @ApiModelProperty("业务用户id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "userId")
+ private String userId;
+
+ /**
+ * 进线id
+ */
+ @ApiModelProperty("进线id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "incomingLineId")
+ private String incomingLineId;
+
+ /**
+ * 生产线名称
+ */
+ @ApiModelProperty("生产线名称")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "name")
+ private String name;
+
+ /**
+ * 计算模式 0-模式一(单次中断不计算设备、原料损失);1-模式二(计算)
+ */
+ @ApiModelProperty("计算模式")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "calcMode")
+ private Integer calcMode;
+
+ /**
+ * 中断导致的产能损失(默认为0)
+ */
+ @ApiModelProperty("中断导致的产能损失")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "capacityLoss")
+ private Double capacityLoss;
+
+ /**
+ * 更新操作实体
+ */
+ @Data
+ @EqualsAndHashCode(callSuper = true)
+ public static class SgProductLineUpdateParam extends SgProductLineParam {
+
+ /**
+ * 表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 SgProductLineQueryParam extends BaseParam {
+
+ @ApiModelProperty("业务用户id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "userId")
+ private String userId;
+
+ }
+
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgSensitiveUnitParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgSensitiveUnitParam.java
new file mode 100644
index 000000000..55fb24b23
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/param/govern/voltage/SgSensitiveUnitParam.java
@@ -0,0 +1,110 @@
+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.NotNull;
+import javax.validation.constraints.Pattern;
+
+@Data
+public class SgSensitiveUnitParam {
+
+
+ /**
+ * 设备id
+ */
+ @ApiModelProperty("设备id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "machineId")
+ private String machineId;
+
+ /**
+ * 元器件名称
+ */
+ @ApiModelProperty("元器件名称")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "name")
+ private String name;
+
+ /**
+ * 类型
+ */
+ @ApiModelProperty("类型")
+ private String type;
+
+ /**
+ * 灵敏度(0 平均,1 高,2 中,3 低)
+ */
+ @ApiModelProperty("灵敏度")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "sensitivity")
+ private Integer sensitivity = 0;
+
+ /**
+ * 耐受能力是否为标准值(0 否,1 是)
+ */
+ @ApiModelProperty("耐受能力是否为标准值(0 否,1 是)")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "standardFlag")
+ private Integer standardFlag = 0;
+
+ /**
+ * 上限曲线-持续时间(ms)
+ */
+ @ApiModelProperty("上限曲线-持续时间(ms)")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "vtcTimeUpper")
+ private Double vtcTimeUpper;
+
+ /**
+ * 上限曲线-暂降幅值(p.u.)
+ */
+ @ApiModelProperty("上限曲线-暂降幅值(p.u.)")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "vtcAmpUpper")
+ private Double vtcAmpUpper;
+
+ /**
+ * 下限曲线-持续时间(ms)
+ */
+ @ApiModelProperty("下限曲线-持续时间(ms)")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "vtcTimeLower")
+ private Double vtcTimeLower;
+
+ /**
+ * 下限曲线-暂降幅值(p.u.)
+ */
+ @ApiModelProperty("下限曲线-暂降幅值(p.u.)")
+ @NotNull(message = ValidMessage.MISS_PREFIX + "vtcAmpLower")
+ private Double vtcAmpLower;
+
+ /**
+ * 更新操作实体
+ */
+ @Data
+ @EqualsAndHashCode(callSuper = true)
+ public static class SgSensitiveUnitUpdateParam extends SgMachineParam {
+
+ /**
+ * 表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 SgSensitiveUnitQueryParam extends BaseParam {
+
+ @ApiModelProperty("设备id")
+ @NotBlank(message = ValidMessage.MISS_PREFIX + "machineId")
+ private String machineId;
+
+ }
+}
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
index bf7639313..051a11eea 100644
--- 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
@@ -60,7 +60,7 @@ public class SgUserParam {
* 年均损失(单位:万元)
*/
@ApiModelProperty("年均损失(单位:万元)")
- private Float averageLoss;
+ private Double averageLoss;
/**
* 联系方式
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
index 578f5fdc8..e8157794b 100644
--- 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
@@ -46,17 +46,17 @@ public class SgEvent {
/**
* 持续时间(单位:秒)
*/
- private Float duration;
+ private Double duration;
/**
* 特征幅值
*/
- private Float featureAmplitude;
+ private Double featureAmplitude;
/**
* 预估损失(单位:万元)
*/
- private Float estimatedLoss;
+ private Double estimatedLoss;
/**
* 事件描述
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgMachine.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgMachine.java
new file mode 100644
index 000000000..79e3f9f01
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgMachine.java
@@ -0,0 +1,69 @@
+package com.njcn.advance.pojo.po.govern.voltage;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-03-14
+ */
+@Getter
+@Setter
+@TableName("sg_machine")
+public class SgMachine extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 设备id
+ */
+ private String id;
+
+ /**
+ * 生产线id
+ */
+ private String productLineId;
+
+ /**
+ * 设备名称
+ */
+ private String name;
+
+ /**
+ * 设备型号
+ */
+ private String type;
+
+ /**
+ * 是否已安装补偿装置进行治理,默认为0(0 否;1 是)
+ */
+ private Integer governFlag;
+
+ /**
+ * 中断导致的设备损失(默认为0)
+ */
+ private Double machineLoss;
+
+ /**
+ * 中断导致的原料损失(默认为0)
+ */
+ private Double materialLoss;
+
+ /**
+ * 功率(默认为0)
+ */
+ private Double machinePower;
+
+ /**
+ * 用户状态 0-删除;1-正常;默认正常
+ */
+ private Integer state;
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgProductLine.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgProductLine.java
new file mode 100644
index 000000000..4f9a43e9b
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgProductLine.java
@@ -0,0 +1,62 @@
+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-03-14
+ */
+@Getter
+@Setter
+@TableName("sg_product_line")
+public class SgProductLine extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 生产线id
+ */
+ private String id;
+
+ /**
+ * 业务用户id
+ */
+ private String userId;
+
+ /**
+ * 进线id
+ */
+ private String incomingLineId;
+
+ /**
+ * 生产线名称
+ */
+ private String name;
+
+ /**
+ * 计算模式 0-模式一(单次中断不计算设备、原料损失);1-模式二(计算)
+ */
+ private Integer calcMode;
+
+ /**
+ * 中断导致的产能损失(默认为0)
+ */
+ private Float capacityLoss;
+
+ /**
+ * 用户状态 0-删除;1-正常;默认正常
+ */
+ private Integer state;
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgSensitiveUnit.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgSensitiveUnit.java
new file mode 100644
index 000000000..e60bc8d0d
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/govern/voltage/SgSensitiveUnit.java
@@ -0,0 +1,84 @@
+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-03-14
+ */
+@Getter
+@Setter
+@TableName("sg_sensitive_unit")
+public class SgSensitiveUnit extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 敏感元器件id
+ */
+ private String id;
+
+ /**
+ * 设备id
+ */
+ private String machineId;
+
+ /**
+ * 元器件名称
+ */
+ private String name;
+
+ /**
+ * 类型
+ */
+ private String type;
+
+ /**
+ * 灵敏度(0 平均,1 高,2 中,3 低)
+ */
+ private Integer sensitivity;
+
+ /**
+ * 耐受能力是否为标准值(0 否,1 是)
+ */
+ private Integer standardFlag;
+
+ /**
+ * 上限曲线-持续时间(ms)
+ */
+ private Double vtcTimeUpper;
+
+ /**
+ * 上限曲线-暂降幅值(p.u.)
+ */
+ private Double vtcAmpUpper;
+
+ /**
+ * 下限曲线-持续时间(ms)
+ */
+ private Double vtcTimeLower;
+
+ /**
+ * 下限曲线-暂降幅值(p.u.)
+ */
+ private Double vtcAmpLower;
+
+ /**
+ * 用户状态 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
index 0c6f12998..b7b1a95c9 100644
--- 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
@@ -51,7 +51,7 @@ public class SgUser extends BaseEntity {
/**
* 年均损失(单位:万元)
*/
- private Float averageLoss;
+ private Double averageLoss;
/**
* 联系方式
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
index 7a4e8d629..a479b44e2 100644
--- 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
@@ -45,17 +45,17 @@ public class SgEventVO {
/**
* 持续时间(单位:秒)
*/
- private Float duration;
+ private Double duration;
/**
* 特征幅值
*/
- private Float featureAmplitude;
+ private Double featureAmplitude;
/**
* 预估损失(单位:万元)
*/
- private Float estimatedLoss;
+ private Double estimatedLoss;
/**
* 事件描述
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgMachineVO.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgMachineVO.java
new file mode 100644
index 000000000..fea1a5e89
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgMachineVO.java
@@ -0,0 +1,49 @@
+package com.njcn.advance.pojo.vo.govern.voltage;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class SgMachineVO implements Serializable {
+
+ /**
+ * 设备id
+ */
+ private String id;
+
+ /**
+ * 生产线id
+ */
+ private String productLineId;
+
+ /**
+ * 设备名称
+ */
+ private String name;
+
+ /**
+ * 设备型号
+ */
+ private String type;
+
+ /**
+ * 是否已安装补偿装置进行治理,默认为0(0 否;1 是)
+ */
+ private Integer governFlag;
+
+ /**
+ * 中断导致的设备损失(默认为0)
+ */
+ private Double machineLoss;
+
+ /**
+ * 中断导致的原料损失(默认为0)
+ */
+ private Double materialLoss;
+
+ /**
+ * 功率(默认为0)
+ */
+ private Double machinePower;
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgProductLineVO.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgProductLineVO.java
new file mode 100644
index 000000000..ea291eb59
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgProductLineVO.java
@@ -0,0 +1,83 @@
+package com.njcn.advance.pojo.vo.govern.voltage;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author hongawen
+ * @since 2024-03-14
+ */
+@Data
+public class SgProductLineVO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 生产线id
+ */
+ private String id;
+
+ /**
+ * 业务用户id
+ */
+ private String userId;
+
+ /**
+ * 业务用户名称
+ */
+ private String userName;
+
+ /**
+ * 进线id
+ */
+ private String incomingLineId;
+
+ /**
+ * 进线名称
+ */
+ private String incomingLineName;
+
+ /**
+ * 生产线名称
+ */
+ private String name;
+
+ /**
+ * 计算模式 0-模式一(单次中断不计算设备、原料损失);1-模式二(计算)
+ */
+ private Integer calcMode;
+
+ /**
+ * 中断导致的产能损失(默认为0)
+ */
+ private Double capacityLoss = 0.0;
+
+ /**
+ * 生产线下所有设备该数据求和
+ * 中断导致的设备损失(默认为0)
+ */
+ private Double machineLoss = 0.0;
+
+ /**
+ * 生产线下所有设备该数据求和
+ * 中断导致的原料损失(默认为0)
+ */
+ private Double materialLoss = 0.0;
+
+ /**
+ * 生产线下所有设备该数据求和
+ * 功率(默认为0)
+ */
+ private Double machinePower = 0.0;
+
+
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgSensitiveUnitVO.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgSensitiveUnitVO.java
new file mode 100644
index 000000000..56504c755
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/vo/govern/voltage/SgSensitiveUnitVO.java
@@ -0,0 +1,63 @@
+package com.njcn.advance.pojo.vo.govern.voltage;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class SgSensitiveUnitVO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 敏感元器件id
+ */
+ private String id;
+
+ /**
+ * 设备id
+ */
+ private String machineId;
+
+ /**
+ * 元器件名称
+ */
+ private String name;
+
+ /**
+ * 类型
+ */
+ private String type;
+
+ /**
+ * 灵敏度(0 平均,1 高,2 中,3 低)
+ */
+ private Integer sensitivity;
+
+ /**
+ * 耐受能力是否为标准值(0 否,1 是)
+ */
+ private Integer standardFlag;
+
+ /**
+ * 上限曲线-持续时间(ms)
+ */
+ private Double vtcTimeUpper;
+
+ /**
+ * 上限曲线-暂降幅值(p.u.)
+ */
+ private Double vtcAmpUpper;
+
+ /**
+ * 下限曲线-持续时间(ms)
+ */
+ private Double vtcTimeLower;
+
+ /**
+ * 下限曲线-暂降幅值(p.u.)
+ */
+ private Double vtcAmpLower;
+
+
+}
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
index c5628b313..aba48cbd5 100644
--- 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
@@ -45,7 +45,7 @@ public class SgUserVO implements Serializable {
/**
* 年均损失(单位:万元)
*/
- private Float averageLoss;
+ private Double averageLoss;
/**
* 联系方式
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
index 19346dba1..339937d12 100644
--- 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
@@ -2,11 +2,8 @@ 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;
@@ -50,7 +47,7 @@ public class SgIncomingLineController extends BaseController {
@ApiOperation("查询用户的进线数据")
public HttpResult> list(String userId) {
String methodDescribe = getMethodDescribe("list");
- LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, userId);
+ LogUtil.njcnDebug(log, "{},查询进线数据为:{}", methodDescribe, userId);
List result = sgIncomingLineService.incomingLineList(userId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgMachineController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgMachineController.java
new file mode 100644
index 000000000..65ad76d2b
--- /dev/null
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/govern/voltage/SgMachineController.java
@@ -0,0 +1,112 @@
+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.SgMachineParam;
+import com.njcn.advance.pojo.vo.govern.voltage.SgMachineVO;
+import com.njcn.advance.service.govern.voltage.ISgMachineService;
+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.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;
+
+import java.util.List;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author hongawen
+ * @since 2024-03-14
+ */
+@Slf4j
+@Validated
+@Api(tags = "暂降治理设备控制器")
+@RestController
+@RequestMapping("/sgMachine")
+@RequiredArgsConstructor
+public class SgMachineController extends BaseController {
+
+ private final ISgMachineService sgMachineService;
+
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/list")
+ @ApiOperation("查询设备数据")
+ @ApiImplicitParam(name = "sgMachineQueryParam", value = "查询参数", required = true)
+ public HttpResult> list(@RequestBody SgMachineParam.SgMachineQueryParam sgMachineQueryParam) {
+ String methodDescribe = getMethodDescribe("list");
+ LogUtil.njcnDebug(log, "{},查询设备数据为:{}", methodDescribe, sgMachineQueryParam);
+ Page result = sgMachineService.sgMachineListByProductLineId(sgMachineQueryParam);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
+ }
+
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
+ @PostMapping("/add")
+ @ApiOperation("新增设备")
+ @ApiImplicitParam(name = "sgMachineParam", value = "设备数据", required = true)
+ public HttpResult add(@RequestBody @Validated SgMachineParam sgMachineParam) {
+ String methodDescribe = getMethodDescribe("add");
+ LogUtil.njcnDebug(log, "{},设备数据:{}", methodDescribe, sgMachineParam);
+ String machineId = sgMachineService.addMachine(sgMachineParam);
+ if (StrUtil.isNotBlank(machineId)) {
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, machineId, 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