ansteel-biz/db/mysql.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetDropdownDTO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerNetDropdownDao.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/entity/PowerNetDropdownEntity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerNetDropdownService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerNetDropdownServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ansteel-biz/db/mysql.sql
@@ -721,4 +721,28 @@ `create_date` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, KEY `idx_rel_id` (`rel_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='焦化工序概况指标数据结果'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='焦化工序概况指标数据结果'; -- ---------------------------- -- 电力下拉关系表 -- ---------------------------- CREATE TABLE `t_power_net_dropdown` ( `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 '排序', PRIMARY KEY (`id`), 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
@@ -7,12 +7,12 @@ import com.iailab.framework.common.util.date.DateUtils; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.ansteel.api.dto.*; import com.iailab.module.ansteel.common.utils.DecimalUtil; import com.iailab.module.ansteel.power.entity.*; import com.iailab.module.ansteel.power.service.*; import com.iailab.module.data.api.point.DataPointApi; import com.iailab.module.data.api.point.dto.ApiPointValueDTO; import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO; import com.iailab.module.data.api.point.dto.ApiPointsValueQueryDTO; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.PredictLastValueReqVO; import io.swagger.v3.oas.annotations.Operation; @@ -22,10 +22,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -75,6 +72,9 @@ @Autowired private PowerCapacitorDetService powerCapacitorDetService; @Autowired private PowerNetDropdownService powerNetDropdownService; @GetMapping("/net-factor/list") @Operation(summary = "功率因数-电网拓扑") @@ -164,10 +164,39 @@ @GetMapping("/net-factor-dropdown/list") @Operation(summary = "功率因数-电网拓扑下拉列表") public CommonResult<List<PowerNetFactorDropdownDTO>> getPowerNetFactorDropdownList(@RequestParam String nodeCode) { public CommonResult<List<PowerNetDropdownDTO>> getPowerNetFactorDropdownList(@RequestParam String nodeCode) { log.info("nodeCode=" + nodeCode); List<PowerNetFactorEntity> list = powerNetFactorService.listDropdown(nodeCode); return success(ConvertUtils.sourceToTarget(list, PowerNetFactorDropdownDTO.class)); List<PowerNetDropdownDTO> result = new ArrayList<>(); PowerNetFactorEntity entity = powerNetFactorService.getByNodeCode(nodeCode); if (entity == null) { return success(result); } List<PowerNetDropdownEntity> list = new ArrayList<>(); Map<String, Object> params = new HashMap<>(); if ("望铁关口".equals(entity.getGroupName())) { params.put("groupName", entity.getGroupName()); params.put("neNodeName", entity.getNodeName()); } else { params.put("groupName", entity.getNodeName()); } list = powerNetDropdownService.list(params); List<String> points = list.stream().map(item -> { return item.getCurCos(); }).collect(Collectors.toList()); Map<String, Object> pointsRealValue = new HashMap<>(); if (!CollectionUtils.isEmpty(points)) { pointsRealValue = dataPointApi.queryPointsRealValue(points); } for (PowerNetDropdownEntity netDropdown : list) { PowerNetDropdownDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerNetDropdownDTO.class); BigDecimal curCos = BigDecimal.ZERO; if (pointsRealValue.get(netDropdown.getCurCos()) != null) { curCos = new BigDecimal(pointsRealValue.get(netDropdown.getCurCos()).toString()); } dto.setCurCos(curCos); result.add(dto); } return success(result); } /** @@ -336,7 +365,7 @@ @Operation(summary = "功率因数-电容器投退指示灯") public CommonResult<List<PowerCapacitorDetDTO>> getPowerCapacitorDetList(@RequestParam Map<String, Object> params) { List<PowerCapacitorDetEntity> list = powerCapacitorDetService.list(params); log.info("list.size=" + list.size()); log.info("list.size=" + list.size()); List<String> points = list.stream().map(item -> { return item.getPointNo(); }).collect(Collectors.toList()); @@ -479,10 +508,48 @@ return success(result); } @GetMapping("/demand-dropdown/list") @Operation(summary = "负荷移植-电网拓扑下拉列表") public CommonResult<List<PowerNetDropdownDTO>> getDemandDropdownList(@RequestParam String code) { if (StringUtils.isBlank(code)) { log.info("code isBlank"); return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST); } log.info("code=" + code); List<PowerNetDropdownDTO> result = new ArrayList<>(); PowerDemandEntity entity = powerDemandService.getByCode(code); if (entity == null) { return success(result); } List<PowerNetDropdownEntity> list = new ArrayList<>(); Map<String, Object> params0 = new HashMap<>(); params0.put("groupName", entity.getName()); list = powerNetDropdownService.list(params0); List<String> points = list.stream().map(item -> { return item.getCurCos(); }).collect(Collectors.toList()); Map<String, Object> pointsRealValue = new HashMap<>(); if (!CollectionUtils.isEmpty(points)) { pointsRealValue = dataPointApi.queryPointsRealValue(points); } for (PowerNetDropdownEntity netDropdown : list) { PowerNetDropdownDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerNetDropdownDTO.class); BigDecimal curCos = BigDecimal.ZERO; if (pointsRealValue.get(netDropdown.getCurCos()) != null) { curCos = new BigDecimal(pointsRealValue.get(netDropdown.getCurCos()).toString()); } dto.setCurCos(curCos); result.add(dto); } return success(result); } @PostMapping("/net-factor/history") @Operation(summary = "功率因数-根据nodeName获取最近1440min历史数据,月最大,最小值") public CommonResult<PowerHistoryDTO> getPowerHistoryData(@RequestBody PowerNetFactorHisReqDTO dto) { log.info("PowerNetFactorHisReqDTO=" + JSONObject.toJSONString(dto)); PowerHistoryDTO result = new PowerHistoryDTO(); String nodeCode = dto.getNodeCode(); if (StringUtils.isBlank(nodeCode)) { return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST); @@ -491,25 +558,30 @@ if (StringUtils.isBlank(queryType)) { return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST); } PowerNetFactorEntity powerNetFactor = powerNetFactorService.getByNodeCode(nodeCode); PowerHistoryDTO result = new PowerHistoryDTO(); if (powerNetFactor == null) { PowerNetFactorQuery powerNetFactorQuery = null; PowerNetFactorEntity powerNetFactorEntity = powerNetFactorService.getByNodeCode(nodeCode); PowerNetDropdownEntity powerNetDropdownEntity = powerNetDropdownService.getByNodeCode(nodeCode); if (powerNetFactorEntity != null) { powerNetFactorQuery = ConvertUtils.sourceToTarget(powerNetFactorEntity, PowerNetFactorQuery.class); } else if (powerNetDropdownEntity != null) { powerNetFactorQuery = ConvertUtils.sourceToTarget(powerNetDropdownEntity, PowerNetFactorQuery.class); } if (powerNetFactorQuery == null) { log.info("powerNetFactor is null"); return success(result); } log.info("开始查询,"); ApiPointValueQueryDTO apiPointValueQueryDTO = new ApiPointValueQueryDTO(); String pointNo = ""; switch (queryType.toUpperCase()) { case "P": pointNo = powerNetFactor.getCurP(); pointNo = powerNetFactorQuery.getCurP(); break; case "Q": pointNo = powerNetFactor.getCurQ(); pointNo = powerNetFactorQuery.getCurQ(); break; case "COS": pointNo = powerNetFactor.getCurCos(); pointNo = powerNetFactorQuery.getCurCos(); break; default: break; ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetDropdownDTO.java
文件名从 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorDropdownDTO.java 修改 @@ -5,6 +5,7 @@ import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * 电力功率因数电网拓扑下拉列表 @@ -13,7 +14,7 @@ * @since 1.0.0 2025-04-11 */ @Data public class PowerNetFactorDropdownDTO implements Serializable { public class PowerNetDropdownDTO implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "节点编码") @@ -23,7 +24,9 @@ private String nodeName; @Schema(description = "当前功率因数") private String curCos; private BigDecimal curCos; @Schema(description = "数据时间") private Date dataTime; } ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerNetFactorQuery.java
对比新文件 @@ -0,0 +1,28 @@ package com.iailab.module.ansteel.api.dto; import lombok.Data; import java.io.Serializable; /** * @author PanZhibao * @Description * @createTime 2025年04月28日 */ @Data public class PowerNetFactorQuery implements Serializable { private static final long serialVersionUID = 1L; /** * 当前有功 */ private String curP; /** * 当前无功 */ private String curQ; /** * 当前功率因数 */ private String curCos; } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerNetDropdownDao.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.PowerNetDropdownEntity; import org.apache.ibatis.annotations.Mapper; /** * @author PanZhibao * @Description * @createTime 2025年04月28日 */ @Mapper public interface PowerNetDropdownDao extends BaseDao<PowerNetDropdownEntity> { } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/entity/PowerNetDropdownEntity.java
对比新文件 @@ -0,0 +1,51 @@ 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; /** * @author PanZhibao * @Description * @createTime 2025年04月28日 */ @Data @TableName("t_power_net_dropdown") public class PowerNetDropdownEntity implements Serializable { private static final long serialVersionUID = 1L; /** * id */ @TableId private String id; private String pCode; private String groupName; private String nodeCode; private String nodeName; private String curP; private String curQ; private String curCos; private String ext1; private String ext2; private String ext3; private String ext4; private String ext5; private Integer sort; } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerNetDropdownService.java
对比新文件 @@ -0,0 +1,18 @@ package com.iailab.module.ansteel.power.service; import com.iailab.module.ansteel.power.entity.PowerNetDropdownEntity; import java.util.List; import java.util.Map; /** * @author PanZhibao * @Description * @createTime 2025年04月28日 */ public interface PowerNetDropdownService { PowerNetDropdownEntity getByNodeCode(String nodeCode); List<PowerNetDropdownEntity> list(Map<String, Object> params); } ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerNetDropdownServiceImpl.java
对比新文件 @@ -0,0 +1,46 @@ package com.iailab.module.ansteel.power.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iailab.module.ansteel.power.dao.PowerNetDropdownDao; import com.iailab.module.ansteel.power.entity.PowerNetDropdownEntity; import com.iailab.module.ansteel.power.service.PowerNetDropdownService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** * @author PanZhibao * @Description * @createTime 2025年04月28日 */ @Slf4j @Service public class PowerNetDropdownServiceImpl implements PowerNetDropdownService { @Autowired private PowerNetDropdownDao powerNetDropdownDao; @Override public PowerNetDropdownEntity getByNodeCode(String nodeCode) { QueryWrapper<PowerNetDropdownEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("node_code", nodeCode); return powerNetDropdownDao.selectOne(queryWrapper); } @Override public List<PowerNetDropdownEntity> list(Map<String, Object> params) { String pCode = params.get("pCode").toString(); String groupName = params.get("groupName").toString(); String neNodeName = params.get("neNodeName").toString(); QueryWrapper<PowerNetDropdownEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.isNotBlank(pCode),"p_code", pCode) .eq(StringUtils.isNotBlank(groupName),"group_name", groupName) .ne(StringUtils.isNotBlank(neNodeName),"node_name", neNodeName) .orderByAsc("sort"); return powerNetDropdownDao.selectList(queryWrapper); } }