From 1d9abe2a92a8c2bdf7d4534ad1aa20ad615b33ca Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 12 五月 2025 11:44:33 +0800 Subject: [PATCH] 负荷移植-最大需量发生记录分页 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java | 3 + ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandMainServiceImpl.java | 11 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 41 +++++++------ ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxdemandDetDTO.java | 37 ++++++++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java | 9 +++ ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java | 2 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java | 4 - ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPowerMaxdemandTask.java | 3 + ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java | 14 ++-- 9 files changed, 84 insertions(+), 40 deletions(-) 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 973926e..116fa6d 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 @@ -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); } } \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java index bf5501a..6a8317c 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxDemandMainDTO.java +++ b/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; } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxdemandDetDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerMaxdemandDetDTO.java new file mode 100644 index 0000000..8026412 --- /dev/null +++ b/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; +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPowerMaxdemandTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPowerMaxdemandTask.java index 1b23a21..51d1f0d 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPowerMaxdemandTask.java +++ b/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"); diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java index d9b5d45..a97a23d 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerMaxdemandMainDao.java +++ b/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)); + } - } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java index bee187e..4b7ae95 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandDetService.java +++ b/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); } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java index c7e3ccf..1af8af5 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerMaxdemandMainService.java +++ b/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); diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java index d3260a2..a15ed08 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java +++ b/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)); + } } \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandMainServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandMainServiceImpl.java index 0120725..1da3661 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandMainServiceImpl.java +++ b/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 -- Gitblit v1.9.3