鞍钢鲅鱼圈能源管控系统后端代码
dongyukun
2025-05-09 7735ea1d4f9c3a9e6d7f9e87c270807f45442060
负荷移植-最大需量折叠分页列表
已修改6个文件
已添加2个文件
159 ■■■■■ 文件已修改
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerMaxDemandMainPageReqVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | 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 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
@@ -2,12 +2,21 @@
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants;
import com.iailab.framework.common.pojo.CommonResult;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.util.date.DateUtils;
import com.iailab.framework.common.util.object.BeanUtils;
import com.iailab.framework.common.util.object.ConvertUtils;
import com.iailab.framework.tenant.core.context.TenantContextHolder;
import com.iailab.module.ansteel.api.dto.*;
import com.iailab.module.ansteel.api.vo.PowerMaxDemandMainPageReqVO;
import com.iailab.module.ansteel.common.utils.DecimalUtil;
import com.iailab.module.ansteel.job.dto.ScheduleJobDTO;
import com.iailab.module.ansteel.job.entity.ScheduleJobEntity;
import com.iailab.module.ansteel.job.service.ScheduleJobService;
import com.iailab.module.ansteel.job.vo.ScheduleJobReqVO;
import com.iailab.module.ansteel.power.entity.*;
import com.iailab.module.ansteel.power.service.*;
import com.iailab.module.data.api.point.DataPointApi;
@@ -20,7 +29,9 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
@@ -79,6 +90,11 @@
    @Autowired
    private PowerVoltageStatusService powerVoltageStatusService;
    @Autowired
    private PowerMaxdemandMainService powerMaxDemandMainService;
    @Autowired
    private PowerMaxdemandDetService powerMaxdemandDetService;
    @GetMapping("/net-factor/list")
    @Operation(summary = "功率因数-电网拓扑")
@@ -689,7 +705,7 @@
            }
            if (curValue == null) {
                log.info("curValue is null");
                for (PowerNetDropdownEntity netDropdown : dropdownList){
                for (PowerNetDropdownEntity netDropdown : dropdownList) {
                    PowerDemandQueryRespDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerDemandQueryRespDTO.class);
                    if (dto.getNodeCode().equals(nodeCode)) {
                        dto.setCurDemand(queryDto.getCurDemand());
@@ -707,7 +723,7 @@
                        pointValueMap.put(item.get("time").toString(), DecimalUtil.toBigDecimal(item.get("value")));
                    });
                    dto.setCurDemand(pointValueMap.get(DateUtils.format(curValue.getT(),DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)));
                    dto.setCurDemand(pointValueMap.get(DateUtils.format(curValue.getT(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)));
                    dto.setDataTime(curValue.getT());
                }
                result.add(dto);
@@ -1092,4 +1108,21 @@
        }
        return success(result);
    }
    @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()
                .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));
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java
对比新文件
@@ -0,0 +1,39 @@
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;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author dyk
 * @date 2025年04月18日
 */
@Data
public class PowerMaxDemandMainDTO 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<PowerMaxdemandDetEntity> children;
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerMaxDemandMainPageReqVO.java
对比新文件
@@ -0,0 +1,28 @@
package com.iailab.module.ansteel.api.vo;
import com.iailab.framework.common.pojo.PageParam;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandDetEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author dyk
 * @date 2025年05月09日
 */
@Data
public class PowerMaxDemandMainPageReqVO extends PageParam {
    @Schema(description = "编号")
    private String name;
    @Schema(description = "名称")
    private String code;
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java
@@ -1,8 +1,15 @@
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
@@ -10,5 +17,11 @@
 * @createTime 2025年05月07日
 */
@Mapper
public interface PowerMaxdemandMainDao extends BaseDao<PowerMaxdemandMainEntity> {
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);
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java
@@ -1,6 +1,9 @@
package com.iailab.module.ansteel.power.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandDetEntity;
import java.util.List;
/**
 * @author PanZhibao
@@ -10,4 +13,6 @@
public interface PowerMaxdemandDetService {
    void add(PowerMaxdemandDetEntity entity);
    List<PowerMaxdemandDetEntity> selectListByRelIds(List<String> relIds);
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java
@@ -1,9 +1,13 @@
package com.iailab.module.ansteel.power.service;
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.entity.PowerMaxdemandMainEntity;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;
/**
 * @author PanZhibao
@@ -12,7 +16,10 @@
 */
public interface PowerMaxdemandMainService {
    PageResult<PowerMaxDemandMainDTO> page(PowerMaxDemandMainPageReqVO reqVO);
    String add(PowerMaxdemandMainEntity entity);
    BigDecimal getMax(String code, Date start, Date end);
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java
@@ -1,5 +1,6 @@
package com.iailab.module.ansteel.power.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.module.ansteel.power.dao.PowerMaxdemandDetDao;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandDetEntity;
import com.iailab.module.ansteel.power.service.PowerMaxdemandDetService;
@@ -7,6 +8,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
/**
@@ -26,4 +29,10 @@
        entity.setId(UUID.randomUUID().toString());
        powerMaxdemandDetDao.insert(entity);
    }
    @Override
    public List<PowerMaxdemandDetEntity> selectListByRelIds(List<String> relIds) {
        return powerMaxdemandDetDao.selectList(
                new QueryWrapper<PowerMaxdemandDetEntity>().in("rel_id", relIds));
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandMainServiceImpl.java
@@ -1,20 +1,25 @@
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;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
import static org.bouncycastle.pqc.jcajce.provider.util.WrapUtil.getWrapper;
/**
 * @author PanZhibao
@@ -29,6 +34,12 @@
    private PowerMaxdemandMainDao powerMaxdemandMainDao;
    @Override
    public PageResult<PowerMaxDemandMainDTO> page(PowerMaxDemandMainPageReqVO reqVO) {
        IPage<PowerMaxDemandMainDTO> page = powerMaxdemandMainDao.selectPage(reqVO);
        return new PageResult<>(page.getRecords(), page.getTotal());
    }
    @Override
    public String add(PowerMaxdemandMainEntity entity) {
        entity.setId(UUID.randomUUID().toString());
        powerMaxdemandMainDao.insert(entity);