From 2ca77a7f4bea11e958b1121371e3406182e233e9 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期二, 15 四月 2025 17:04:54 +0800 Subject: [PATCH] 新增电网拓扑预警信息接口 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 67 ++++++++++++++++++++++++++------- 1 files changed, 52 insertions(+), 15 deletions(-) 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 d038cb5..e3aeb13 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 @@ -16,10 +16,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Random; +import java.util.*; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -61,7 +58,7 @@ if (CollectionUtils.isEmpty(result)) { return success(result); } - for(PowerNetFactorDTO dto : result) { + for (PowerNetFactorDTO dto : result) { List<String> points = new ArrayList<>(); if (StringUtils.isNotBlank(dto.getCurP())) { points.add(dto.getCurP()); @@ -83,14 +80,54 @@ return success(result); } - /*@GetMapping("/net-factor/alarm") - * 判断 curCos 是否超上下限 - * {nodeName}功率因数超上限/下限。 - * - * 判断 curQ - * {nodeName}发生无功返送 - * - * */ + /* + * 判断 curCos 是否超上下限 + * {nodeName}功率因数超上限/下限。 + * + * 判断 curQ + * {nodeName}发生无功返送 + * + * */ + + @GetMapping("/net-factor/alarm") + @Operation(summary = "功率因数-电网拓扑预警信息") + public CommonResult<String> getPowerNetFactorAlarm(@RequestParam Map<String, Object> params) { + String result = ""; + PowerNetFactorDTO dto = powerNetFactorService.selectById(params); + if (Objects.isNull(dto)) { + return success(result); + } + List<String> points = new ArrayList<>(); + if (StringUtils.isNotBlank(dto.getCurQ())) { + points.add(dto.getCurQ()); + } + if (CollectionUtils.isEmpty(points)) { + return success(result); + } + 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) { + result = dto.getNodeName() + "发生无功返送;"; + } + } else { + if (curQ.compareTo(BigDecimal.ZERO) < 0) { + result = dto.getNodeName() + "发生无功返送;"; + } + } + if (dto.getStatus() > 0) { + BigDecimal curCos = new BigDecimal(dto.getCurCos()); + if (curCos.compareTo(dto.getLimitH()) > 0) { + result += dto.getNodeName() + "功率因数超上限"; + }else if (curCos.compareTo(dto.getLimitL()) < 0) { + result += dto.getNodeName() + "功率因数超下限"; + } + } + return success(result); + } @GetMapping("/gen-status/list") @Operation(summary = "功率因数-发电机组实时状态") @@ -100,7 +137,7 @@ if (CollectionUtils.isEmpty(result)) { return success(result); } - for(PowerGenStatusDTO dto : result) { + for (PowerGenStatusDTO dto : result) { List<String> points = new ArrayList<>(); if (StringUtils.isNotBlank(dto.getCurP())) { points.add(dto.getCurP()); @@ -154,7 +191,7 @@ @Operation(summary = "功率因数-管控功率因数详情") public CommonResult<List<PowerControlDetDTO>> getPowerControlDetList(@RequestParam Map<String, Object> params) { List<PowerControlDetDTO> result = new ArrayList<>(); - String name = (String)params.get("name"); + String name = (String) params.get("name"); if (StringUtils.isBlank(name)) { return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST); } -- Gitblit v1.9.3