From 314ece3ddddffe8dda9fd9edf2553914fba05dd7 Mon Sep 17 00:00:00 2001
From: hzj <826100833@qq.com>
Date: Wed, 11 Jun 2025 13:59:36 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E8=AF=84=E4=BC=B0=E7=AE=97?=
=?UTF-8?q?=E6=B3=95=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pojo/dto/assess/HarmonicsIAndZDTO.java | 17 +
.../pojo/po/assess/AssessCapacitorParam.java | 3 +-
.../pojo/po/assess/AssessDicCableType.java | 3 +-
.../po/assess/AssessDicHarmonicCharacter.java | 3 +-
.../pojo/po/assess/AssessDicShockLoad.java | 3 +-
.../pojo/po/assess/AssessDicTransformer.java | 3 +-
.../pojo/po/assess/AssessLoadParam.java | 3 +-
.../pojo/po/assess/AssessOverlimit.java | 3 +-
.../advance/pojo/po/assess/AssessResult.java | 16 +-
.../pojo/po/assess/AssessResultAddition.java | 3 +-
.../pojo/po/assess/AssessShockLoadParam.java | 3 +-
.../po/assess/AssessTransformerParam.java | 3 +-
.../advance/pojo/po/assess/AssessUser.java | 10 +-
.../pojo/po/assess/AssessWindLoadParam.java | 4 +-
.../com/njcn/advance/utils/EasyExcelUtil.java | 46 +-
.../assess/SecondaryEvaluationController.java | 42 +
.../assess/SecondaryEvaluationService.java | 14 +
.../impl/SecondaryEvaluationServiceImpl.java | 777 ++++++++++++++++++
.../assess/PowerQualityAlgorithmUtil.java | 184 +++++
.../advance/utils/assess/ReflectUtils.java | 129 +++
.../utils/assess/ThreePhaseUnbalanceUtil.java | 53 ++
.../utils/assess/VoltageDeviationUtil.java | 84 ++
.../utils/assess/VoltageFlickerUtil.java | 46 ++
.../utils/assess/VoltageFluctuationUtil.java | 87 ++
24 files changed, 1505 insertions(+), 34 deletions(-)
create mode 100644 pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/assess/HarmonicsIAndZDTO.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/assess/SecondaryEvaluationController.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/assess/SecondaryEvaluationService.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/assess/impl/SecondaryEvaluationServiceImpl.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/assess/PowerQualityAlgorithmUtil.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/assess/ReflectUtils.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/assess/ThreePhaseUnbalanceUtil.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/assess/VoltageDeviationUtil.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/assess/VoltageFlickerUtil.java
create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/assess/VoltageFluctuationUtil.java
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/assess/HarmonicsIAndZDTO.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/assess/HarmonicsIAndZDTO.java
new file mode 100644
index 000000000..209e87573
--- /dev/null
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/assess/HarmonicsIAndZDTO.java
@@ -0,0 +1,17 @@
+package com.njcn.advance.pojo.dto.assess;
+
+import lombok.Data;
+import org.apache.commons.math3.complex.Complex;
+
+/**
+ * Description:
+ * Date: 2024/8/15 15:07【需求编号】
+ *
+ * @author clam
+ * @version V1.0.0
+ */
+@Data
+public class HarmonicsIAndZDTO {
+ private Double[] i;
+ private Complex[] z;
+}
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessCapacitorParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessCapacitorParam.java
index 63dd9f9dc..31779611c 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessCapacitorParam.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessCapacitorParam.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessCapacitorParam extends BaseEntity implements Serializable {
/**
* 电容器组ID,例:b2a0ddf21992416f936b572459a3d8f4
*/
- @TableId
+ @TableId(value = "capacitor_id",type = IdType.ASSIGN_UUID)
private String capacitorId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicCableType.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicCableType.java
index c92044509..275cc639f 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicCableType.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicCableType.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessDicCableType extends BaseEntity implements Serializable {
/**
* 线路线缆类型ID 例:3491b6cce56141f1a2a0a79a15b0e91e
*/
- @TableId
+ @TableId(value = "linetype_id",type = IdType.ASSIGN_UUID)
private String linetypeId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicHarmonicCharacter.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicHarmonicCharacter.java
index 1c20571b4..92beb2875 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicHarmonicCharacter.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicHarmonicCharacter.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessDicHarmonicCharacter implements Serializable {
/**
* 谐波源特性字典ID,例:d53f0026d2f04c9e9fee6bba8386487a
*/
- @TableId
+ @TableId(value = "harm_id",type = IdType.ASSIGN_UUID)
private String harmId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicShockLoad.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicShockLoad.java
index 99cfb3097..4efa0ccb6 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicShockLoad.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicShockLoad.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessDicShockLoad extends BaseEntity implements Serializable {
/**
* 冲击负荷类型ID, 例:d19c10178eeb4da2bca1df18a050524d
*/
- @TableId
+ @TableId(value = "INPACTLOADTYPE_ID",type = IdType.ASSIGN_UUID)
private String inpactloadtypeId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicTransformer.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicTransformer.java
index 437a1ae44..34b23eb4b 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicTransformer.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessDicTransformer.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessDicTransformer extends BaseEntity implements Serializable {
/**
* 变压器类型ID,例:f401fa4abb71402bb5e9528209ea219e
*/
- @TableId
+ @TableId(value = "transtype_id",type = IdType.ASSIGN_UUID)
private String transtypeId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessLoadParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessLoadParam.java
index fe2cb9728..63c7cab0f 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessLoadParam.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessLoadParam.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessLoadParam extends BaseEntity implements Serializable {
/**
* 用户负荷ID,例:759b793da37548d8b865efdc7f461304
*/
- @TableId
+ @TableId(value = "load_id",type = IdType.ASSIGN_UUID)
private String loadId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessOverlimit.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessOverlimit.java
index 022edda16..c4ff5d5ba 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessOverlimit.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessOverlimit.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessOverlimit extends BaseEntity implements Serializable {
/**
* 评估用户ID,例:8afaa9a15707483a0157262f8e78077d
*/
- @TableId
+ @TableId(value = "assess_id",type = IdType.ASSIGN_UUID)
private String assessId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResult.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResult.java
index 5dc48d1d7..a826e3ca5 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResult.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResult.java
@@ -1,5 +1,7 @@
package com.njcn.advance.pojo.po.assess;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
@@ -27,7 +29,7 @@ public class AssessResult extends BaseEntity implements Serializable {
/**
* 评估用户ID,例:8afaa9a15707483a0157262f8e78077d
*/
- @TableId
+ @TableId(value = "assess_id",type = IdType.ASSIGN_UUID)
private String assessId;
/**
@@ -538,61 +540,73 @@ public class AssessResult extends BaseEntity implements Serializable {
/**
* 电网高峰电容器投入100%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_ON_h_100_DELTAV")
private BigDecimal capOnH100Deltav;
/**
* 电网高峰电容器投入60%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_ON_h_60_DELTAV")
private BigDecimal capOnH60Deltav;
/**
* 电网高峰电容器投入0%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_ON_h_0_DELTAV")
private BigDecimal capOnH0Deltav;
/**
* 电网高峰电容器未投入100%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_OFF_h_100_DELTAV")
private BigDecimal capOffH100Deltav;
/**
* 电网高峰电容器未投入60%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_OFF_h_60_DELTAV")
private BigDecimal capOffH60Deltav;
/**
* 电网高峰电容器未投入0%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_OFF_h_0_DELTAV")
private BigDecimal capOffH0Deltav;
/**
* 电网低谷电容器投入100%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_ON_l_100_DELTAV")
private BigDecimal capOnL100Deltav;
/**
* 电网低谷电容器投入60%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_ON_l_60_DELTAV")
private BigDecimal capOnL60Deltav;
/**
* 电网低谷电容器投入0%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_ON_l_0_DELTAV")
private BigDecimal capOnL0Deltav;
/**
* 电网低谷电容器未投入100%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_OFF_l_100_DELTAV")
private BigDecimal capOffL100Deltav;
/**
* 电网低谷电容器未投入60%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_OFF_l_60_DELTAV")
private BigDecimal capOffL60Deltav;
/**
* 电网低谷电容器未投入0%出力电压偏差,例:1.15
*/
+ @TableField(value = "CAP_OFF_l_0_DELTAV")
private BigDecimal capOffL0Deltav;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResultAddition.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResultAddition.java
index 9c4399179..3f67bde35 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResultAddition.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessResultAddition.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -27,7 +26,7 @@ public class AssessResultAddition extends BaseEntity implements Serializable {
/**
* 评估用户ID,例:8afaa9a15707483a0157262f8e78077d
*/
- @TableId
+ @TableId(value = "assess_id",type = IdType.ASSIGN_UUID)
private String assessId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessShockLoadParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessShockLoadParam.java
index 86bfb1a13..c04d84511 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessShockLoadParam.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessShockLoadParam.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -26,7 +25,7 @@ public class AssessShockLoadParam extends BaseEntity implements Serializable {
/**
* 冲击负荷ID,例:ffd5b663906648ad90811a4fcf108fec
*/
- @TableId
+ @TableId(value = "inpactload_id",type = IdType.ASSIGN_UUID)
private String inpactloadId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessTransformerParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessTransformerParam.java
index 13d65f791..3797f65f3 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessTransformerParam.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessTransformerParam.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -25,7 +24,7 @@ public class AssessTransformerParam extends BaseEntity implements Serializable
/**
* 变压器ID,例:8ead7dfa8fc0495a890fef2c847e4fea
*/
- @TableId
+ @TableId(value = "trans_id",type = IdType.ASSIGN_UUID)
private String transId;
/**
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessUser.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessUser.java
index c93effff6..bf4762b76 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessUser.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessUser.java
@@ -1,17 +1,12 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
-
-import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
-import javax.validation.constraints.NotBlank;
-
/**
*
*
@@ -30,12 +25,9 @@ public class AssessUser extends BaseEntity implements Serializable {
/**
* 评估用户ID,例:8afaa9a15707483a0157262f8e78077d
*/
- @TableId
+ @TableId(value = "assess_id",type = IdType.ASSIGN_UUID)
private String assessId;
-
- private String assessName;
-
/**
* 所属部门名称,例:南京市供电公司
*/
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessWindLoadParam.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessWindLoadParam.java
index 58851c7b3..05fc84412 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessWindLoadParam.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/assess/AssessWindLoadParam.java
@@ -1,6 +1,5 @@
package com.njcn.advance.pojo.po.assess;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
@@ -22,8 +21,7 @@ import lombok.Setter;
public class AssessWindLoadParam extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
-
- @TableId
+ @TableId(value = "windgenerator_id",type = IdType.ASSIGN_UUID)
private String windgeneratorId;
private String assessId;
diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/utils/EasyExcelUtil.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/utils/EasyExcelUtil.java
index fe8207345..0e8350afb 100644
--- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/utils/EasyExcelUtil.java
+++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/utils/EasyExcelUtil.java
@@ -15,6 +15,7 @@ import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.stream.Collectors;
/**
* Description:
@@ -378,7 +379,50 @@ public class EasyExcelUtil {
}
public static void main(String[] args) {
- List