From 51d7e5f320b0933bd6f737f8d25d16b91a4cca08 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 20 五月 2025 15:03:21 +0800
Subject: [PATCH] 功率因数-电容器投退历史(分页)

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java            |   16 ++++++++
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerCapacitorHisPageReqVO.java               |   31 +++++++++++++++
 ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerCapacitorHisDao.java                  |   14 ++++++-
 ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerCapacitorHisService.java          |    4 ++
 ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerCapacitorHisServiceImpl.java |    9 ++++
 5 files changed, 72 insertions(+), 2 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 188f9c4..14e672c 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
@@ -12,6 +12,7 @@
 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.PowerCapacitorHisPageReqVO;
 import com.iailab.module.ansteel.api.vo.PowerMaxDemandMainPageReqVO;
 import com.iailab.module.ansteel.common.utils.DecimalUtil;
 import com.iailab.module.ansteel.job.dto.ScheduleJobDTO;
@@ -531,6 +532,21 @@
         return success(ConvertUtils.sourceToTarget(list, PowerCapacitorHisDTO.class));
     }
 
+    @PostMapping("/capacitor-his/page")
+    @Operation(summary = "功率因数-电容器投退历史(分页)")
+    public CommonResult<PageResult<PowerCapacitorHisDTO>> getPowerCapacitorHisPage(@RequestParam PowerCapacitorHisPageReqVO reqVO) {
+        if (StringUtils.isBlank(reqVO.getStatusId())) {
+            return error(GlobalErrorCodeConstants.BAD_REQUEST);
+        }
+
+        List<PowerCapacitorDetEntity> detList = powerCapacitorDetService.list(reqVO.getStatusId());
+        List<String> detIds = detList.stream().map(PowerCapacitorDetEntity::getId).collect(Collectors.toList());
+        reqVO.setDetIdList(detIds);
+
+        PageResult<PowerCapacitorHisEntity> data = powerCapacitorHisService.page(reqVO);
+        return success(BeanUtils.toBean(data, PowerCapacitorHisDTO.class));
+    }
+
     @GetMapping("/control-main/list")
     @Operation(summary = "功率因数-管控变电站列表(已废弃)")
     public CommonResult<List<PowerControlMainDTO>> getPowerControlMainList(@RequestParam Map<String, Object> params) {
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerCapacitorHisPageReqVO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerCapacitorHisPageReqVO.java
new file mode 100644
index 0000000..fc4f797
--- /dev/null
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerCapacitorHisPageReqVO.java
@@ -0,0 +1,31 @@
+package com.iailab.module.ansteel.api.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.iailab.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2025年05月20日
+ */
+@Data
+public class PowerCapacitorHisPageReqVO extends PageParam {
+
+    @Schema(description = "电容器ID")
+    private String statusId;
+
+    private List<String> detIdList;
+
+    @Schema(description = "开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @Schema(description = "结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+}
\ No newline at end of file
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerCapacitorHisDao.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerCapacitorHisDao.java
index 7e5c577..5ac100b 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerCapacitorHisDao.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/dao/PowerCapacitorHisDao.java
@@ -1,6 +1,9 @@
 package com.iailab.module.ansteel.power.dao;
 
-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.vo.PowerCapacitorHisPageReqVO;
 import com.iailab.module.ansteel.power.entity.PowerCapacitorHisEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -10,5 +13,12 @@
  * @createTime 2025年04月27日
  */
 @Mapper
-public interface PowerCapacitorHisDao extends BaseDao<PowerCapacitorHisEntity> {
+public interface PowerCapacitorHisDao extends BaseMapperX<PowerCapacitorHisEntity> {
+
+    default PageResult<PowerCapacitorHisEntity> selectPage(PowerCapacitorHisPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<PowerCapacitorHisEntity>()
+                .in(PowerCapacitorHisEntity::getDetId, reqVO.getDetIdList())
+                .orderByDesc(PowerCapacitorHisEntity::getCreateDate));
+
+    }
 }
\ No newline at end of file
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerCapacitorHisService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerCapacitorHisService.java
index 3e7854e..3b68a53 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerCapacitorHisService.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/PowerCapacitorHisService.java
@@ -1,5 +1,7 @@
 package com.iailab.module.ansteel.power.service;
 
+import com.iailab.framework.common.pojo.PageResult;
+import com.iailab.module.ansteel.api.vo.PowerCapacitorHisPageReqVO;
 import com.iailab.module.ansteel.power.entity.PowerCapacitorHisEntity;
 
 import java.util.List;
@@ -16,5 +18,7 @@
 
     List<PowerCapacitorHisEntity> list(List<String> detIds);
 
+    PageResult<PowerCapacitorHisEntity> page(PowerCapacitorHisPageReqVO reqVO);
+
     void add(String detId, String name, Integer status);
 }
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerCapacitorHisServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerCapacitorHisServiceImpl.java
index cb2739f..1cc58b0 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerCapacitorHisServiceImpl.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerCapacitorHisServiceImpl.java
@@ -1,7 +1,11 @@
 package com.iailab.module.ansteel.power.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.iailab.framework.common.pojo.PageResult;
+import com.iailab.module.ansteel.api.vo.PowerCapacitorHisPageReqVO;
+import com.iailab.module.ansteel.api.vo.PowerMaxDemandMainPageReqVO;
 import com.iailab.module.ansteel.power.dao.PowerCapacitorHisDao;
+import com.iailab.module.ansteel.power.entity.PowerCapacitorHisEntity;
 import com.iailab.module.ansteel.power.entity.PowerCapacitorHisEntity;
 import com.iailab.module.ansteel.power.service.PowerCapacitorHisService;
 import lombok.extern.slf4j.Slf4j;
@@ -45,6 +49,11 @@
     }
 
     @Override
+    public PageResult<PowerCapacitorHisEntity> page(PowerCapacitorHisPageReqVO reqVO) {
+        return powerCapacitorHisDao.selectPage(reqVO);
+    }
+
+    @Override
     public void add(String detId, String name, Integer status) {
         PowerCapacitorHisEntity entity = new PowerCapacitorHisEntity();
         entity.setId(UUID.randomUUID().toString());

--
Gitblit v1.9.3