From 594a8983a040ff81ad800e788f9e0da541e726f4 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 15 四月 2025 22:23:38 +0800 Subject: [PATCH] 电网拓扑预警信息 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDTO.java | 4 ++-- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 44 ++++++++++++++++++++------------------------ ansteel-biz/db/mysql.sql | 2 ++ ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/PowerNetFactorEntity.java | 2 +- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/ansteel-biz/db/mysql.sql b/ansteel-biz/db/mysql.sql index 0a1b14a..31342be 100644 --- a/ansteel-biz/db/mysql.sql +++ b/ansteel-biz/db/mysql.sql @@ -252,6 +252,8 @@ PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC COMMENT '电力功率因数电网拓扑'; +ALTER TABLE `t_power_net_factor` ADD COLUMN `cur_flag` int DEFAULT 0 COMMENT '无功返送(1:大于0是,-1:小于0是)'; + -- ---------------------------- -- 电力功率因数-发电机组实时状态 -- ---------------------------- diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java index 8260a43..0c9b980 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java @@ -80,15 +80,13 @@ return success(result); } - /* + /** * 判断 curCos 是否超上下限 * {nodeName}功率因数超上限/下限。 - * + * <p> * 判断 curQ * {nodeName}发生无功返送 - * - * */ - + */ @GetMapping("/net-factor/alarm") @Operation(summary = "功率因数-电网拓扑预警信息") public CommonResult<List<String>> getPowerNetFactorAlarm(@RequestParam Map<String, Object> params) { @@ -99,39 +97,37 @@ return success(result); } for (PowerNetFactorDTO dto : dtoList) { - String message = ""; List<String> points = new ArrayList<>(); + String message = ""; if (StringUtils.isNotBlank(dto.getCurQ())) { points.add(dto.getCurQ()); } + if (StringUtils.isNotBlank(dto.getCurCos())) { + points.add(dto.getCurCos()); + } if (CollectionUtils.isEmpty(points)) { - return success(result); + continue; } + Map<String, Object> pointsRealValue = dataPointApi.queryPointsRealValue(points); - if (pointsRealValue.get(dto.getCurQ()) == null) { - return success(result); - } - BigDecimal curQ = new BigDecimal(pointsRealValue.get(dto.getCurQ()).toString()); - if (dto.getCurFlag().compareTo(BigDecimal.ZERO) > 0) { - if (curQ.compareTo(BigDecimal.ZERO) > 0) { - message = dto.getNodeName() + "发生无功返送;"; - } - } else { - if (curQ.compareTo(BigDecimal.ZERO) < 0) { + if (pointsRealValue.get(dto.getCurQ()) != null) { + BigDecimal curQ = new BigDecimal(pointsRealValue.get(dto.getCurQ()).toString()); + if (curQ.compareTo(BigDecimal.ZERO) == dto.getCurFlag()) { message = dto.getNodeName() + "发生无功返送;"; } } - BigDecimal curCos = new BigDecimal(dto.getCurCos()); - if (curCos.compareTo(dto.getLimitH()) > 0) { - message += dto.getNodeName() + "功率因数超上限"; - }else if (curCos.compareTo(dto.getLimitL()) < 0) { - message += dto.getNodeName() + "功率因数超下限"; + if (pointsRealValue.get(dto.getCurCos()) != null) { + BigDecimal curCos = new BigDecimal(pointsRealValue.get(dto.getCurCos()).toString()); + if (curCos.compareTo(dto.getLimitH()) > 0) { + message += dto.getNodeName() + "功率因数超上限"; + } else if (curCos.compareTo(dto.getLimitL()) < 0) { + message += dto.getNodeName() + "功率因数超下限"; + } } - if(!"".equals(message)) { + if (!message.isEmpty()) { result.add(message); } } - return success(result); } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDTO.java index 05aade9..b27b18d 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDTO.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDTO.java @@ -34,8 +34,8 @@ @Schema(description = "当前功率因数") private String curCos; - @Schema(description = "无功返送判断条件(1判断cur_q>0,-1判断cur_q<0)") - private BigDecimal curFlag; + @Schema(description = "无功返送(1:大于0是,-1:小于0是)") + private Integer curFlag; @Schema(description = "预测有功") private String preP; diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/PowerNetFactorEntity.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/PowerNetFactorEntity.java index ca11dd1..129c312 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/PowerNetFactorEntity.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/PowerNetFactorEntity.java @@ -46,7 +46,7 @@ /** * 无功返送判断条件 */ - private BigDecimal curFlag; + private Integer curFlag; /** * 预测有功 */ -- Gitblit v1.9.3