raojiang 6 місяців тому
батько
коміт
126f042af5
100 змінених файлів з 3234 додано та 0 видалено
  1. 14 0
      api/load-transfer-mq-api/pom.xml
  2. 23 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/feign/IPlanCreateClient.java
  3. 108 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/AbnormalMessageDataDTO.java
  4. 17 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/AbnormalOperationDTO.java
  5. 10 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/ApiAbnormalDataDTO.java
  6. 12 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/BreakerOpDTO.java
  7. 20 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/FeederDTO.java
  8. 20 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/FeederResultDTO.java
  9. 11 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/HotCheckDTO.java
  10. 20 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/ListFeederDTO.java
  11. 23 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/ListSwitchOpDTO.java
  12. 29 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/SwitchDetailDTO.java
  13. 12 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/SwitchResultDTO.java
  14. 11 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/SwitchSeqDTO.java
  15. 18 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/VolDetailDTO.java
  16. 12 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/VolResultDTO.java
  17. 23 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/AllSwitchInfoDTO.java
  18. 16 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/AllSwitchInfoListDTO.java
  19. 34 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/ApiDataDTO.java
  20. 40 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/AreaDeviceDTO.java
  21. 34 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/BreakerInfoDTO.java
  22. 34 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/CbResultDTO.java
  23. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/DeviceBaeDTO.java
  24. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FeederCheckRuleDTO.java
  25. 41 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FinalBreakerSafetyCheckResultDTO.java
  26. 20 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FinalCheckDTO.java
  27. 33 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FinalSegResultDTO.java
  28. 60 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/HotCheckDTO.java
  29. 27 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LinkFeederDTO.java
  30. 25 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LinkLineDTO.java
  31. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LinkSwitchDTO.java
  32. 25 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LoopCheckRuleDTO.java
  33. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/MetricValueDTO.java
  34. 17 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/PowerOutageAreaDTO.java
  35. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/PowerTransformerInfoDTO.java
  36. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SectionXferPlanDTO.java
  37. 34 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SegResultDTO.java
  38. 22 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SeriesDTO.java
  39. 29 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SupplyAreaDTO.java
  40. 27 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SwitchInfoDTO.java
  41. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/TimeSeriesDTO.java
  42. 17 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/TransCustomerDTO.java
  43. 17 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/WholeXferPlanDTO.java
  44. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XAxisDTO.java
  45. 27 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XferFeederDTO.java
  46. 28 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XferPlanDTO.java
  47. 37 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XferSupplyAreaDTO.java
  48. 32 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/plan/PlanCreateSwitchDTO.java
  49. 132 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/util/CurrentValueJsonUtil.java
  50. 16 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AllSwitchInfoDTO.java
  51. 16 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AllSwitchInfoListDTO.java
  52. 42 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/ApiDataDTO.java
  53. 40 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AreaDeviceDTO.java
  54. 200 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AreaVoltViolationDTO.java
  55. 34 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/BreakerInfoDTO.java
  56. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/BusVoltCurveDTO.java
  57. 34 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/CbResultDTO.java
  58. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/DeviceBaeDTO.java
  59. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FeederCheckRuleDTO.java
  60. 14 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FeederInfoDTO.java
  61. 41 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FinalBreakerSafetyCheckResultDTO.java
  62. 20 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FinalCheckDTO.java
  63. 33 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FinalSegResultDTO.java
  64. 60 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/HotCheckDTO.java
  65. 190 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LineVoltage.java
  66. 27 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LinkFeederDTO.java
  67. 25 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LinkLineDTO.java
  68. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LinkSwitchDTO.java
  69. 25 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LoopCheckRuleDTO.java
  70. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/MetricValueDTO.java
  71. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/MvTransPsrListDTO.java
  72. 17 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/PowerOutageAreaDTO.java
  73. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/PowerTransformerInfoDTO.java
  74. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SectionXferPlanDTO.java
  75. 34 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SegResultDTO.java
  76. 22 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SeriesDTO.java
  77. 29 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SupplyAreaDTO.java
  78. 27 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SwitchInfoDTO.java
  79. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SwitchPsrListDTO.java
  80. 13 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SwitchWithMeasurementDTO.java
  81. 21 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/TimeSeriesDTO.java
  82. 17 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/TransCustomerDTO.java
  83. 84 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/VoltageTransferDataDTO.java
  84. 31 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/VoltageTransferResponseDTO.java
  85. 17 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/WholeXferPlanDTO.java
  86. 19 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XAxisDTO.java
  87. 27 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XferFeederDTO.java
  88. 33 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XferPlanDTO.java
  89. 46 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XferSupplyAreaDTO.java
  90. 60 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/Feeder.java
  91. 79 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederOutBreaker.java
  92. 23 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederOutBreakerResult.java
  93. 16 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederResult.java
  94. 45 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederXfer.java
  95. 20 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederXferResult.java
  96. 20 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FinalCheck.java
  97. 66 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/Scheme.java
  98. 65 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/SwitchDetail.java
  99. 16 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/SwitchOp.java
  100. 38 0
      api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/SwitchOperation.java

+ 14 - 0
api/load-transfer-mq-api/pom.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.hdkj</groupId>
+        <artifactId>api</artifactId>
+        <version>${revision}</version>
+    </parent>
+
+    <artifactId>load-transfer-mq-api</artifactId>
+
+</project>

+ 23 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/feign/IPlanCreateClient.java

@@ -0,0 +1,23 @@
+package com.hdkj.lt.feign;
+
+import com.hdkj.hussar.ApiResponse;
+import com.hdkj.lt.base.constants.SystemGlobalConstant;
+import com.hdkj.lt.modle.dto.plan.PlanCreateSwitchDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * @author rj
+ * @date 2025/9/1 16:16
+ * @description
+ */
+@FeignClient(value = SystemGlobalConstant.SERVICE_NAME_LOAD_TRANSFER_MQ)
+public interface IPlanCreateClient {
+
+    @PostMapping("/feign/checkPowerOutArea")
+    Boolean checkPowerOutArea(PlanCreateSwitchDTO planCreateSwitchDTO);
+
+    @PostMapping("/feign/createPlanPowerCut")
+    ApiResponse<Boolean> createPlanPowerCut(PlanCreateSwitchDTO planCreateSwitchDTO);
+
+}

+ 108 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/AbnormalMessageDataDTO.java

@@ -0,0 +1,108 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 运行方式优化通知接收类
+ */
+@Data
+public class AbnormalMessageDataDTO {
+    /**
+     * 运行方式优化事件唯一标识,可以通过该标识获取运行方式优化结果
+     */
+    @ApiModelProperty(value = "运行方式优化事件唯一标识,可以通过该标识获取运行方式优化结果")
+    private String id;
+
+    /**
+     * 触发时间,格式“YYYYY-MM-DD hh:mm:ss”
+     */
+    @ApiModelProperty(value = "触发时间,格式“YYYYY-MM-DD hh:mm:ss”")
+    private Date dateTime;
+
+    /**
+     * 触发原因:0手动触发,1预测重过载触发,2故障停电触发
+     */
+    @ApiModelProperty(value = "触发原因:0手动触发,1预测重过载触发,2故障停电触发")
+    private int reason;
+
+    /**
+     * 调优类型 0-重过载 1-电压越限
+     */
+    private String loadAlarmType;
+
+    /**
+     * 线路列表,设计成list,支持多条线路共同进行运行方式调优
+     */
+    @ApiModelProperty(value = "线路列表,设计成list,支持多条线路共同进行运行方式调优")
+    private List<Feeder> feeders;
+
+    @Data
+    public static class Feeder {
+        /**
+         * 线路id
+         */
+        @ApiModelProperty(value = "线路id")
+        private String psrId;
+
+        /**
+         * 线路类型
+         */
+        @ApiModelProperty(value = "线路类型")
+        private String psrType;
+
+        /**
+         * 额定电流(单位A)
+         */
+        @ApiModelProperty(value = "额定电流(单位A)")
+        private BigDecimal rateCurrent;
+
+        /**
+         * 负载率告警类型(0 正常 1重载 2过载 3轻载)
+         */
+        @ApiModelProperty(value = "负载率告警类型(0 正常 1重载 2过载 3轻载)")
+        private int loadAlarmType;
+
+        /**
+         * 告警开始时间,格式“YYYYY-MM-DD hh:mm:ss”
+         */
+        @ApiModelProperty(value = "告警开始时间,格式“YYYYY-MM-DD hh:mm:ss”")
+        private Date loadAlarmStartTime;
+
+        /**
+         * 告警结束时间,格式“YYYYY-MM-DD hh:mm:ss”
+         */
+        @ApiModelProperty(value = "告警结束时间,格式“YYYYY-MM-DD hh:mm:ss”")
+        private Date loadAlarmEndTime;
+
+        /**
+         * 最大负载时刻
+         */
+        @ApiModelProperty(value = "最大负载时刻")
+        private Date maxLoadTime;
+
+        /**
+         * 最大负载率
+         */
+        @ApiModelProperty(value = "最大负载率")
+        private BigDecimal maxLoad;
+
+        /**
+         * 线路负荷最低电压
+         */
+        private String minVol;
+
+        /**
+         * 线路负荷最高电压
+         */
+        private String maxVol;
+
+    }
+
+}

+ 17 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/AbnormalOperationDTO.java

@@ -0,0 +1,17 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+import lombok.Data;
+
+/**
+ * 运行调优计算推演平台返回参数
+ */
+@Data
+public class AbnormalOperationDTO {
+    private String computeResult; // 计算状态,无效计算任务ID(notFoundTask)、任务计算中(computing)、任务计算失败(computeError)、计算成功(computeOK)
+    private String detailDesc; // 计算状态详情描述,用于调试用的详情
+    private SwitchSeqDTO switchSeq;
+    private FeederResultDTO feederResult; // 网络重构前后的线路运行指标结果
+    private VolResultDTO volResult; // 网络重构前后的电压分析结果
+    private SwitchResultDTO switchResult; // 线路组所有分段开关、分支开关节点的PQUI
+}
+

+ 10 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/ApiAbnormalDataDTO.java

@@ -0,0 +1,10 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import lombok.Data;
+
+@Data
+public class ApiAbnormalDataDTO {
+    private String id;
+    private AbnormalOperationDTO result;
+}

+ 12 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/BreakerOpDTO.java

