ansteel-biz/db/mysql.sql
@@ -708,6 +708,21 @@ UNIQUE key uk_code (code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='调整后的功率因数与无功倒送量'; -- ---------------------------- -- 功率因数-母线电压状态 -- ---------------------------- CREATE TABLE `t_power_voltage_status` ( `id` varchar(36) NOT NULL COMMENT 'id', `code` varchar(50), `name` varchar(50) DEFAULT NULL COMMENT '机组名称', `point` varchar(50) DEFAULT NULL COMMENT '测点', `limit` decimal(8, 2) DEFAULT NULL COMMENT '阈值', `sort` int NULL DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='功率因数-母线电压状态'; CREATE TABLE `t_coking_overview_ind` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'id', @@ -728,21 +743,21 @@ -- ---------------------------- CREATE TABLE `t_power_net_dropdown` ( `id` varchar(36) NOT NULL, `p_code` varchar(50) DEFAULT NULL COMMENT '父编码', `id` varchar(36) NOT NULL, `p_code` varchar(50) DEFAULT NULL COMMENT '父编码', `group_name` varchar(50) NULL DEFAULT NULL COMMENT '分组名称', `node_code` varchar(50) DEFAULT NULL COMMENT '编码', `node_name` varchar(50) DEFAULT NULL COMMENT '名称', `cur_p` varchar(50) NULL DEFAULT NULL COMMENT '当前有功', `cur_q` varchar(50) NULL DEFAULT NULL COMMENT '当前无功', `cur_cos` varchar(50) NULL DEFAULT NULL COMMENT '当前功率因数', `ext1` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段1', `ext2` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段2', `ext3` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段3', `ext4` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段4', `ext5` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段5', `sort` int DEFAULT NULL COMMENT '排序', `node_code` varchar(50) DEFAULT NULL COMMENT '编码', `node_name` varchar(50) DEFAULT NULL COMMENT '名称', `cur_p` varchar(50) NULL DEFAULT NULL COMMENT '当前有功', `cur_q` varchar(50) NULL DEFAULT NULL COMMENT '当前无功', `cur_cos` varchar(50) NULL DEFAULT NULL COMMENT '当前功率因数', `ext1` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段1', `ext2` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段2', `ext3` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段3', `ext4` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段4', `ext5` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '拓展字段5', `sort` int DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`), key uk_p_code (p_code), key uk_p_code (p_code), UNIQUE key uk_node_code (node_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电力下拉关系表'; ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
@@ -77,6 +77,9 @@ @Autowired private PowerNetDropdownService powerNetDropdownService; @Autowired private PowerVoltageStatusService powerVoltageStatusService; @GetMapping("/net-factor/list") @Operation(summary = "功率因数-电网拓扑") public CommonResult<List<PowerNetFactorDTO>> getPowerNetFactorList(@RequestParam Map<String, Object> params) { @@ -889,4 +892,36 @@ return success(result); } @GetMapping("/voltage/status-list") @Operation(summary = "功率因数-母线电压状态") public CommonResult<List<PowerVoltageStatusDTO>> getPowerVoltageStatusList(@RequestParam Map<String, Object> params) { List<PowerVoltageStatusDTO> result = new ArrayList<>(); List<PowerVoltageStatusEntity> list = powerVoltageStatusService.list(params); if (CollectionUtils.isEmpty(list)) { return success(result); } List<String> points = new ArrayList<>(); for (PowerVoltageStatusEntity entity : list) { if (StringUtils.isBlank(entity.getPoint())) { continue; } points.add(entity.getPoint()); } Map<String, Object> pointsRealValue = new HashMap<>(); if (!CollectionUtils.isEmpty(points)) { pointsRealValue = dataPointApi.queryPointsRealValue(points); } for (PowerVoltageStatusEntity entity : list) { PowerVoltageStatusDTO dto = ConvertUtils.sourceToTarget(entity, PowerVoltageStatusDTO.class); dto.setStatus(0); BigDecimal value = new BigDecimal(pointsRealValue.get(entity.getPoint()).toString()); if (value.compareTo(entity.getLimit()) > 0) { dto.setStatus(1); } result.add(dto); } return success(result); } } ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerVoltageStatusDTO.java
对比新文件 @@ -0,0 +1,25 @@ package com.iailab.module.ansteel.api.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; /** * @author PanZhibao * @Description * @createTime 2025年05月06日 */ @Data public class PowerVoltageStatusDTO implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "编码") private String code; @Schema(description = "名称") private String name; @Schema(description = "电压状态:0无电压,1有电压") private Integer status; } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingOverviewDTO.java
@@ -126,4 +126,19 @@ * 平时占比 */ private BigDecimal psRatio; /** * 峰时占比-月累计 */ private BigDecimal fsRatioMonth; /** * 谷时占比-月累计 */ private BigDecimal gsRatioMonth; /** * 平时占比-月累计 */ private BigDecimal psRatioMonth; } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingOverviewEntity.java
@@ -120,4 +120,19 @@ * 平时占比 */ private BigDecimal psRatio; /** * 峰时占比-月累计 */ private BigDecimal fsRatioMonth; /** * 谷时占比-月累计 */ private BigDecimal gsRatioMonth; /** * 平时占比-月累计 */ private BigDecimal psRatioMonth; } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerVoltageStatusDao.java
对比新文件 @@ -0,0 +1,14 @@ package com.iailab.module.ansteel.power.dao; import com.iailab.framework.common.dao.BaseDao; import com.iailab.module.ansteel.power.entity.PowerVoltageStatusEntity; import org.apache.ibatis.annotations.Mapper; /** * @author PanZhibao * @Description * @createTime 2025年05月06日 */ @Mapper public interface PowerVoltageStatusDao extends BaseDao<PowerVoltageStatusEntity> { } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/entity/PowerVoltageStatusEntity.java
对比新文件 @@ -0,0 +1,35 @@ package com.iailab.module.ansteel.power.entity; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; /** * @author PanZhibao * @Description * @createTime 2025年05月06日 */ @Data @TableName("t_power_voltage_status") public class PowerVoltageStatusEntity implements Serializable { private static final long serialVersionUID = 1L; /** * id */ @TableId private String id; private String code; private String name; private String point; private BigDecimal limit; private Integer sort; } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerVoltageStatusService.java
对比新文件 @@ -0,0 +1,16 @@ package com.iailab.module.ansteel.power.service; import com.iailab.module.ansteel.power.entity.PowerVoltageStatusEntity; import java.util.List; import java.util.Map; /** * @author PanZhibao * @Description * @createTime 2025年05月06日 */ public interface PowerVoltageStatusService { List<PowerVoltageStatusEntity> list(Map<String, Object> params); } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerVoltageStatusServiceImpl.java
对比新文件 @@ -0,0 +1,33 @@ package com.iailab.module.ansteel.power.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iailab.module.ansteel.power.dao.PowerVoltageStatusDao; import com.iailab.module.ansteel.power.entity.PowerVoltageStatusEntity; import com.iailab.module.ansteel.power.service.PowerVoltageStatusService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * @author PanZhibao * @Description * @createTime 2025年05月06日 */ @Slf4j @Service public class PowerVoltageStatusServiceImpl implements PowerVoltageStatusService { @Resource private PowerVoltageStatusDao powerVoltageStatusDao; @Override public List<PowerVoltageStatusEntity> list(Map<String, Object> params) { QueryWrapper<PowerVoltageStatusEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByAsc("sort"); return powerVoltageStatusDao.selectList(queryWrapper); } }