From 5c8d171c591a022d3a775c38ec0acfe0c633b6e1 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 06 五月 2025 16:43:27 +0800 Subject: [PATCH] 功率因数-母线电压状态 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerVoltageStatusDao.java | 14 +++ ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerVoltageStatusServiceImpl.java | 33 ++++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 35 ++++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/power/entity/PowerVoltageStatusEntity.java | 35 ++++++++ ansteel-biz/db/mysql.sql | 43 +++++++--- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerVoltageStatusDTO.java | 25 ++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerVoltageStatusService.java | 16 ++++ 7 files changed, 187 insertions(+), 14 deletions(-) diff --git a/ansteel-biz/db/mysql.sql b/ansteel-biz/db/mysql.sql index ea9a423..8c26e46 100644 --- a/ansteel-biz/db/mysql.sql +++ b/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='电力下拉关系表'; \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java index abe2985..1df0cfd 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java +++ b/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); + } } \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerVoltageStatusDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerVoltageStatusDTO.java new file mode 100644 index 0000000..a7a67d8 --- /dev/null +++ b/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; +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerVoltageStatusDao.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerVoltageStatusDao.java new file mode 100644 index 0000000..cd41c93 --- /dev/null +++ b/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> { +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/entity/PowerVoltageStatusEntity.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/entity/PowerVoltageStatusEntity.java new file mode 100644 index 0000000..eac718c --- /dev/null +++ b/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; +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerVoltageStatusService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerVoltageStatusService.java new file mode 100644 index 0000000..672a3eb --- /dev/null +++ b/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); +} diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerVoltageStatusServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerVoltageStatusServiceImpl.java new file mode 100644 index 0000000..843a5d8 --- /dev/null +++ b/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); + } +} \ No newline at end of file -- Gitblit v1.9.3