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