鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
2025-05-07 8fb99de46ce93eb442b918d8973f3ff789ce1769
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
@@ -103,14 +103,23 @@
            boolean cosFlag = false;
            try {
                List<String> points = new ArrayList<>();
                if (StringUtils.isNotBlank(entity.getCurA())) {
                    points.add(entity.getCurA());
                }
                if (StringUtils.isNotBlank(entity.getCurP())) {
                    points.add(entity.getCurP());
                }
                if (StringUtils.isNotBlank(entity.getCurQ())) {
                    points.add(entity.getCurQ());
                }
                if (StringUtils.isNotBlank(entity.getCurCos())) {
                    points.add(entity.getCurCos());
                }
                if (!CollectionUtils.isEmpty(points)) {
                    Map<String, Object> pointsRealValue = dataPointApi.queryPointsRealValue(points);
                    if (pointsRealValue.get(entity.getCurA()) != null) {
                        powerNetFactorDTO.setCurA(new BigDecimal(pointsRealValue.get(entity.getCurA()).toString()));
                    }
                    if (pointsRealValue.get(entity.getCurP()) != null) {
                        powerNetFactorDTO.setCurP(new BigDecimal(pointsRealValue.get(entity.getCurP()).toString()));
                    }
@@ -157,39 +166,51 @@
                log.info(entity.getNodeName() + "获取预测值异常," + ex.getMessage());
            }
            // 设置功率因数状态
            if (cosFlag && powerNetFactorDTO.getCurCos() != null) {
                BigDecimal curCos = powerNetFactorDTO.getCurCos();
                if (entity.getLimitL() != null && curCos.compareTo(entity.getLimitL()) < 0) {
            // 设置电流状态
            if (powerNetFactorDTO.getCurA() != null) {
                BigDecimal curA = powerNetFactorDTO.getCurA();
                if (entity.getLimitL() != null && curA.compareTo(entity.getLimitL()) < 0) {
                    powerNetFactorDTO.setStatus(1);
                } else if (entity.getLimitH() != null && curCos.compareTo(entity.getLimitH()) > 0) {
                } else if (entity.getLimitH() != null && curA.compareTo(entity.getLimitH()) > 0) {
                    powerNetFactorDTO.setStatus(1);
                } else {
                    powerNetFactorDTO.setStatus(0);
                }
            }
            // 设置功率因数状态
            if (cosFlag && powerNetFactorDTO.getCurCos() != null) {
                BigDecimal curCos = powerNetFactorDTO.getCurCos();
                if (entity.getCosLimitL() != null && curCos.compareTo(entity.getCosLimitL()) < 0) {
                    powerNetFactorDTO.setQStatus(1);
                } else if (entity.getCosLimitH() != null && curCos.compareTo(entity.getCosLimitH()) > 0) {
                    powerNetFactorDTO.setQStatus(1);
                } else {
                    powerNetFactorDTO.setQStatus(0);
                }
            }
            // 设置有功预警状态
            if (powerNetFactorDTO.getCurP() != null) {
                BigDecimal curP = powerNetFactorDTO.getCurP();
                if (entity.getPLimitH() != null && curP.compareTo(entity.getPLimitL()) < 0) {
                    powerNetFactorDTO.setStatus(1);
                if (entity.getPLimitL() != null && curP.compareTo(entity.getPLimitL()) < 0) {
                    powerNetFactorDTO.setPStatus(1);
                } else if (entity.getPLimitH() != null && curP.compareTo(entity.getPLimitH()) > 0) {
                    powerNetFactorDTO.setStatus(1);
                    powerNetFactorDTO.setPStatus(1);
                } else {
                    powerNetFactorDTO.setStatus(0);
                    powerNetFactorDTO.setPStatus(0);
                }
            }
            // 设置无功预警状态
            if (powerNetFactorDTO.getCurQ() != null) {
                BigDecimal curQ = powerNetFactorDTO.getCurQ();
                if (entity.getQLimitH() != null && curQ.compareTo(entity.getQLimitL()) < 0) {
                    powerNetFactorDTO.setStatus(1);
                if (entity.getQLimitL() != null && curQ.compareTo(entity.getQLimitL()) < 0) {
                    powerNetFactorDTO.setQStatus(1);
                } else if (entity.getQLimitH() != null && curQ.compareTo(entity.getQLimitH()) > 0) {
                    powerNetFactorDTO.setStatus(1);
                    powerNetFactorDTO.setQStatus(1);
                } else {
                    powerNetFactorDTO.setStatus(0);
                    powerNetFactorDTO.setQStatus(0);
                }
            }
        }