From 4565dd1660ace1311267b4b89fa893489d7ce02f Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 16 四月 2025 16:35:04 +0800
Subject: [PATCH] 电网拓扑状态

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 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 91b9ada..9ee6709 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
@@ -1,5 +1,6 @@
 package com.iailab.module.ansteel.api.controller.admin;
 
+import cn.hutool.core.util.NumberUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants;
 import com.iailab.framework.common.pojo.CommonResult;
@@ -71,6 +72,7 @@
         calendar.set(Calendar.HOUR_OF_DAY, 0);
 
         for (PowerNetFactorDTO dto : result) {
+            boolean cosFlag = false;
             try {
                 List<String> points = new ArrayList<>();
                 if (StringUtils.isNotBlank(dto.getCurP())) {
@@ -89,6 +91,7 @@
                     }
                     if (pointsRealValue.get(dto.getCurCos()) != null) {
                         dto.setCurCos(pointsRealValue.get(dto.getCurCos()).toString());
+                        cosFlag = true;
                     }
                 }
             } catch (Exception ex) {
@@ -125,6 +128,17 @@
             } catch (Exception ex) {
                 log.info(dto.getNodeName() + "获取预测值异常," + ex.getMessage());
             }
+
+            // 设置状态
+            if (cosFlag && StringUtils.isNotBlank(dto.getCurCos()) && NumberUtil.isNumber(dto.getCurCos())) {
+                BigDecimal curCos = new BigDecimal(dto.getCurCos());
+                if (dto.getLimitL() != null && dto.getLimitH() != null &&
+                        curCos.compareTo(dto.getLimitL()) < 0 || curCos.compareTo(dto.getLimitH()) > 0) {
+                    dto.setStatus(1);
+                } else {
+                    dto.setStatus(0);
+                }
+            }
         }
         return success(result);
     }

--
Gitblit v1.9.3