@@ -0,0 +1,12 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+import lombok.Data;
+
+@Data
+public class BreakerOpDTO {
+    private String breaker_id;
+    private String name;
+    private String autoType; // 自动化类型(如auto3Y)
+    private String operation_type; // 操作类型(open/close)
+    private String timestamp; // 操作时间
+}

+ 20 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/FeederDTO.java

@@ -0,0 +1,20 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class FeederDTO {
+    private String psrID;
+    private String psrType; // 设备类型(如dkx)
+    private String name; // 线路名称
+    private BigDecimal rateCurrent; // 线路的额定电流(A)
+    private BigDecimal beforeI; // 优化前的线路电流(A)
+    private BigDecimal afterI; // 优化后的线路电流(A)
+//    private BigDecimal[] beforeDayI; // 优化前的典型日96时刻电流(A)
+//    private BigDecimal[] afterDayI; // 优化后的典型日96时刻电流(A)
+    private BigDecimal lineLossBefore; // 优化前本线路的线损,MW
+    private BigDecimal lineLossAfter; // 优化后本线路的线损,MW
+}

+ 20 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/FeederResultDTO.java

@@ -0,0 +1,20 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+
+@Data
+public class FeederResultDTO {
+    private List<ListFeederDTO> listFeeder; // 线路列表
+    private BigDecimal maxBeforeI; // 优化前所有线路的最大电流
+    private BigDecimal maxAfterI; // 优化后所有线路的最大电流
+    private BigDecimal lineLossBefore; // 优化前所有线路的线损,MW
+    private BigDecimal lineLossAfter; // 优化后所有线路的线损,MW
+    private BigDecimal minVolBefore; // 优化前的公专变最低电压,kV
+    private BigDecimal maxVolBefore; // 优化前的公专变最高电压,kV
+    private BigDecimal minVolAfter; // 优化后的公专变最低电压,kV
+    private BigDecimal maxVolAfter; // 优化后的公专变最高电压,kV
+}

+ 11 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/HotCheckDTO.java

@@ -0,0 +1,11 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import lombok.Data;
+
+@Data
+public class HotCheckDTO {
+    private Boolean is_safe; // 是否安全
+    private String reason; // 安全原因
+
+}

+ 20 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/ListFeederDTO.java

@@ -0,0 +1,20 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ListFeederDTO {
+    private String psrID;
+    private String psrType;
+    private String name;
+    private BigDecimal rateCurrent; // 线路的额定电流(A)
+    private BigDecimal beforeI; // 优化前的线路电流(A)
+    private BigDecimal afterI; // 优化后的线路电流(A)
+//    private BigDecimal[] beforeDayI; // 优化前的典型日96时刻电流(A)
+//    private BigDecimal[] afterDayI; // 优化后的典型日96时刻电流(A)
+    private BigDecimal lineLossBefore; // 优化前本线路的线损,MW
+    private BigDecimal lineLossAfter; // 优化后本线路的线损,MW
+}

+ 23 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/ListSwitchOpDTO.java

@@ -0,0 +1,23 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import lombok.Data;
+
+@Data
+public class ListSwitchOpDTO {
+    private BreakerOpDTO closeBreakerOp;
+    private BreakerOpDTO openBreakerOp;
+    /**
+     * 负荷转入(即带供线路,也就是之前说的对侧线路)
+     */
+    private FeederDTO feederIn;
+    /**
+     * 负荷转出(即被转供线路,也就是之前说的本侧线路)
+     */
+    private FeederDTO feederOut;
+    private HotCheckDTO hotCheck;
+    private Double deltaLoss; // 本步操作之后的线损减少量,单位是MW
+    private Double deltaI; // 本步操作转移的负荷,单位是A,最大电流下降的值
+    private FeederDTO feeder1; // 优化线路1(部分操作使用)
+    private FeederDTO feeder2; // 优化线路2(部分操作使用)
+}

+ 29 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/SwitchDetailDTO.java

@@ -0,0 +1,29 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SwitchDetailDTO {
+    @ApiModelProperty(value = "开关id")
+    private String psrID;
+    @ApiModelProperty(value = "开关名称")
+    private String name;
+    @ApiModelProperty(value = "开关类型(如0305)")
+    private String psrType; // 开关类型(如0305)
+    @ApiModelProperty(value = "自动化类型")
+    private String autoType; // 自动化类型
+    @ApiModelProperty(value = "优化前状态(open/close)")
+    private String beforeState; // 优化前状态(open/close)
+    @ApiModelProperty(value = "优化前电流")
+    private Double beforeI; // 优化前电流
+    @ApiModelProperty(value = "优化前电压")
+    private Double beforeU; // 优化前电压
+    @ApiModelProperty(value = "优化后状态")
+    private String afterState; // 优化后状态
+    @ApiModelProperty(value = "优化后电流")
+    private Double afterI; // 优化后电流
+    @ApiModelProperty(value = "优化后电压")
+    private Double afterU; // 优化后电压
+}

+ 12 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/SwitchResultDTO.java

@@ -0,0 +1,12 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+import lombok.Data;
+
+import java.util.List;
+
+
+@Data
+public class SwitchResultDTO {
+    private String summary;
+    private List<SwitchDetailDTO> details; // 开关详情列表
+}

+ 11 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/SwitchSeqDTO.java

@@ -0,0 +1,11 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+import lombok.Data;
+
+import java.util.List;
+
+
+@Data
+public class SwitchSeqDTO {
+    private List<ListSwitchOpDTO> listSwitchOp;
+}

+ 18 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/VolDetailDTO.java

@@ -0,0 +1,18 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class VolDetailDTO {
+    private String psrID;
+    private String name;
+    private String psrType;
+    private String loadType; // 负荷类型(公变/专变)
+    private BigDecimal before_U; // 调优前高压侧电压
+    private BigDecimal after_U; // 调优后高压侧电压
+    private BigDecimal before_Ulv; // 调优前低压侧电压(公变特有)
+    private BigDecimal after_Ulv; // 调优后低压侧电压(公变特有)
+}

+ 12 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/abnormal/VolResultDTO.java

@@ -0,0 +1,12 @@
+package com.hdkj.lt.modle.dto.abnormal;
+
+import lombok.Data;
+
+import java.util.List;
+
+
+@Data
+public class VolResultDTO {
+    private String summary;
+    private List<VolDetailDTO> details; // 电压详情列表
+}

+ 23 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/AllSwitchInfoDTO.java

@@ -0,0 +1,23 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author rj
+ * @date 2025/7/1 15:26
+ * @description
+ */
+@Data
+public class AllSwitchInfoDTO {
+    private String psrID;
+    private String psrType;
+    private String name;
+    private String description;
+    private List<BigDecimal> p;
+    private List<BigDecimal> q;
+    private List<BigDecimal> u;
+    private List<BigDecimal> i;
+}

+ 16 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/AllSwitchInfoListDTO.java

@@ -0,0 +1,16 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author rj
+ * @date 2025/7/1 15:24
+ * @description
+ */
+@Data
+public class AllSwitchInfoListDTO {
+    private String feederId;
+    private List<AllSwitchInfoDTO> allSwitchList;
+}

+ 34 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/ApiDataDTO.java

@@ -0,0 +1,34 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 计算推演平台ApiData对象
+ * @Author wcx
+ * @Date 2025/5/23 17:49
+ * @Version 1.0
+ */
+@ApiModel(value = "负荷转供配电成图文件关联参数")
+@Data
+public class ApiDataDTO {
+    // 参数校验结果
+    private String inputParamCheck;
+    // 是否可以转供
+    private Boolean hasSupplyAreaToTransfer;
+    // 待转供区域列表
+    private List<SupplyAreaDTO> supplyAreaList;
+    // 停电区域列表
+    private List<PowerOutageAreaDTO> powerOutageAreaList;
+    // 转供方案组合
+    private List<XferPlanDTO> xferPlanList;
+    // 合环校验的参数配置
+    private LoopCheckRuleDTO loopCheckRule;
+    // 转供前开关pqui信息
+    private List<AllSwitchInfoListDTO> allSwitchInfoList;
+    // 线路额定电流信息
+    private List<FeederCheckRuleDTO> feederCheckRuleList;
+
+}

+ 40 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/AreaDeviceDTO.java

@@ -0,0 +1,40 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * @Description 区域设备信息
+ * @Author wcx
+ * @Date 2025/5/23 17:57
+ * @Version 1.0
+ */
+@ApiModel(value = "区域设备信息")
+@Data
+public class AreaDeviceDTO {
+    // 中压用户接入点数量(户)
+    private Integer custNo;
+    // 公变用户数量(台)
+    private Integer pubTransNo;
+    // 中压用户额定容量(kW)
+    private Double custCapacity;
+    // 公变额定容量之和
+    private Double pubTransCapacity;
+    // 故障前区域负荷电流(A)
+    private Double before24h;
+    // 故障后24小时最大负荷电流预测值(A)
+    private Double maxAfter24h;
+    // 故障前24小时负荷电流预测值曲线,96点时刻
+    private TimeSeriesDTO before24hI;
+    // 故障后24小时负荷电流预测值曲线,96点时刻
+    private TimeSeriesDTO after24hI;
+    // 公变信息列表
+    private List<TransCustomerDTO> mvTransList;
+    // 中压用户列表
+    private List<TransCustomerDTO> mvCustomerList;
+    // 中压光伏列表
+    private List<TransCustomerDTO> mvPvList;
+}

+ 34 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/BreakerInfoDTO.java

@@ -0,0 +1,34 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @Description 起点开关信息
+ * @Author wcx
+ * @Date 2025/5/23 17:57
+ * @Version 1.0
+ */
+@ApiModel(value = "起点开关信息")
+@Data
+public class BreakerInfoDTO {
+    // 开关名称
+    private String breakerPSRID;
+    // 开关类型
+    private String breakerType;
+    // 开关名称
+    private String breakerName;
+    // 主配网标识
+    private Integer distribution;
+    // 开关动作(1-合,0-开)
+    private Integer breakerOperation;
+    // 是否自动化开关(三遥)
+    private String autoType;
+
+    // 开关长名称
+    private String breakerLongName;
+    // 是否开始分割
+    private Boolean isdDivideStart;
+    //操作顺序
+    private Integer orderId;
+}

+ 34 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/CbResultDTO.java

