鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
22 小时以前 1d9abe2a92a8c2bdf7d4534ad1aa20ad615b33ca
负荷移植-最大需量发生记录分页
已修改8个文件
已添加1个文件
124 ■■■■■ 文件已修改
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxdemandDetDTO.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPowerMaxdemandTask.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandMainServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
@@ -472,14 +472,14 @@
    }
    @GetMapping("/control-main/list")
    @Operation(summary = "功率因数-管控变电站列表")
    @Operation(summary = "功率因数-管控变电站列表(已废弃)")
    public CommonResult<List<PowerControlMainDTO>> getPowerControlMainList(@RequestParam Map<String, Object> params) {
        List<PowerControlMainEntity> list = powerControlMainService.list(params);
        return success(ConvertUtils.sourceToTarget(list, PowerControlMainDTO.class));
    }
    @PostMapping("/control-main/update")
    @Operation(summary = "功率因数-管控变电站修改上下限")
    @Operation(summary = "功率因数-管控变电站修改上下限(已废弃)")
    public CommonResult<Boolean> updatePowerControlMain(@RequestBody PowerControlMainDTO dto) {
        if (StringUtils.isBlank(dto.getId())) {
            return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST);
@@ -493,7 +493,7 @@
    }
    @GetMapping("/control-det/list")
    @Operation(summary = "功率因数-管控功率因数详情")
    @Operation(summary = "功率因数-管控功率因数详情(已废弃)")
    public CommonResult<List<PowerControlDetDTO>> getPowerControlDetList(@RequestParam Map<String, Object> params) {
        List<PowerControlDetDTO> result = new ArrayList<>();
        String name = (String) params.get("name");
@@ -508,18 +508,13 @@
        result = ConvertUtils.sourceToTarget(list, PowerControlDetDTO.class);
        result.forEach(item -> {
            // 设置随机数据,0.8左右
            Random rand = new Random();
            int min = 700;
            int max = 900;
            int randomNumber = rand.nextInt(max - min + 1) + min;
            BigDecimal rv = new BigDecimal(randomNumber * 0.001).setScale(4, BigDecimal.ROUND_HALF_UP);
            /*BigDecimal rv = new BigDecimal(randomNumber * 0.001).setScale(4, BigDecimal.ROUND_HALF_UP);
            item.setValue(rv);
            if (item.getLimitL() != null && rv.compareTo(item.getLimitL()) < 0) {
                item.setStatus(1);
            } else {
                item.setStatus(0);
            }
            }*/
        });
        return success(result);
    }
