From 92c42c9cbc4f253a6916650d11cf668a6f98ad9b Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 13 五月 2025 09:01:40 +0800
Subject: [PATCH] 电容器投退状态

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 51 insertions(+), 4 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 dc95bf1..fb61252 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
@@ -95,6 +95,7 @@
 
     @Autowired
     private PowerMaxdemandMainService powerMaxDemandMainService;
+
     @Autowired
     private PowerMaxdemandDetService powerMaxdemandDetService;
 
@@ -433,8 +434,51 @@
     @GetMapping("/capacitor-status/list")
     @Operation(summary = "功率因数-电容器投退状态")
     public CommonResult<List<PowerCapacitorStatusDTO>> getPowerCapacitorStatusList(@RequestParam Map<String, Object> params) {
+        List<PowerCapacitorStatusDTO> result = new ArrayList<>();
         List<PowerCapacitorStatusEntity> list = powerCapacitorStatusService.list(params);
-        return success(ConvertUtils.sourceToTarget(list, PowerCapacitorStatusDTO.class));
+        for (PowerCapacitorStatusEntity entity : list) {
+            PowerCapacitorStatusDTO dto = new PowerCapacitorStatusDTO();
+            dto.setId(entity.getId());
+            dto.setName(entity.getName());
+            dto.setRemark(entity.getRemark());
+            dto.setMainCount(DecimalUtil.toBigDecimal(entity.getMainCount()).intValue());
+            dto.setChildCount(DecimalUtil.toBigDecimal(entity.getChildCount()).intValue());
+            int onCount = 0;
+            Map<String, Object> params1 = new HashMap<>();
+            params1.put("statusId", entity.getId());
+            List<PowerCapacitorDetEntity> detList = powerCapacitorDetService.list(params1);
+            if (CollectionUtils.isEmpty(detList)) {
+                dto.setOnCount(onCount);
+                continue;
+            }
+            List<String> points = new ArrayList<>();
+            Map<String, Object> pointsRealValue = new HashMap<>();
+            for (PowerCapacitorDetEntity det : detList) {
+                if (StringUtils.isNotBlank(det.getPointNo())) {
+                    points.add(det.getPointNo());
+                }
+            }
+            if (!CollectionUtils.isEmpty(points)) {
+                pointsRealValue = dataPointApi.queryPointsRealValue(points);
+            }
+            for (PowerCapacitorDetEntity det : detList) {
+                if (StringUtils.isBlank(det.getId())) {
+                    continue;
+                }
+                Object obj = pointsRealValue.get(det.getPointNo());
+                if (obj == null) {
+                    continue;
+                }
+                BigDecimal pv = new BigDecimal(obj.toString());
+                if (pv.compareTo(BigDecimal.ZERO) <= 0) {
+                    continue;
+                }
+                onCount ++;
+            }
+            dto.setOnCount(onCount);
+            result.add(dto);
+        }
+        return success(result);
     }
 
     @GetMapping("/capacitor-det/list")
@@ -442,10 +486,13 @@
     public CommonResult<List<PowerCapacitorDetDTO>> getPowerCapacitorDetList(@RequestParam Map<String, Object> params) {
         List<PowerCapacitorDetEntity> list = powerCapacitorDetService.list(params);
         log.info("list.size=" + list.size());
-        List<String> points = list.stream().map(item -> {
-            return item.getPointNo();
-        }).collect(Collectors.toList());
+        List<String> points = new ArrayList<>();
         Map<String, Object> pointsRealValue = new HashMap<>();
+        for (PowerCapacitorDetEntity det : list) {
+            if (StringUtils.isNotBlank(det.getPointNo())) {
+                points.add(det.getPointNo());
+            }
+        }
         if (!CollectionUtils.isEmpty(points)) {
             pointsRealValue = dataPointApi.queryPointsRealValue(points);
         }

--
Gitblit v1.9.3