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; @@ -83,7 +80,7 @@ return success(result); } /*@GetMapping("/net-factor/alarm") /* * 判断 curCos 是否超上下限 * {nodeName}功率因数超上限/下限。 * @@ -92,6 +89,46 @@ * * */ @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 = "功率因数-发电机组实时状态") public CommonResult<List<PowerGenStatusDTO>> getPowerGenStatusList(@RequestParam Map<String, Object> params) { 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); } }