@@ -0,0 +1,34 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * 合环校验,开关电流校验
+ * @author luorui
+ * @date 2025/7/1 10:40
+ */
+@Data
+public class CbResultDTO {
+
+    // 设备资源ID
+    private String psrID;
+    // 设备类型
+    private String psrType;
+    // 额定电流
+    private Double rateCurrent;
+    // 设备名称
+    private String name;
+    // 主配网标识
+    private Integer distribution;
+    // 对侧还是本侧
+    private String whichSide;
+    // 合环前电流
+    private Double beforeI;
+    // 合环后电流
+    private Double afterI;
+    // 合环中电流
+    private Double loopI;
+
+    private Double maxAfter24hI;
+
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/DeviceBaeDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description 设备信息
+ * @Author wcx
+ * @Date 2025/5/23 20:15
+ * @Version 1.0
+ */
+@Data
+public class DeviceBaeDTO {
+    // 设备资源ID
+    private String psrID;
+    // 设备类型
+    private String psrType;
+    // 设备名称
+    private String name;
+    // 主配网标识
+    private Integer distribution;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FeederCheckRuleDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description 线路配置信息
+ * @Author wcx
+ * @Date 2025/5/23 20:48
+ * @Version 1.0
+ */
+@Data
+public class FeederCheckRuleDTO {
+    // 线路的psrId
+    private String feederId;
+    // 设备类型
+    private String feederType;
+    // 额定电流值(A)
+    private Double rateCurrent;
+    // 主配网标识
+    private Integer distribution;
+}

+ 41 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FinalBreakerSafetyCheckResultDTO.java

@@ -0,0 +1,41 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author luorui
+ * @date 2025/7/5 15:53
+ */
+@Data
+public class FinalBreakerSafetyCheckResultDTO {
+    //开关psrId
+    private String breakerPSRID;
+    //开关名称
+    private String name;
+
+    //所属线路名称
+    private String feederName;
+
+    private String autoType;
+
+    private Double protOverCurrent;
+
+    private Double beforeI;
+
+    private Double afterI;
+
+    private List<Double> after24hI;
+
+    private List<Double> predict24hI;
+
+    private Double maxAfter24hI;
+
+    private Double  maxBefore24hI;
+
+    //校验类型 "1"-合环校验不通过,“2”-终态校验不通过”,“3”-合环和终态都不通过
+    private String checkType;
+
+
+}

+ 20 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FinalCheckDTO.java

@@ -0,0 +1,20 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author luorui
+ * @date 2025/7/5 15:42
+ */
+@Data
+public class FinalCheckDTO {
+    //fdResult
+
+    //未通过校验的开关
+    List<FinalBreakerSafetyCheckResultDTO> breakerSafetyCheckResult;
+
+    //(未通过的)导线的安全电流校核结果
+    List<FinalSegResultDTO> segResult;
+}

+ 33 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/FinalSegResultDTO.java

@@ -0,0 +1,33 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 终态校验,导线电流校验
+ *
+ * @author luorui
+ * @date 2025/7/1 10:40
+ */
+@Data
+public class FinalSegResultDTO {
+
+    // 设备资源ID
+    private String segmentPSRID;
+    // 导线段名称
+    private String name;
+    //所属线路名称
+    private String feederName;
+    //
+    private String condType;
+    // 额定电流
+    private Double ratedI;
+    //
+    private Double afterI;
+    //
+    private List<Double> after24hI;
+    //
+    private Double maxAfterI;
+
+}

+ 60 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/HotCheckDTO.java

@@ -0,0 +1,60 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 热倒过程的校验结果
+ * @Author wcx
+ * @Date 2025/5/23 20:38
+ * @Version 1.0
+ */
+@Data
+public class HotCheckDTO {
+    // 转供区域转供类型(hot-热倒、cold-冷倒)
+    private String xferType;
+    // 母线相角差
+    private Double busAngleDif;
+    // 合环之前,开关两侧压差
+    private Double cbVolDif;
+    // 母线电压差和环路阻抗产生的环流(A)
+    private Double loopCur;
+    // 合环过程前、中、后的开关电流
+    private List<CbResultDTO> cbResult;
+    // 合环过程前、中、后的导线电流
+    private List<SegResultDTO> segResult;
+    // 环路阻抗,调试目的输出
+    private Double loopZ;
+    // 热倒线路一的PSRID
+    private String afdPSRID;
+    // 热倒线路二的PSRID
+    private String bfdPSRID;
+    // 热倒线路二的名称
+    private String bfdName;
+    // 合环开关的PSRID
+    private String afdBPSRID;
+    // 线路一母线电压差
+    private Double abusVol;
+    // 线路二母线电压差
+    private Double bbusVol;
+    // 合环前开关线路一侧电压
+    private Double acbVol;
+    // 合环前开关线路二侧电压
+    private Double bcbVol;
+    // 合环之前的线路一电压差
+    private Double afdCurBefore;
+    // 合环时刻的线路一电压差
+    private Double afdCurLoop;
+    // 解环之后的线路一电压差
+    private Double afdCurAfter;
+    // 合环之前的线路二电压差
+    private Double bfdCurBefore;
+    // 合环时刻的线路二电压差
+    private Double bfdCurLoop;
+    // 解环之后的线路二电压差
+    private Double bfdCurAfter;
+
+    // 本侧额定电流
+    private Double afdrateCurrent;
+}

+ 27 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LinkFeederDTO.java

@@ -0,0 +1,27 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description
+ * @Author wcx
+ * @Date 2025/5/23 21:45
+ * @Version 1.0
+ */
+@Data
+public class LinkFeederDTO {
+    // 联络线路的PSRID
+    private String feederPSRID;
+    // 联络线路名称
+    private String feederName;
+    // 联络线路首端变电站的PSRID
+    private String substPSRID;
+    // 联络线路首端变电站名称
+    private String substName;
+    // 联络线路的额定电流(A)
+    private Double rateCurrent;
+    // 线路出口最大电流(A)
+    private Double planMaxCurrentValue;
+    // 线路最大负载(%)
+    private Double planMaxCurrentLoad;
+}

+ 25 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LinkLineDTO.java

@@ -0,0 +1,25 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description 对侧线路信息
+ * @Author wcx
+ * @Date 2025/5/23 20:28
+ * @Version 1.0
+ */
+@Data
+public class LinkLineDTO extends LinkSwitchDTO {
+    // 线路出口开关
+    private String feederSwitch;
+    // 线路出口开关类型
+    private String feederSwitchType;
+    // 线路出口开关主配网标识
+    private String feederDistribution;
+    // 线路出口最大电流(A)
+    private Double planMaxCurrentValue;
+    // 线路出来最大负载(%)
+    private Double planMaxCurrentLoad;
+    // 线路出口的额定电流
+    private Double rateCurrent;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LinkSwitchDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description 对侧联络开关信息
+ * @Author wcx
+ * @Date 2025/5/23 20:21
+ * @Version 1.0
+ */
+@Data
+public class LinkSwitchDTO extends DeviceBaeDTO {
+    // 电流预估测量值
+    private MetricValueDTO i;
+    // 电压预估测量值
+    private MetricValueDTO u;
+    // 无功功率预估测量值
+    private MetricValueDTO p;
+    // 有功功率预估测量值
+    private MetricValueDTO q;
+}

+ 25 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/LoopCheckRuleDTO.java

@@ -0,0 +1,25 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 合环校验的参数
+ * @Author wcx
+ * @Date 2025/5/23 20:44
+ * @Version 1.0
+ */
+@Data
+public class LoopCheckRuleDTO {
+    // 线路重载比例,单位是%
+    private Double feederLoadRate;
+    // 相角差裕度,单位是度
+    private Double angleDifMargin;
+    // 联络开关的电压幅度值差裕度
+    private Double volDifMargin;
+    // 合环电流裕度
+    private Double loopIMargin;
+    // 线路配置信息
+    private List<FeederCheckRuleDTO> feederCheckRuleList;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/MetricValueDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description 预测数值指标(如电流、电压)
+ * @Author wcx
+ * @Date 2025/5/23 19:17
+ * @Version 1.0
+ */
+@Data
+public class MetricValueDTO {
+    // 数值名称
+    private String name;
+    // 预测数值
+    private Double value;
+    // 数值单位
+    private String unit;
+}

+ 17 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/PowerOutageAreaDTO.java

@@ -0,0 +1,17 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 停电区域列表
+ * @Author wcx
+ * @Date 2025/5/23 19:44
+ * @Version 1.0
+ */
+@Data
+public class PowerOutageAreaDTO extends AreaDeviceDTO {
+    // 区域内包含的分段开关列表
+    private List<SwitchInfoDTO> segmentSwitchList;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/PowerTransformerInfoDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @author rj
+ * @date 2025/8/23 17:15
+ * @description 主变负载率查询结果
+ */
+@Data
+public class PowerTransformerInfoDTO {
+    private String powerTransformerId;
+    private String powerTransformerName;
+    private String voltLevel;
+    private String powerTransformerPAfter;
+    private String powerTransformerPBefore;
+    private String xferSupplyAreaP;
+    private String rateCapacity;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SectionXferPlanDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 分段转供方案
+ * @Author wcx
+ * @Date 2025/5/23 18:25
+ * @Version 1.0
+ */
+@Data
+public class SectionXferPlanDTO {
+    // 单个开关的动作信息
+    List<BreakerInfoDTO> segmentSwitchList;
+    // 转供子区域信息
+    List<XferFeederDTO> subSupplyAreaList;
+}

+ 34 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SegResultDTO.java

@@ -0,0 +1,34 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * 合环校验,导线电流校验
+ *
+ * @author luorui
+ * @date 2025/7/1 10:40
+ */
+@Data
+public class SegResultDTO {
+
+    // 设备资源ID
+    private String psrID;
+    // 设备类型
+    private String psrType;
+    // 额定电流
+    private Double rateCurrent;
+    // 设备名称
+    private String name;
+    // 主配网标识
+    private Integer distribution;
+    // 对侧还是本侧
+    private String whichSide;
+    // 合环前电流
+    private Double beforeI;
+    // 合环后电流
+    private Double afterI;
+    // 合环中电流
+    private Double loopI;
+
+    private Double maxAfter24hI;
+}

+ 22 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SeriesDTO.java

@@ -0,0 +1,22 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 连续的曲线节点值
+ * @Author wcx
+ * @Date 2025/5/23 19:25
+ * @Version 1.0
+ */
+@Data
+public class SeriesDTO {
+    // 曲线节点名称
+    private String name;
+    // 曲线节点数据
+    private List<Double> data;
+    // 曲线节点单位
+    private String unit;
+
+}

+ 29 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SupplyAreaDTO.java

@@ -0,0 +1,29 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 供电区域信息
+ * @Author wcx
+ * @Date 2025/5/23 17:55
+ * @Version 1.0
+ */
+@ApiModel(value = "供电区域信息")
+@Data
+public class SupplyAreaDTO {
+    // 本区域起点开关信息
+    private BreakerInfoDTO isolateBreaker;
+    // 专供区域设备信息
+    private AreaDeviceDTO areaDevice;
+    // 是否可以转供
+    private Boolean powerOnSuccess;
+    // 可行转供方案数量
+    private Integer planCount;
+    // 分段转供方案信息
+    private List<SectionXferPlanDTO> planSectXferPlanList;
+    // 整体转供方案信息
+    private List<WholeXferPlanDTO> planWholeXferPlanList;
+}

+ 27 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/SwitchInfoDTO.java

@@ -0,0 +1,27 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description 开关信息
+ * @Author wcx
+ * @Date 2025/5/23 19:48
+ * @Version 1.0
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SwitchInfoDTO {
+    // 开关名称
+    private String switchId;
+    // 开关类型
+    private String switchType;
+    // 开关名称
+    private String switchName;
+    // 主配网标识
+    private Integer distribution;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/TimeSeriesDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 时间序列数据
+ * @Author wcx
+ * @Date 2025/5/23 19:23
+ * @Version 1.0
+ */
+@Data
+public class TimeSeriesDTO {
+    // 连续的曲线节点值
+    private List<SeriesDTO> series;
+    // 曲线数据的横坐标,代表时间
+    private XAxisDTO xAxis;
+    // 曲线数据的纵坐标,代表数值(A、V等)
+    private String yAxis;
+}

+ 17 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/TransCustomerDTO.java

@@ -0,0 +1,17 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description 变压器信息\中压用户信息
+ * @Author wcx
+ * @Date 2025/5/23 19:15
+ * @Version 1.0
+ */
+@Data
+public class TransCustomerDTO extends LinkSwitchDTO {
+    // 电压等级
+    private String voltageLevel;
+    // 是否电源点
+    private String isPowerSource;
+}

+ 17 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/WholeXferPlanDTO.java

@@ -0,0 +1,17 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+/**
+ * @Description 整体转供方案
+ * @Author wcx
+ * @Date 2025/5/23 18:23
+ * @Version 1.0
+ */
+@Data
+public class WholeXferPlanDTO {
+    // 是否可以转供
+    private Boolean powerOnSuccess;
+    // 可转供线路信息
+    private XferFeederDTO xferFeeder;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XAxisDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 曲线数据的横坐标信息
+ * @Author wcx
+ * @Date 2025/5/23 19:31
+ * @Version 1.0
+ */
+@Data
+public class XAxisDTO {
+    // 坐标名称
+    private String name;
+    // 坐标数据
+    private List<String> data;
+}

+ 27 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XferFeederDTO.java

@@ -0,0 +1,27 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 转供线路信息
+ * @Author wcx
+ * @Date 2025/5/23 21:43
+ * @Version 1.0
+ */
+@Data
+public class XferFeederDTO {
+    // 转供区域转供类型(hot-热倒、cold-冷倒)
+    private String xferType;
+    // 用于转供的联络线路信息
+    private LinkFeederDTO linkFeeder;
+    // 区域设备信息
+    private AreaDeviceDTO areaDeviceInfo;
+    // 开关动作顺序信息
+    private List<BreakerInfoDTO> breakerOperationInfoList;
+    // 需要闭合的联络开关信息
+    private BreakerInfoDTO closeBreakerOp;
+    // 起点开关信息
+    private BreakerInfoDTO isolateBreaker;
+}

+ 28 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XferPlanDTO.java

@@ -0,0 +1,28 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 转供方案组合信息
+ * @Author wcx
+ * @Date 2025/5/23 18:19
+ * @Version 1.0
+ */
+@Data
+public class XferPlanDTO {
+    // 转供方案开关及设备区域信息
+    private List<XferSupplyAreaDTO> xferSupplyAreaList;
+    // 开关动作顺序
+    private List<List<BreakerInfoDTO>> breakerOperationOrderListList;
+    // 合环校验的参数配置
+    private LoopCheckRuleDTO loopCheckRule;
+    // 负荷转走的比例
+    private Double transferRate;
+    // 可行公变和中压用户接入点额定容量之和
+    private Double transferCapacity;
+
+    private List<AllSwitchInfoListDTO> allSwitchInfoList;
+
+}

+ 37 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/jsty/XferSupplyAreaDTO.java

@@ -0,0 +1,37 @@
+package com.hdkj.lt.modle.dto.jsty;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 转供方案开关及设备区域信息
+ * @Author wcx
+ * @Date 2025/5/23 20:01
+ * @Version 1.0
+ */
+@Data
+public class XferSupplyAreaDTO {
+    // 转供区域设备信息
+    private AreaDeviceDTO areaDeviceInfo;
+    // 转供区域起点开关信息 20250703-SwitchInfoDTO变更
+    private BreakerInfoDTO isolateBreaker;
+    // 转供区域对侧线路信息
+    private LinkLineDTO linkLineInfo;
+    // 主变负载率信息
+    private PowerTransformerInfoDTO powerTransformerInfo;
+    // 转供区域对侧开关信息
+    private LinkSwitchDTO linkSwitch;
+    // 组成这个区域的开关信息
+    private List<SwitchInfoDTO> switchInfoList;
+    // 转供区域容量
+    private Double transferCapacity;
+    // 转供区域热倒过程的校验结果
+    private HotCheckDTO hotCheck;
+    // 转供区域是否可以转供
+    private Boolean powerOnSuccess;
+    // 转供区域转供类型(hot-热倒、cold-冷倒)
+    private String xferType;
+    // 终态校验结果
+    private FinalCheckDTO finalCheck;
+}

+ 32 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/plan/PlanCreateSwitchDTO.java

@@ -0,0 +1,32 @@
+package com.hdkj.lt.modle.dto.plan;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author rj
+ * @date 2025/9/1 16:18
+ * @description
+ */
+@Data
+public class PlanCreateSwitchDTO {
+
+    private String feederId;
+
+    private String feederName;
+
+    @ApiModelProperty(value = "起始开关Id")
+    private String startSwitchId;
+
+    @ApiModelProperty(value = "终点开关Id")
+    private String endSwitchID;
+
+    private String workContent;
+
+    private LocalDateTime startTime;
+
+    private LocalDateTime endTime;
+
+}

+ 132 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/util/CurrentValueJsonUtil.java

@@ -0,0 +1,132 @@
+package com.hdkj.lt.modle.dto.util;
+
+import com.alibaba.fastjson.parser.DefaultJSONParser;
+import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.*;
+
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+/**
+ * @author luorui
+ * @date 2025/7/7 21:10
+ */
+public class CurrentValueJsonUtil {
+
+
+    /**
+     * 对电流值解析处理 序列化
+     * 1.可能为 null
+     * 2.可能是NaN
+     * 3.浮点型小数
+     * 4.科学计数法
+     * 要求四舍五入保留2位小数
+     */
+    public static class CurrentValueSerializer extends JsonSerializer<Double> {
+        @Override
+        public void serialize(Double value, JsonGenerator generator, SerializerProvider provider) throws IOException {
+            //1.可能为 null
+            if (value == null) {
+                generator.writeNull();
+                return;
+            }
+            //2.可能是NaN
+            if (Double.isNaN(value)) {
+                generator.writeNull();
+                return;
+            }
+            //3.浮点型小数 4.科学计数法
+            try{
+                //使用BigDecimal处理科学计数法并确保精度
+                BigDecimal bd= new BigDecimal(value.toString());
+                BigDecimal rounded = bd.setScale(2, RoundingMode.HALF_UP);
+                //输出格式化后的字符串,避免科学计数法
+                generator.writeString(rounded.toPlainString());
+            }catch (Exception e){
+                generator.writeNull();
+            }
+        }
+    }
+
+    /**  反序列化工具 jackson
+     * 对电流值解析处理
+     * 1.可能为 null
+     * 2.可能是NaN
+     * 3.浮点型小数
+     * 4.科学计数法
+     * 要求四舍五入保留2位小数
+     */
+    public static class CurrentValueDeserializer extends JsonDeserializer<Double> {
+        @Override
+        public Double deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
+            JsonNode node = jsonParser.getCodec().readTree(jsonParser);
+            //1.可能为 null
+            if (node.isNull() || node.isTextual() && node.asText().trim().isEmpty()) {
+                return null;
+            }
+            //2.可能是NaN
+            if (node.isTextual() && "NaN".equalsIgnoreCase(node.asText().trim())) {
+                return null;
+            }
+            //3.浮点型小数 4.科学计数法
+            try{
+                //使用BigDecimal处理科学计数法并确保精度
+                String value = node.asText();
+                BigDecimal bd= new BigDecimal(value.toString());
+                BigDecimal rounded = bd.setScale(2,RoundingMode.HALF_UP);
+                //输出格式化后的字符串,避免科学计数法
+                return rounded.doubleValue();
+            } catch (Exception e){
+                //无法解析的情况
+                return null;
+            }
+        }
+    }
+
+    /**  反序列化工具 fastJson
+     * 对电流值解析处理
+     * 1.可能为 null
+     * 2.可能是NaN
+     * 3.浮点型小数
+     * 4.科学计数法
+     * 要求四舍五入保留2位小数
+     */
+    public static class CurrentValueDeserializerFastJson implements ObjectDeserializer {
+        @Override
+        public Double deserialze(DefaultJSONParser defaultJSONParser, Type type, Object o) {
+            Object value = defaultJSONParser.parse();
+            //1.可能为 null
+            if (value==null || value.toString().trim().isEmpty() ||"null".equalsIgnoreCase(value.toString().trim())) {
+                return null;
+            }
+            //2.可能是NaN
+            if ("NaN".equalsIgnoreCase(value.toString().trim())) {
+                return null;
+            }
+            //3.浮点型小数 4.科学计数法
+            try{
+                //使用BigDecimal处理科学计数法并确保精度
+                BigDecimal bd= new BigDecimal(value.toString());
+                BigDecimal rounded = bd.setScale(2,RoundingMode.HALF_UP);
+                //输出格式化后的字符串,避免科学计数法
+//                String str = bd.toPlainString();
+                Double d = rounded.doubleValue();
+                return d;
+            } catch (Exception e){
+                //无法解析的情况
+                return null;
+            }
+        }
+
+        @Override
+        public int getFastMatchToken() {
+            return 0;
+        }
+    }
+
+}

+ 16 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AllSwitchInfoDTO.java

@@ -0,0 +1,16 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author rj
+ * @date 2025/7/1 15:26
+ * @description
+ */
+@Data
+public class AllSwitchInfoDTO {
+    private List<SwitchWithMeasurementDTO> allSwitchList;
+}

+ 16 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AllSwitchInfoListDTO.java

@@ -0,0 +1,16 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author rj
+ * @date 2025/7/1 15:24
+ * @description
+ */
+@Data
+public class AllSwitchInfoListDTO {
+    private String feederId;
+    private List<SwitchWithMeasurementDTO> allSwitchList;
+}

+ 42 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/ApiDataDTO.java

@@ -0,0 +1,42 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 计算推演平台ApiData对象
+ * @Author wcx
+ * @Date 2025/5/23 17:49
+ * @Version 1.0
+ */
+@ApiModel(value = "负荷转供配电成图文件关联参数")
+@Data
+public class ApiDataDTO {
+    //事件id
+    private String id;
+    //事件创建时间
+    private String dateTime;
+    //事件成因
+    private String reason;
+    //事件类型
+    private String eventType;
+    // 参数校验结果
+    private String inputParamCheck;
+    // 是否可以转供
+    private Boolean hasSupplyAreaToTransfer;
+    // 待转供区域列表
+    // private List<SupplyAreaDTO> supplyAreaList;
+    // 停电区域列表
+    private List<PowerOutageAreaDTO> powerOutageAreaList;
+    // 转供方案组合
+    private List<XferPlanDTO> xferPlanList;
+    // 合环校验的参数配置
+    private LoopCheckRuleDTO loopCheckRule;
+    // 转供前开关pqui信息
+    private List<AllSwitchInfoListDTO> allSwitchInfoList;
+    // 线路额定电流信息
+    private List<FeederCheckRuleDTO> feederCheckRuleList;
+
+}

+ 40 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AreaDeviceDTO.java

@@ -0,0 +1,40 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * @Description 区域设备信息
+ * @Author wcx
+ * @Date 2025/5/23 17:57
+ * @Version 1.0
+ */
+@ApiModel(value = "区域设备信息")
+@Data
+public class AreaDeviceDTO {
+    // 中压用户接入点数量(户)
+    private Integer custNo;
+    // 公变用户数量(台)
+    private Integer pubTransNo;
+    // 中压用户额定容量(kW)
+    private Double custCapacity;
+    // 公变额定容量之和
+    private Double pubTransCapacity;
+    // 故障前区域负荷电流(A)
+    private Double before24h;
+    // 故障后24小时最大负荷电流预测值(A)
+    private Double maxAfter24h;
+    // 故障前24小时负荷电流预测值曲线,96点时刻
+    private TimeSeriesDTO before24hI;
+    // 故障后24小时负荷电流预测值曲线,96点时刻
+    private TimeSeriesDTO after24hI;
+    // 公变信息列表
+    private List<TransCustomerDTO> mvTransList;
+    // 中压用户列表
+    private List<TransCustomerDTO> mvCustomerList;
+    // 中压光伏列表
+    private List<TransCustomerDTO> mvPvList;
+}

+ 200 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/AreaVoltViolationDTO.java

@@ -0,0 +1,200 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import net.bytebuddy.implementation.bytecode.constant.DefaultValue;
+
+import java.util.List;
+
+/**
+ * AreaVoltViolation-成片电压越限统计指标和详情
+ */
+@Data
+public class AreaVoltViolationDTO {
+    /**
+     * 线路psrId
+     */
+
+    private String feederId;
+
+    /**
+     * 线路名称
+     */
+
+    private String feederName;
+
+    /**
+     * 电压指数(合并前)
+     */
+    @JSONField(defaultValue = "0")
+    private Double voltRate;
+
+    /**
+     * 用户有效电压合格断面次数(合并前)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer qualifiedVoltIntervalNum;
+
+    /**
+     * 用户有效电压断面次数(合并前)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer validVoltIntervalCount;
+
+    /**
+     * 电压越上限指数(合并前、有效电压)
+     */
+    @JSONField(defaultValue = "0")
+    private Double overVoltRate;
+
+    /**
+     * 有效用户电压断面越上限次数(合并前)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer validOverVoltIntervalCount;
+
+    /**
+     * 电压越下限指数(合并前)
+     */
+    @JSONField(defaultValue = "0")
+    private Double underVoltRate;
+
+    /**
+     * 有效用户电压断面越下限次数(合并前)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer validUnderVoltIntervalCount;
+
+    /**
+     * 低压用户电压越上限时长(单位min)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer overVoltTime;
+
+    /**
+     * 低压用户电压越下限时长(单位min)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltTime;
+
+    /**
+     * 越下限导线段数量(条)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltSegNum;
+
+    /**
+     * 导线电压越下限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltSegCount;
+
+    /**
+     * 越下限配变数量(台)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltTransNum;
+
+    /**
+     * 配变电压越下限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltTransCount;
+
+    /**
+     * 越下限中压用户数量(户)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltMvcustomerNum;
+
+    /**
+     * 中压用户越下限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltMvcustomerCount;
+
+    /**
+     * 越下限低压用户数量(户)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltLvcustomerNum;
+
+    /**
+     * 低压用户越下限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer underVoltLvcustomerCount;
+
+    /**
+     * 低压用户一般越上限指数
+     */
+    @JSONField(defaultValue = "0")
+    private Double generalOvervoltLvcustomerRate;
+
+    /**
+     * 一般越上限低压用户数量(户)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer generalOvervoltLvcustomerNum;
+
+    /**
+     * 低压用户一般越上限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Double generalOvervoltLvcustomerCount;
+
+    /**
+     * 低压用户严重越上限指数
+     */
+    @JSONField(defaultValue = "0")
+    private Double severeOvervoltLvcustomerRate;
+
+    /**
+     * 严重越上限低压用户数量(户)
+     */
+    @JSONField(defaultValue = "0")
+    private Double severeOvervoltLvcustomerNum;
+
+    /**
+     * 低压用户严重越上限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer severeOvervoltLvcustomerCount;
+
+    /**
+     * 低压用户一般越下限指数
+     */
+    @JSONField(defaultValue = "0")
+    private Double generalUndervoltLvcustomerRate;
+
+    /**
+     * 一般越下限低压用户数量(户)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer generalUndervoltLvcustomerNum;
+
+    /**
+     * 低压用户一般越下限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer generalUndervoltLvcustomerCount;
+
+    /**
+     * 低压用户严重越下限指数
+     */
+    @JSONField(defaultValue = "0")
+    private Double severeUndervoltLvcustomerRate;
+
+    /**
+     * 严重越下限低压用户数量(户)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer severeUndervoltLvcustomerNum;
+
+    /**
+     * 低压用户严重越下限次数(次)
+     */
+    @JSONField(defaultValue = "0")
+    private Integer severeUndervoltLvcustomerCount;
+}

+ 34 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/BreakerInfoDTO.java

@@ -0,0 +1,34 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @Description 起点开关信息
+ * @Author wcx
+ * @Date 2025/5/23 17:57
+ * @Version 1.0
+ */
+@ApiModel(value = "起点开关信息")
+@Data
+public class BreakerInfoDTO {
+    // 开关名称
+    private String breakerPSRID;
+    // 开关类型
+    private String breakerType;
+    // 开关名称
+    private String breakerName;
+    // 主配网标识
+    private Integer distribution;
+    // 开关动作(1-合,0-开)
+    private Integer breakerOperation;
+    // 是否自动化开关(三遥)
+    private String autoType;
+
+    // 开关长名称
+    private String breakerLongName;
+    // 是否开始分割
+    private Boolean isdDivideStart;
+    //操作顺序
+    private Integer orderId;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/BusVoltCurveDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 母线电压曲线
+ */
+@Data
+class BusVoltCurveDTO {
+    private Integer deviceIndex;
+
+    /**
+     * 96点数组96个时刻的电压值,单位kV
+     */
+    private List<Double> u;
+}
+

+ 34 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/CbResultDTO.java

@@ -0,0 +1,34 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * 合环校验,开关电流校验
+ * @author luorui
+ * @date 2025/7/1 10:40
+ */
+@Data
+public class CbResultDTO {
+
+    // 设备资源ID
+    private String psrID;
+    // 设备类型
+    private String psrType;
+    // 额定电流
+    private Double rateCurrent;
+    // 设备名称
+    private String name;
+    // 主配网标识
+    private Integer distribution;
+    // 对侧还是本侧
+    private String whichSide;
+    // 合环前电流
+    private Double beforeI;
+    // 合环后电流
+    private Double afterI;
+    // 合环中电流
+    private Double loopI;
+
+    private Double maxAfter24hI;
+
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/DeviceBaeDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description 设备信息
+ * @Author wcx
+ * @Date 2025/5/23 20:15
+ * @Version 1.0
+ */
+@Data
+public class DeviceBaeDTO {
+    // 设备资源ID
+    private String psrID;
+    // 设备类型
+    private String psrType;
+    // 设备名称
+    private String name;
+    // 主配网标识
+    private Integer distribution;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FeederCheckRuleDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description 线路配置信息
+ * @Author wcx
+ * @Date 2025/5/23 20:48
+ * @Version 1.0
+ */
+@Data
+public class FeederCheckRuleDTO {
+    // 线路的psrId
+    private String feederId;
+    // 设备类型
+    private String feederType;
+    // 额定电流值(A)
+    private Double rateCurrent;
+    // 主配网标识
+    private Integer distribution;
+}

+ 14 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FeederInfoDTO.java

@@ -0,0 +1,14 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * 馈线信息
+ */
+@Data
+public class FeederInfoDTO {
+    private String feederId;
+    private String deviceIndex;
+    private Double maxCurrentValue;
+    private Double maxCurrentLoad;
+}

+ 41 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FinalBreakerSafetyCheckResultDTO.java

@@ -0,0 +1,41 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author luorui
+ * @date 2025/7/5 15:53
+ */
+@Data
+public class FinalBreakerSafetyCheckResultDTO {
+    //开关psrId
+    private String breakerPSRID;
+    //开关名称
+    private String name;
+
+    //所属线路名称
+    private String feederName;
+
+    private String autoType;
+
+    private Double protOverCurrent;
+
+    private Double beforeI;
+
+    private Double afterI;
+
+    private List<Double> after24hI;
+
+    private List<Double> predict24hI;
+
+    private Double maxAfter24hI;
+
+    private Double  maxBefore24hI;
+
+    //校验类型 "1"-合环校验不通过,“2”-终态校验不通过”,“3”-合环和终态都不通过
+    private String checkType;
+
+
+}

+ 20 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FinalCheckDTO.java

@@ -0,0 +1,20 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author luorui
+ * @date 2025/7/5 15:42
+ */
+@Data
+public class FinalCheckDTO {
+    //fdResult
+
+    //未通过校验的开关
+    List<FinalBreakerSafetyCheckResultDTO> breakerSafetyCheckResult;
+
+    //(未通过的)导线的安全电流校核结果
+    List<FinalSegResultDTO> segResult;
+}

+ 33 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/FinalSegResultDTO.java

@@ -0,0 +1,33 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 终态校验,导线电流校验
+ *
+ * @author luorui
+ * @date 2025/7/1 10:40
+ */
+@Data
+public class FinalSegResultDTO {
+
+    // 设备资源ID
+    private String segmentPSRID;
+    // 导线段名称
+    private String name;
+    //所属线路名称
+    private String feederName;
+    //
+    private String condType;
+    // 额定电流
+    private Double ratedI;
+    //
+    private Double afterI;
+    //
+    private List<Double> after24hI;
+    //
+    private Double maxAfterI;
+
+}

+ 60 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/HotCheckDTO.java

@@ -0,0 +1,60 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 热倒过程的校验结果
+ * @Author wcx
+ * @Date 2025/5/23 20:38
+ * @Version 1.0
+ */
+@Data
+public class HotCheckDTO {
+    // 转供区域转供类型(hot-热倒、cold-冷倒)
+    private String xferType;
+    // 母线相角差
+    private Double busAngleDif;
+    // 合环之前,开关两侧压差
+    private Double cbVolDif;
+    // 母线电压差和环路阻抗产生的环流(A)
+    private Double loopCur;
+    // 合环过程前、中、后的开关电流
+    private List<CbResultDTO> cbResult;
+    // 合环过程前、中、后的导线电流
+    private List<SegResultDTO> segResult;
+    // 环路阻抗,调试目的输出
+    private Double loopZ;
+    // 热倒线路一的PSRID
+    private String afdPSRID;
+    // 热倒线路二的PSRID
+    private String bfdPSRID;
+    // 热倒线路二的名称
+    private String bfdName;
+    // 合环开关的PSRID
+    private String afdBPSRID;
+    // 线路一母线电压差
+    private Double abusVol;
+    // 线路二母线电压差
+    private Double bbusVol;
+    // 合环前开关线路一侧电压
+    private Double acbVol;
+    // 合环前开关线路二侧电压
+    private Double bcbVol;
+    // 合环之前的线路一电压差
+    private Double afdCurBefore;
+    // 合环时刻的线路一电压差
+    private Double afdCurLoop;
+    // 解环之后的线路一电压差
+    private Double afdCurAfter;
+    // 合环之前的线路二电压差
+    private Double bfdCurBefore;
+    // 合环时刻的线路二电压差
+    private Double bfdCurLoop;
+    // 解环之后的线路二电压差
+    private Double bfdCurAfter;
+
+    // 本侧额定电流
+    private Double afdrateCurrent;
+}

+ 190 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LineVoltage.java

@@ -0,0 +1,190 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * 线路电压越限数据详情列表
+ */
+@Data
+public class LineVoltage {
+
+    /**
+     * 线路Id
+     */
+    private String feederId;
+
+    /**
+     * 线路名称
+     */
+    private String feederName;
+
+    /**
+     * 转供前电压指数(合并前)
+     */
+    private Double voltIndexBefore;
+
+    /**
+     * 转供前用户有效电压合格断面次数(合并前)
+     */
+    private Integer validQualifiedVoltIntervalsNumberBefore;
+
+    /**
+     * 转供前有效用户电压断面次数(合并前)
+     */
+    private Integer validVoltIntervalCountBefore;
+
+    /**
+     * 转供后电压指数(合并前)
+     */
+    private Double voltIndexAfter;
+
+    /**
+     * 转供后用户有效电压合格断面次数(合并前)
+     */
+    private Integer validQualifiedVoltIntervalsNumberAfter;
+
+    /**
+     * 转供后有效用户电压断面次数(合并前)
+     */
+    private Integer validVoltIntervalCountAfter;
+
+    /**
+     * 转供前电压越上限指数(合并前、有效电压)
+     */
+    private Double overVoltIndexBefore;
+
+    /**
+     * 转供前有效用户电压断面越上限次数(合并前)
+     */
+    private Integer validOverVoltIntervalCountBefore;
+
+    /**
+     * 转供前电压越上限时长,以低压用户为基准
+     */
+    private Double overVoltTimeBefore;
+
+    /**
+     * 转供前电压越下限时长,以低压用户为基准
+     */
+    private Double underVoltTimeBefore;
+
+    /**
+     * 转供前越下限导线段数量(条)
+     */
+    private Integer underVoltLineNumBefore;
+
+    /**
+     * 转供前导线电压越下限次数(次)
+     */
+    private Integer underVoltLineCountBefore;
+
+    /**
+     * 转供前越下限配变数量(台)
+     */
+    private Integer underVoltTransformerNumBefore;
+
+    /**
+     * 转供前配变电压越下限次数(次)
+     */
+    private Integer underVoltTransformerCountBefore;
+
+    /**
+     * 转供前越下限中压用户数量(户)
+     */
+    private Integer underVoltMvCustomerNumBefore;
+
+    /**
+     * 转供前中压用户越下限次数(次)
+     */
+    private Integer underVoltMvCustomerCountBefore;
+
+    /**
+     * 转供前越下限低压用户数量(户)
+     */
+    private Integer underVoltLvCustomerNumBefore;
+
+    /**
+     * 转供前低压用户越下限次数(次)
+     */
+    private Integer underVoltLvCustomerCountBefore;
+
+    /**
+     * 转供后电压越上限指数(合并前)
+     */
+    private Double overVoltIndexAfter;
+
+    /**
+     * 转供后有效用户电压断面越上限次数(合并前)
+     */
+    private Integer validOverVoltIntervalCountAfter;
+
+    /**
+     * 转供前电压越下限指数(合并前)
+     */
+    private Double underVoltIndexBefore;
+
+    /**
+     * 转供后有效用户电压断面越下限次数(合并前)
+     */
+    private Integer validUnderVoltIntervalCountBefore;
+
+    /**
+     * 转供后电压越下限指数(合并前)
+     */
+    private Double underVoltIndexAfter;
+
+    /**
+     * 转供后有效用户电压断面越下限次数(合并前)
+     */
+    private Integer validUnderVoltIntervalCountAfter;
+
+    /**
+     * 转供后电压越上限时长,以低压用户为基准
+     */
+    private Double overVoltTimeAfter;
+
+    /**
+     * 转供后电压越下限时长,以低压用户为基准
+     */
+    private Double underVoltTimeAfter;
+
+    /**
+     * 转供后越下限导线段数量(条)
+     */
+    private Integer underVoltLineNumAfter;
+
+    /**
+     * 转供后导线电压越下限次数(次)
+     */
+    private Integer underVoltLineCountAfter;
+
+    /**
+     * 转供后越下限配变数量(台)
+     */
+    private Integer underVoltTransformerNumAfter;
+
+    /**
+     * 转供后配变电压越下限次数(次)
+     */
+    private Integer underVoltTransformerCountAfter;
+
+    /**
+     * 转供后越下限中压用户数量(户)
+     */
+    private Integer underVoltMvCustomerNumAfter;
+
+    /**
+     * 转供后中压用户越下限次数(次)
+     */
+    private Integer underVoltMvCustomerCountAfter;
+
+    /**
+     * 转供后越下限低压用户数量(户)
+     */
+    private Integer underVoltLvCustomerNumAfter;
+
+    /**
+     * 转供后低压用户越下限次数(次)
+     */
+    private Integer underVoltLvCustomerCountAfter;
+}

+ 27 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LinkFeederDTO.java

@@ -0,0 +1,27 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description
+ * @Author wcx
+ * @Date 2025/5/23 21:45
+ * @Version 1.0
+ */
+@Data
+public class LinkFeederDTO {
+    // 联络线路的PSRID
+    private String feederPSRID;
+    // 联络线路名称
+    private String feederName;
+    // 联络线路首端变电站的PSRID
+    private String substPSRID;
+    // 联络线路首端变电站名称
+    private String substName;
+    // 联络线路的额定电流(A)
+    private Double rateCurrent;
+    // 线路出口最大电流(A)
+    private Double planMaxCurrentValue;
+    // 线路最大负载(%)
+    private Double planMaxCurrentLoad;
+}

+ 25 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LinkLineDTO.java

@@ -0,0 +1,25 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description 对侧线路信息
+ * @Author wcx
+ * @Date 2025/5/23 20:28
+ * @Version 1.0
+ */
+@Data
+public class LinkLineDTO extends LinkSwitchDTO {
+    // 线路出口开关
+    private String feederSwitch;
+    // 线路出口开关类型
+    private String feederSwitchType;
+    // 线路出口开关主配网标识
+    private String feederDistribution;
+    // 线路出口最大电流(A)
+    private Double planMaxCurrentValue;
+    // 线路出来最大负载(%)
+    private Double planMaxCurrentLoad;
+    // 线路出口的额定电流
+    private Double rateCurrent;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LinkSwitchDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description 对侧联络开关信息
+ * @Author wcx
+ * @Date 2025/5/23 20:21
+ * @Version 1.0
+ */
+@Data
+public class LinkSwitchDTO extends DeviceBaeDTO {
+    // 电流预估测量值
+    private MetricValueDTO i;
+    // 电压预估测量值
+    private MetricValueDTO u;
+    // 无功功率预估测量值
+    private MetricValueDTO p;
+    // 有功功率预估测量值
+    private MetricValueDTO q;
+}

+ 25 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/LoopCheckRuleDTO.java

@@ -0,0 +1,25 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 合环校验的参数
+ * @Author wcx
+ * @Date 2025/5/23 20:44
+ * @Version 1.0
+ */
+@Data
+public class LoopCheckRuleDTO {
+    // 线路重载比例,单位是%
+    private Double feederLoadRate;
+    // 相角差裕度,单位是度
+    private Double angleDifMargin;
+    // 联络开关的电压幅度值差裕度
+    private Double volDifMargin;
+    // 合环电流裕度
+    private Double loopIMargin;
+    // 线路配置信息
+    private List<FeederCheckRuleDTO> feederCheckRuleList;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/MetricValueDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description 预测数值指标(如电流、电压)
+ * @Author wcx
+ * @Date 2025/5/23 19:17
+ * @Version 1.0
+ */
+@Data
+public class MetricValueDTO {
+    // 数值名称
+    private String name;
+    // 预测数值
+    private Double value;
+    // 数值单位
+    private String unit;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/MvTransPsrListDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 配变PSR列表
+ */
+@Data
+class MvTransPsrListDTO {
+    /**
+     * 设备基本信息属性名
+     */
+    private Object attr;
+
+    /**
+     * List<Object[]>的类型
+     */
+    private List<List<Object>> psrList;
+}

+ 17 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/PowerOutageAreaDTO.java

@@ -0,0 +1,17 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 停电区域列表
+ * @Author wcx
+ * @Date 2025/5/23 19:44
+ * @Version 1.0
+ */
+@Data
+public class PowerOutageAreaDTO extends AreaDeviceDTO {
+    // 区域内包含的分段开关列表
+    private List<SwitchInfoDTO> segmentSwitchList;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/PowerTransformerInfoDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @author rj
+ * @date 2025/8/23 17:15
+ * @description 主变负载率查询结果
+ */
+@Data
+public class PowerTransformerInfoDTO {
+    private String powerTransformerId;
+    private String powerTransformerName;
+    private String voltLevel;
+    private String powerTransformerPAfter;
+    private String powerTransformerPBefore;
+    private String xferSupplyAreaP;
+    private String rateCapacity;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SectionXferPlanDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 分段转供方案
+ * @Author wcx
+ * @Date 2025/5/23 18:25
+ * @Version 1.0
+ */
+@Data
+public class SectionXferPlanDTO {
+    // 单个开关的动作信息
+    List<BreakerInfoDTO> segmentSwitchList;
+    // 转供子区域信息
+    List<XferFeederDTO> subSupplyAreaList;
+}

+ 34 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SegResultDTO.java

@@ -0,0 +1,34 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * 合环校验,导线电流校验
+ *
+ * @author luorui
+ * @date 2025/7/1 10:40
+ */
+@Data
+public class SegResultDTO {
+
+    // 设备资源ID
+    private String psrID;
+    // 设备类型
+    private String psrType;
+    // 额定电流
+    private Double rateCurrent;
+    // 设备名称
+    private String name;
+    // 主配网标识
+    private Integer distribution;
+    // 对侧还是本侧
+    private String whichSide;
+    // 合环前电流
+    private Double beforeI;
+    // 合环后电流
+    private Double afterI;
+    // 合环中电流
+    private Double loopI;
+
+    private Double maxAfter24hI;
+}

+ 22 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SeriesDTO.java

@@ -0,0 +1,22 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 连续的曲线节点值
+ * @Author wcx
+ * @Date 2025/5/23 19:25
+ * @Version 1.0
+ */
+@Data
+public class SeriesDTO {
+    // 曲线节点名称
+    private String name;
+    // 曲线节点数据
+    private List<Double> data;
+    // 曲线节点单位
+    private String unit;
+
+}

+ 29 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SupplyAreaDTO.java

@@ -0,0 +1,29 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 供电区域信息
+ * @Author wcx
+ * @Date 2025/5/23 17:55
+ * @Version 1.0
+ */
+@ApiModel(value = "供电区域信息")
+@Data
+public class SupplyAreaDTO {
+    // 本区域起点开关信息
+    private BreakerInfoDTO isolateBreaker;
+    // 专供区域设备信息
+    private AreaDeviceDTO areaDevice;
+    // 是否可以转供
+    private Boolean powerOnSuccess;
+    // 可行转供方案数量
+    private Integer planCount;
+    // 分段转供方案信息
+    private List<SectionXferPlanDTO> planSectXferPlanList;
+    // 整体转供方案信息
+    private List<WholeXferPlanDTO> planWholeXferPlanList;
+}

+ 27 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SwitchInfoDTO.java

@@ -0,0 +1,27 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description 开关信息
+ * @Author wcx
+ * @Date 2025/5/23 19:48
+ * @Version 1.0
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SwitchInfoDTO {
+    // 开关名称
+    private String switchId;
+    // 开关类型
+    private String switchType;
+    // 开关名称
+    private String switchName;
+    // 主配网标识
+    private Integer distribution;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SwitchPsrListDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 开关PSR列表
+ */
+@Data
+class SwitchPsrListDTO {
+    /**
+     * 设备基本信息属性名
+     */
+    private Object attr;
+
+    /**
+     * List<Object[]>的类型
+     */
+    private List<List<Object>> psrList;
+}

+ 13 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/SwitchWithMeasurementDTO.java

@@ -0,0 +1,13 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SwitchWithMeasurementDTO {
+    private String psrID;
+    private List<String> u;
+    private List<String> i;
+    private String psrType;
+}

+ 21 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/TimeSeriesDTO.java

@@ -0,0 +1,21 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 时间序列数据
+ * @Author wcx
+ * @Date 2025/5/23 19:23
+ * @Version 1.0
+ */
+@Data
+public class TimeSeriesDTO {
+    // 连续的曲线节点值
+    private List<SeriesDTO> series;
+    // 曲线数据的横坐标,代表时间
+    private XAxisDTO xAxis;
+    // 曲线数据的纵坐标,代表数值(A、V等)
+    private String yAxis;
+}

+ 17 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/TransCustomerDTO.java

@@ -0,0 +1,17 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description 变压器信息\中压用户信息
+ * @Author wcx
+ * @Date 2025/5/23 19:15
+ * @Version 1.0
+ */
+@Data
+public class TransCustomerDTO extends LinkSwitchDTO {
+    // 电压等级
+    private String voltageLevel;
+    // 是否电源点
+    private String isPowerSource;
+}

+ 84 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/VoltageTransferDataDTO.java

@@ -0,0 +1,84 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 电压转供数据
+ */
+@Data
+public class VoltageTransferDataDTO {
+    /**
+     * 事件ID 即算例ID
+     */
+    private String id;
+
+    /**
+     * 事件本侧线路id
+     */
+    private String feederId;
+
+    /**
+     * 成片越下限开始时间,同时也作为合环校验的时间 YYYY-MM-DD HH:mm:ss
+     */
+    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime startTime;
+
+    /**
+     * 成片越下限结束时间
+     */
+    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime endTime;
+
+    /**
+     * 事件创建时间,同输入值(传空 默认当前时间),YY-MM-DD
+     */
+    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime dateTime;
+
+    /**
+     * 越限成因,暂时只做成片越下限
+     */
+    private String reason;
+
+    /**
+     * 事件类型:运行调优(1:运行调优)
+     */
+    private String eventType;
+
+    /**
+     * 成片电压越限统计指标和详情-转供前
+     */
+    private List<AreaVoltViolationDTO> areaVoltViolationList;
+
+    /**
+     * 转供方案明细
+     */
+    private List<XferPlanDTO> xferPlanList;
+
+    /**
+     * 母线电压曲线
+     */
+    private List<BusVoltCurveDTO> busVoltCurve;
+
+    /**
+     * 此次转供分析中涉及的所有开关
+     */
+    private SwitchPsrListDTO switchPsrList;
+
+    /**
+     * 此次转供中的本侧线路上的所有配变
+     */
+    private MvTransPsrListDTO mvTransPsrList;
+
+    /**
+     * 转供前线路最大负载率数据
+     */
+    private List<FeederInfoDTO> feederInfo;
+
+
+    private List<AllSwitchInfoListDTO> allSwitchInfoList;
+}

+ 31 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/VoltageTransferResponseDTO.java

@@ -0,0 +1,31 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+import java.util.List;
+
+/**
+ * 电压成片转供返回
+ */
+@Data
+public class VoltageTransferResponseDTO {
+    /**
+     * 状态码
+     */
+    private Integer code;
+
+    /**
+     * 接口成功或失败
+     */
+    private Boolean success;
+
+    /**
+     * 接口返回状态信息
+     */
+    private String msg;
+
+    /**
+     * 返回数据
+     */
+    private VoltageTransferDataDTO data;
+}
+

+ 17 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/WholeXferPlanDTO.java

@@ -0,0 +1,17 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+/**
+ * @Description 整体转供方案
+ * @Author wcx
+ * @Date 2025/5/23 18:23
+ * @Version 1.0
+ */
+@Data
+public class WholeXferPlanDTO {
+    // 是否可以转供
+    private Boolean powerOnSuccess;
+    // 可转供线路信息
+    private XferFeederDTO xferFeeder;
+}

+ 19 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XAxisDTO.java

@@ -0,0 +1,19 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 曲线数据的横坐标信息
+ * @Author wcx
+ * @Date 2025/5/23 19:31
+ * @Version 1.0
+ */
+@Data
+public class XAxisDTO {
+    // 坐标名称
+    private String name;
+    // 坐标数据
+    private List<String> data;
+}

+ 27 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XferFeederDTO.java

@@ -0,0 +1,27 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 转供线路信息
+ * @Author wcx
+ * @Date 2025/5/23 21:43
+ * @Version 1.0
+ */
+@Data
+public class XferFeederDTO {
+    // 转供区域转供类型(hot-热倒、cold-冷倒)
+    private String xferType;
+    // 用于转供的联络线路信息
+    private LinkFeederDTO linkFeeder;
+    // 区域设备信息
+    private AreaDeviceDTO areaDeviceInfo;
+    // 开关动作顺序信息
+    private List<BreakerInfoDTO> breakerOperationInfoList;
+    // 需要闭合的联络开关信息
+    private BreakerInfoDTO closeBreakerOp;
+    // 起点开关信息
+    private BreakerInfoDTO isolateBreaker;
+}

+ 33 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XferPlanDTO.java

@@ -0,0 +1,33 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 转供方案组合信息
+ * @Author wcx
+ * @Date 2025/5/23 18:19
+ * @Version 1.0
+ */
+@Data
+public class XferPlanDTO {
+
+    /**
+     * 电压越限统计列表
+     */
+    private List<AreaVoltViolationDTO> areaVoltViolationList;
+    // 转供方案开关及设备区域信息
+    private List<XferSupplyAreaDTO> xferSupplyAreaList;
+    // 开关动作顺序
+    private List<List<BreakerInfoDTO>> breakerOperationOrderListList;
+    // 合环校验的参数配置
+    private LoopCheckRuleDTO loopCheckRule;
+    // 负荷转走的比例
+    private Double transferRate;
+    // 可行公变和中压用户接入点额定容量之和
+    private Double transferCapacity;
+//
+    private List<AllSwitchInfoListDTO> allSwitchInfoList;
+
+}

+ 46 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/voltageLimitViolation/XferSupplyAreaDTO.java

@@ -0,0 +1,46 @@
+package com.hdkj.lt.modle.dto.voltageLimitViolation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description 转供方案开关及设备区域信息
+ * @Author wcx
+ * @Date 2025/5/23 20:01
+ * @Version 1.0
+ */
+@Data
+public class XferSupplyAreaDTO {
+    // 转供区域设备信息
+    private AreaDeviceDTO areaDeviceInfo;
+    // 转供区域起点开关信息 20250703-SwitchInfoDTO变更
+    private BreakerInfoDTO isolateBreaker;
+    // 转供区域对侧线路信息
+    private LinkLineDTO linkLineInfo;
+    // 主变负载率信息
+    private PowerTransformerInfoDTO powerTransformerInfo;
+    // 转供区域对侧开关信息
+    private LinkSwitchDTO linkSwitch;
+    // 组成这个区域的开关信息
+    private List<SwitchInfoDTO> switchInfoList;
+    /**
+     * 馈线信息
+     */
+    private FeederInfoDTO feederInfo;
+
+    /**
+     * 所有开关信息列表
+     */
+    private List<AllSwitchInfoDTO> allSwitchInfoList;
+    // 转供区域容量
+    private Double transferCapacity;
+    // 转供区域热倒过程的校验结果
+    private HotCheckDTO hotCheck;
+    // 转供区域是否可以转供
+    private Boolean powerOnSuccess;
+    // 转供区域转供类型(hot-热倒、cold-冷倒)
+    private String xferType;
+    // 终态校验结果
+    private FinalCheckDTO finalCheck;
+}

+ 60 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/Feeder.java

@@ -0,0 +1,60 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+
+/**
+ * 线路详情
+ */
+@Data
+public class Feeder {
+    /**
+     * 设备ID
+     */
+    private String psrID;
+
+    /**
+     * 设备类型
+     */
+    private String psrType;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 额定电流
+     */
+    private Double rateCurrent;
+
+    /**
+     * 转供前电流
+     */
+    private Double beforeI;
+
+    /**
+     * 转供后电流
+     */
+    private Double afterI;
+
+    /**
+     * 转供前日均电流
+     */
+    private Object beforeDayI;
+
+    /**
+     * 转供后日均电流
+     */
+    private Object afterDayI;
+
+    /**
+     * 转供前线损
+     */
+    private Double lineLossBefore;
+
+    /**
+     * 转供后线损
+     */
+    private Double lineLossAfter;
+}
+

+ 79 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederOutBreaker.java

@@ -0,0 +1,79 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+
+/**
+ * 线路出口断路器
+ */
+@Data
+public class FeederOutBreaker {
+    /**
+     * 馈线ID
+     */
+    private String feeder_id;
+
+    /**
+     * 馈线名称
+     */
+    private String feeder_name;
+
+    /**
+     * 原始馈线ID
+     */
+    private String ori_feeder_id;
+
+    /**
+     * 原始馈线名称
+     */
+    private String ori_feeder_name;
+
+    /**
+     * 断路器ID
+     */
+    private String breaker_id;
+
+    /**
+     * 断路器名称
+     */
+    private String breaker_name;
+
+    /**
+     * 断路器功能
+     */
+    private String breaker_func;
+
+    /**
+     * 额定电流
+     */
+    private Double rateCurrent;
+
+    /**
+     * 转供前有功功率
+     */
+    private Double beforeP;
+
+    /**
+     * 转供前无功功率
+     */
+    private Double beforeQ;
+
+    /**
+     * 转供前电流
+     */
+    private Double beforeI;
+
+    /**
+     * 转供后有功功率
+     */
+    private Double afterP;
+
+    /**
+     * 转供后无功功率
+     */
+    private Double afterQ;
+
+    /**
+     * 转供后电流
+     */
+    private Double afterI;
+}

+ 23 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederOutBreakerResult.java

@@ -0,0 +1,23 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+import java.util.List;
+
+/**
+ * 线路出口开关结果
+ */
+@Data
+public class FeederOutBreakerResult {
+    /**
+     * 注释:线路出口开关在网络重构前后的电流,所有线路的出口开关都会返回。
+     * 因为有线路倒送母线的情况,电流是流经出口开关的值,方向可能是流向母线的。
+     * 使用breaker_func=线路出口开关(倒送母线)来标识.
+     * beforeP/Q/I是转供前的潮流,afterP/Q/I是转供后的潮流
+     */
+
+    /**
+     * 线路出口断路器列表
+     */
+    private List<FeederOutBreaker> listFeederOutBreaker;
+}
+

+ 16 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederResult.java

@@ -0,0 +1,16 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+import java.util.List;
+
+/**
+ * 线路结果
+ */
+@Data
+public class FeederResult {
+    /**
+     * 线路列表
+     */
+    private List<Feeder> listFeeder;
+}
+

+ 45 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederXfer.java

@@ -0,0 +1,45 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+
+/**
+ * 线路转供详情
+ */
+@Data
+public class FeederXfer {
+    /**
+     * 输出馈线ID
+     */
+    private String feederOut_id;
+
+    /**
+     * 输出馈线名称
+     */
+    private String feederOut_name;
+
+    /**
+     * 输入馈线ID
+     */
+    private String feederIn_id;
+
+    /**
+     * 输入馈线名称
+     */
+    private String feederIn_name;
+
+    /**
+     * 转供有功功率
+     */
+    private Double xfer_p;
+
+    /**
+     * 转供无功功率
+     */
+    private Double xfer_q;
+
+    /**
+     * 转供电流
+     */
+    private Double xfer_I;
+}
+

+ 20 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FeederXferResult.java

@@ -0,0 +1,20 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+import java.util.List;
+
+/**
+ * 线路转供结果
+ */
+@Data
+public class FeederXferResult {
+    /**
+     * 注释:每一条线路的转供功率,即feederOut线路转供XX的MW功率(xfer_p,xfer_q)至feederIn线路
+     */
+
+    /**
+     * 线路转供列表
+     */
+    private List<FeederXfer> listFeederXfer;
+}
+

+ 20 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/FinalCheck.java

@@ -0,0 +1,20 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+
+/**
+ * 最终检查结果
+ */
+@Data
+public class FinalCheck {
+    /**
+     * 是否安全
+     */
+    private Boolean is_safe;
+
+    /**
+     * 详细信息
+     */
+    private String details;
+}
+

+ 66 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/Scheme.java

@@ -0,0 +1,66 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 方案信息
+ */
+@Data
+public class Scheme {
+    /**
+     * 注释:方案列表(缺少损失用户列表)
+     */
+
+    /**
+     * 计算结果
+     */
+    private String computeResult;
+
+    /**
+     * 详细描述
+     */
+    private String detalDesc;
+
+    /**
+     * 开关操作信息
+     */
+    private SwitchOp SwitchOp;
+
+    /**
+     * 线路出口开关结果
+     */
+    private FeederOutBreakerResult feederOutBreakerResult;
+
+    /**
+     * 线路转供结果
+     */
+    private FeederXferResult feederXferResult;
+
+    /**
+     * 线路结果
+     */
+    private FeederResult feederResult;
+
+    /**
+     * 电压结果
+     */
+    private VolResult volResult;
+
+    /**
+     * 损失用户列表
+     */
+    private List<String> userLossList;
+
+    /**
+     * 开关结果
+     */
+    private SwitchResult switchResult;
+
+    /**
+     * 最终检查结果
+     */
+    private FinalCheck finalCheck;
+}
+

+ 65 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/SwitchDetail.java

@@ -0,0 +1,65 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+
+/**
+ * 开关详情
+ */
+@Data
+public class SwitchDetail {
+    /**
+     * 设备ID
+     */
+    private String psrID;
+
+    /**
+     * 设备类型
+     */
+    private String psrType;
+
+    /**
+     * 节点1 RDFID
+     */
+    private String node1_rdfid;
+
+    /**
+     * 节点2 RDFID
+     */
+    private String node2_rdfid;
+
+    /**
+     * 自动化类型
+     */
+    private String autoType;
+
+    /**
+     * 转供前状态
+     */
+    private String before_state;
+
+    /**
+     * 转供前电流
+     */
+    private Double before_I;
+
+    /**
+     * 转供前电压
+     */
+    private Double before_U;
+
+    /**
+     * 转供后状态
+     */
+    private String after_state;
+
+    /**
+     * 转供后电流
+     */
+    private Double after_I;
+
+    /**
+     * 转供后电压
+     */
+    private Double after_U;
+}
+

+ 16 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/SwitchOp.java

@@ -0,0 +1,16 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+
+import lombok.Data;
+import java.util.List;
+
+/**
+ * 开关操作信息
+ */
+@Data
+public class SwitchOp {
+    /**
+     * 开关操作列表
+     */
+    private List<SwitchOperation> listSwitchOp;
+}
+

+ 38 - 0
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/wholeStation/SwitchOperation.java

@@ -0,0 +1,38 @@
+package com.hdkj.lt.modle.dto.wholeStation;
+import lombok.Data;
+
+/**
+ * 开关操作详情
+ */
+@Data
+public class SwitchOperation {
+    /**
+     * 断路器ID
+     */
+    private String breaker_id;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 设备类型
+     */
+    private String psrType;
+
+    /**
+     * 自动化类型
+     */
+    private String autoType;
+
+    /**
+     * 操作类型
+     */
+    private String operation_type;
+
+    /**
+     * 时间戳
+     */
+    private String timestamp;
+}

Деякі файли не було показано, через те що забагато файлів було змінено