@@ -1109,20 +1104,28 @@
        return success(result);
    }
    @GetMapping("/power-maxDemand/page")
    @Operation(summary = "负荷移植-最大需量折叠分页列表")
    @GetMapping("/power-maxdemand/page")
    @Operation(summary = "负荷移植-最大需量发生记录分页")
    public CommonResult<PageResult<PowerMaxDemandMainDTO>> getPowerMaxDemandMainPage(@Validated PowerMaxDemandMainPageReqVO reqVO) {
        PageResult<PowerMaxDemandMainDTO> page = powerMaxDemandMainService.page(reqVO);
        List<String> parentIds = page.getList()
        PageResult<PowerMaxdemandMainEntity> page = powerMaxDemandMainService.page(reqVO);
        PageResult<PowerMaxDemandMainDTO> result = BeanUtils.toBean(page, PowerMaxDemandMainDTO.class);
        /*List<String> parentIds = result.getList()
                .stream()
                .map(PowerMaxDemandMainDTO::getId)
                .collect(Collectors.toList());
        List<PowerMaxdemandDetEntity> children = powerMaxdemandDetService.selectListByRelIds(parentIds);
        Map<String, List<PowerMaxdemandDetEntity>> childrenMap = children.stream()
                .collect(Collectors.groupingBy(PowerMaxdemandDetEntity::getRelId));
        page.getList().forEach(
                dto -> dto.setChildren(childrenMap.getOrDefault(dto.getId(), Collections.emptyList()))
        );
        return success(BeanUtils.toBean(page, PowerMaxDemandMainDTO.class));
                .collect(Collectors.groupingBy(PowerMaxdemandDetEntity::getRelId));*/
        result.getList().forEach(dto0 -> {
            List<PowerMaxdemandDetEntity> detList0 = powerMaxdemandDetService.selectListByRelId(dto0.getId(), dto0.getOccurTime());
            dto0.setChildren(ConvertUtils.sourceToTarget(detList0, PowerMaxdemandDetDTO.class));
            if (CollectionUtils.isEmpty(dto0.getChildren())) {
                dto0.getChildren().forEach(dto1 -> {
                    List<PowerMaxdemandDetEntity> detList1 = powerMaxdemandDetService.selectListByRelId(dto1.getId(), dto1.getOccurTime());
                    dto1.setChildren(ConvertUtils.sourceToTarget(detList1, PowerMaxdemandDetDTO.class));
                });
            }
        });
        return success(result);
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java
@@ -1,7 +1,5 @@
package com.iailab.module.ansteel.api.dto;
import com.baomidou.mybatisplus.annotation.TableId;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandDetEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -35,5 +33,5 @@
    private BigDecimal maxDemand;
    @Schema(description = "最大需量详情")
    private List<PowerMaxdemandDetEntity> children;
    private List<PowerMaxdemandDetDTO> children;
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxdemandDetDTO.java
对比新文件
@@ -0,0 +1,37 @@
package com.iailab.module.ansteel.api.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author PanZhibao
 * @Description
 * @createTime 2025年05月12日
 */
@Data
public class PowerMaxdemandDetDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @Schema(description = "id")
    private String id;
    @Schema(description = "发生时间")
    private Date occurTime;
    @Schema(description = "编号")
    private String code;
    @Schema(description = "名称")
    private String name;
    @Schema(description = "最大需量")
    private BigDecimal maxDemand;
    @Schema(description = "最大需量详情")
    private List<PowerMaxdemandDetDTO> children;
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPowerMaxdemandTask.java
@@ -120,6 +120,7 @@
                Calendar calendar1 = Calendar.getInstance();
                calendar1.setTime(occurTime);
                calendar1.add(Calendar.MINUTE, 1);
                int sort = 0;
                for (PowerNetDropdownEntity dropdown : dropdownList) {
                    if (StringUtils.isBlank(dropdown.getExt1())) {
                        logger.info(dropdown.getNodeCode() + ":dropdown.getExt1() is empty");
@@ -141,7 +142,9 @@
                    detEntity.setName(dropdown.getNodeName());
                    detEntity.setOccurTime(occurTime);
                    detEntity.setMaxDemand(BigDecimal.valueOf(valueList1.get(0).getV()));
                    detEntity.setSort(sort);
                    powerMaxdemandDetService.add(detEntity);
                    sort ++;
                }
            }
            logger.info("RunPowerMaxdemandTask end");
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java
@@ -1,15 +1,11 @@
package com.iailab.module.ansteel.power.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.iailab.framework.common.dao.BaseDao;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.iailab.module.ansteel.api.dto.PowerMaxDemandMainDTO;
import com.iailab.module.ansteel.api.vo.PowerMaxDemandMainPageReqVO;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandMainEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * @author PanZhibao
@@ -18,10 +14,12 @@
 */
@Mapper
public interface PowerMaxdemandMainDao extends BaseMapperX<PowerMaxdemandMainEntity> {
    IPage<PowerMaxDemandMainDTO> getPage(IPage<PowerMaxdemandMainEntity> page, @Param("params") PowerMaxDemandMainPageReqVO reqVO);
    default IPage<PowerMaxDemandMainDTO> selectPage(PowerMaxDemandMainPageReqVO params) {
        return getPage(getPage(params), params);
    default PageResult<PowerMaxdemandMainEntity> selectPage(PowerMaxDemandMainPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<PowerMaxdemandMainEntity>()
                .likeIfPresent(PowerMaxdemandMainEntity::getName, reqVO.getName())
                .eqIfPresent(PowerMaxdemandMainEntity::getCode, reqVO.getCode())
                .orderByDesc(PowerMaxdemandMainEntity::getOccurTime));
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandDetEntity;
import java.util.Date;
import java.util.List;
/**
@@ -15,4 +16,6 @@
    void add(PowerMaxdemandDetEntity entity);
    List<PowerMaxdemandDetEntity> selectListByRelIds(List<String> relIds);
    List<PowerMaxdemandDetEntity> selectListByRelId(String relId, Date occurTime);
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java
@@ -16,7 +16,7 @@
 */
public interface PowerMaxdemandMainService {
    PageResult<PowerMaxDemandMainDTO> page(PowerMaxDemandMainPageReqVO reqVO);
    PageResult<PowerMaxdemandMainEntity> page(PowerMaxDemandMainPageReqVO reqVO);
    String add(PowerMaxdemandMainEntity entity);
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java
@@ -9,6 +9,7 @@
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@@ -35,4 +36,12 @@
        return powerMaxdemandDetDao.selectList(
                new QueryWrapper<PowerMaxdemandDetEntity>().in("rel_id", relIds));
    }
    @Override
    public List<PowerMaxdemandDetEntity> selectListByRelId(String relId, Date occurTime) {
        return powerMaxdemandDetDao.selectList(
                new QueryWrapper<PowerMaxdemandDetEntity>()
                        .eq("rel_id", relId)
                        .eq("occur_time", occurTime));
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandMainServiceImpl.java
@@ -1,15 +1,11 @@
package com.iailab.module.ansteel.power.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.iailab.framework.common.constant.Constant;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.module.ansteel.api.dto.PowerMaxDemandMainDTO;
import com.iailab.module.ansteel.api.vo.PowerMaxDemandMainPageReqVO;
import com.iailab.module.ansteel.power.dao.PowerMaxdemandMainDao;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandMainEntity;
import com.iailab.module.ansteel.power.service.PowerMaxdemandMainService;
import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestRespVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -18,8 +14,6 @@
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import static org.bouncycastle.pqc.jcajce.provider.util.WrapUtil.getWrapper;
/**
 * @author PanZhibao
@@ -34,9 +28,8 @@
    private PowerMaxdemandMainDao powerMaxdemandMainDao;
    @Override
    public PageResult<PowerMaxDemandMainDTO> page(PowerMaxDemandMainPageReqVO reqVO) {
        IPage<PowerMaxDemandMainDTO> page = powerMaxdemandMainDao.selectPage(reqVO);
        return new PageResult<>(page.getRecords(), page.getTotal());
    public PageResult<PowerMaxdemandMainEntity> page(PowerMaxDemandMainPageReqVO reqVO) {
        return powerMaxdemandMainDao.selectPage(reqVO);
    }
    @Override