鞍钢鲅鱼圈能源管控系统后端代码
dongyukun
7 天以前 e282e5c6b8d6acb9262feb45fe06fa5184327914
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);
                }
            }
        }
@@ -249,32 +270,32 @@
        if (CollectionUtils.isEmpty(dtoList)) {
            return success(result);
        }
        for (PowerNetFactorDTO dto : dtoList) {
        for (PowerNetFactorEntity entity : list) {
            List<String> points = new ArrayList<>();
            String message = "";
            if (StringUtils.isNotBlank(dto.getCurQ())) {
                points.add(dto.getCurQ());
            if (StringUtils.isNotBlank(entity.getCurQ())) {
                points.add(entity.getCurQ());
            }
            if (StringUtils.isNotBlank(dto.getCurCos())) {
                points.add(dto.getCurCos());
            if (StringUtils.isNotBlank(entity.getCurCos())) {
                points.add(entity.getCurCos());
            }
            if (CollectionUtils.isEmpty(points)) {
                continue;
            }
            Map<String, Object> pointsRealValue = dataPointApi.queryPointsRealValue(points);
            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() + "发生无功返送;";
            if (pointsRealValue.get(entity.getCurQ()) != null) {
                BigDecimal curQ = new BigDecimal(pointsRealValue.get(entity.getCurQ()).toString());
                if (curQ.compareTo(BigDecimal.ZERO) == entity.getCurFlag()) {
                    message = entity.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 (pointsRealValue.get(entity.getCurCos()) != null) {
                BigDecimal curCos = new BigDecimal(pointsRealValue.get(entity.getCurCos()).toString());
                if (entity.getLimitH() != null && curCos.compareTo(entity.getLimitH()) > 0) {
                    message += entity.getNodeName() + "功率因数超上限";
                } else if (entity.getLimitL() != null && curCos.compareTo(entity.getLimitL()) < 0) {
                    message += entity.getNodeName() + "功率因数超下限";
                }
            }
            if (!message.isEmpty()) {