From 266448b4c6380ceb4ef025c196114e32381b3bf0 Mon Sep 17 00:00:00 2001
From: liriming <1343021927@qq.com>
Date: 星期一, 12 五月 2025 13:13:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 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