鞍钢鲅鱼圈能源管控系统后端代码
liriming
6 天以前 2ca77a7f4bea11e958b1121371e3406182e233e9
新增电网拓扑预警信息接口
已修改5个文件
93 ■■■■ 文件已修改
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDTO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/PowerNetFactorEntity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/PowerNetFactorService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/PowerNetFactorServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        }
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDTO.java
@@ -34,6 +34,9 @@
    @Schema(description = "当前功率因数")
    private String curCos;
    @Schema(description = "无功返送判断条件(1判断cur_q>0,-1判断cur_q<0)")
    private BigDecimal curFlag;
    @Schema(description = "预测有功")
    private String preP;
@@ -43,6 +46,9 @@
    @Schema(description = "预测功率因数")
    private String preCos;
    @Schema(description = "上限")
    private BigDecimal limitH;
    @Schema(description = "下限")
    private BigDecimal limitL;
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/PowerNetFactorEntity.java
@@ -44,6 +44,10 @@
     */
    private String curCos;
    /**
     * 无功返送判断条件
     */
    private BigDecimal curFlag;
    /**
     * 预测有功
     */
    private String preP;
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/PowerNetFactorService.java
@@ -1,5 +1,6 @@
package com.iailab.module.ansteel.api.service;
import com.iailab.module.ansteel.api.dto.PowerNetFactorDTO;
import com.iailab.module.ansteel.api.entity.PowerNetFactorEntity;
import java.util.List;
@@ -13,4 +14,6 @@
public interface PowerNetFactorService {
    List<PowerNetFactorEntity> list(Map<String, Object> params);
    PowerNetFactorDTO selectById(Map<String, Object> params);
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/PowerNetFactorServiceImpl.java
@@ -1,15 +1,19 @@
package com.iailab.module.ansteel.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.framework.common.util.object.ConvertUtils;
import com.iailab.module.ansteel.api.dao.PowerNetFactorDao;
import com.iailab.module.ansteel.api.dto.PowerNetFactorDTO;
import com.iailab.module.ansteel.api.entity.PowerNetFactorEntity;
import com.iailab.module.ansteel.api.service.PowerNetFactorService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
 * @author PanZhibao
@@ -30,4 +34,13 @@
        return powerNetFactorDao.selectList(queryWrapper);
    }
    @Override
    public PowerNetFactorDTO selectById(Map<String, Object> params) {
        String id = (String) params.get("id");
        if(!StringUtils.isNotBlank(id)) {
            return null;
        }
        return ConvertUtils.sourceToTarget(powerNetFactorDao.selectById(id),PowerNetFactorDTO.class);
    }
}