From 9a33fc4f8a0ace2d076418bd0f8d6441cb34b9a3 Mon Sep 17 00:00:00 2001
From: VVT789 <sdxt_0802@163.com>
Date: 星期四, 13 二月 2025 10:57:43 +0800
Subject: [PATCH] 电能质量分析三相不平衡分析逻辑调整

---
 zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java                               |    5 ++---
 zhitan-admin/src/main/java/com/zhitan/web/controller/consumptionanalysis/ConsumptionAnalysisController.java         |    2 ++
 zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricThreePhaseController.java                |    1 +
 zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/StatisticalAnalysisController.java         |    2 ++
 zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/ComprehensiveStatisticsController.java |    1 +
 zhitan-admin/src/main/java/com/zhitan/web/controller/meter/MeterController.java                                     |    3 +--
 zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java                                             |    6 +++---
 zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricThreePhaseServiceImpl.java                |   26 ++++++++++++++++----------
 8 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/ComprehensiveStatisticsController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/ComprehensiveStatisticsController.java
index 4beb942..d5c6788 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/ComprehensiveStatisticsController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/ComprehensiveStatisticsController.java
@@ -9,6 +9,7 @@
 import com.zhitan.keyequipment.service.IDailyKeyEquipmentService;
 import com.zhitan.model.domain.EnergyIndex;
 import com.zhitan.model.service.IModelNodeService;
+import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/consumptionanalysis/ConsumptionAnalysisController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/consumptionanalysis/ConsumptionAnalysisController.java
index af9dc6d..9c22a8d 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/consumptionanalysis/ConsumptionAnalysisController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/consumptionanalysis/ConsumptionAnalysisController.java
@@ -10,6 +10,7 @@
 import com.zhitan.consumptionanalysis.domain.vo.RankingDataVO;
 import com.zhitan.consumptionanalysis.domain.vo.RankingEnergyData;
 import com.zhitan.consumptionanalysis.service.IConsumptionAnalysisService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
@@ -35,6 +36,7 @@
  * @Author: Zhujw
  * @Date: 2023/3/1
  */
+@Api(tags = "缁煎悎鑳借�楀垎鏋�")
 @RestController
 @RequestMapping("/consumptionanalysis")
 public class ConsumptionAnalysisController extends BaseController {
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricThreePhaseController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricThreePhaseController.java
index fca2c2d..3a10efa 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricThreePhaseController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricThreePhaseController.java
@@ -56,6 +56,7 @@
         if (ObjectUtils.isEmpty(meterId)){
             return AjaxResult.error("鐢佃〃id涓嶈兘涓虹┖");
         }
+
         List<EnergyIndex> energyIndexList = energyIndexService.listDeviceIndex(nodeId, meterId);
 
         return AjaxResult.success(electricThreePhaseService.list(timeType, timeCode, energyIndexList, requestType, meterId));
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/meter/MeterController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/meter/MeterController.java
index 7f933f4..7bf5cc1 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/meter/MeterController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/meter/MeterController.java
@@ -26,9 +26,8 @@
  * @Version: 1.0
  * @Since: JDK1.8
  */
-
-@Slf4j
 @Api("閲囬泦璁¢噺琛ㄦ暟鎹鐞�")
+@Slf4j
 @RestController
 @RequestMapping("/meters")
 public class MeterController extends BaseController {
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/StatisticalAnalysisController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/StatisticalAnalysisController.java
index b93f9c7..6503583 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/StatisticalAnalysisController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/StatisticalAnalysisController.java
@@ -9,6 +9,7 @@
 import com.zhitan.statisticalAnalysis.domain.vo.DataAnalysisYoYExcel;
 import com.zhitan.statisticalAnalysis.domain.vo.DataAnalysisYoYVO;
 import com.zhitan.statisticalAnalysis.service.IStatisticalAnalysisService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.BeanUtils;
@@ -26,6 +27,7 @@
 /**
  * 缁熻鍒嗘瀽 鎺у埗灞�
  */
+@Api(tags = "缁熻鍒嗘瀽")
 @RestController
 @RequestMapping("/statisticalAnalysis")
 public class StatisticalAnalysisController extends BaseController {
diff --git a/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java b/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java
index 73fea42..7a5bb48 100644
--- a/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java
+++ b/zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java
@@ -891,15 +891,15 @@
     /**
      * 鐢垫祦
      */
-    public static final String TAG_CODE_CURRENT = "Current_";
+    public static final String TAG_CODE_CURRENT = "Current";
     /**
      * 鐢靛帇
      */
-    public static final String TAG_CODE_VOLTAGE = "Voltage_";
+    public static final String TAG_CODE_VOLTAGE = "Voltage";
     /**
      * 鍔熺巼鍥犳暟
      */
-    public static final String TAG_CODE_FACTOR = "PowerFactor_";
+    public static final String TAG_CODE_FACTOR = "PowerFactor";
     /**
      * 鍔熺巼鍥犳暟
      */
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricThreePhaseServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricThreePhaseServiceImpl.java
index 5a21836..f855043 100644
--- a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricThreePhaseServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricThreePhaseServiceImpl.java
@@ -54,9 +54,7 @@
     @Override
     public ElectricThreePhaseVO list(String timeType, String timeCode, List<EnergyIndex> energyIndexList, String requestType, String meterId) {
         ElectricThreePhaseVO vo = new ElectricThreePhaseVO();
-        if (ObjectUtil.isEmpty(energyIndexList)) {
-            return vo;
-        }
+
         // 鑾峰彇鐢靛帇涓嶅钩琛℃暟鎹�
         if (CommonConst.STR_NUMBER_0.equals(requestType)) {
             energyIndexList = energyIndexList.stream()
@@ -70,9 +68,13 @@
                             || StringUtil.ifEmptyOrNullReturnValue(x.getCode()).trim().endsWith(CommonConst.TAG_CODE_CURRENT_C))
                     .collect(Collectors.toList());
         }
+        if (ObjectUtil.isEmpty(energyIndexList)) {
+            return vo;
+        }
         List<String> tagCodeList = energyIndexList.stream().map(EnergyIndex::getCode).collect(Collectors.toList());
-        tagCodeList.add(CommonConst.STR_NUMBER_MINUS_ONE);
-        String tagCodes = String.join(StrUtil.COMMA, tagCodeList);
+        if(ObjectUtil.isEmpty(tagCodeList)){
+            tagCodeList.add(CommonConst.STR_NUMBER_MINUS_ONE);
+        }
 
         Date start = ChartUtils.getDateTime(timeType, timeCode);
         Date end = getEndTime(timeType, start);
@@ -82,7 +84,7 @@
         long millis = new Duration(begin, finish).getMillis();
         int pointCount = IntegerUtil.toInt(millis / CommonConst.DIGIT_3600 / CommonConst.DIGIT_1000);
 
-        List<TagValue> tagValueList = realtimeDatabaseService.retrieve(tagCodes, start, end, pointCount);
+        List<TagValue> tagValueList = realtimeDatabaseService.retrieve(tagCodeList, start, end, pointCount);
         List<ElectricThreePhaseItem> itemList = new ArrayList<>();
         List<Date> dateList = new ArrayList<>();
         ChartUtils.generateDateList(timeType, timeCode, dateList);
@@ -281,10 +283,14 @@
      */
     private void listDayData(Date date, List<TagValue> tagValueList, ElectricThreePhaseItem temp, ElectricThreePhaseTempModel tempModel) {
         Date endTime = DateTimeUtil.addHours(date, CommonConst.DIGIT_1);
-        List<TagValue> currentTagValueList = tagValueList.stream().filter(x -> DateTimeUtil.compareDateDiff(date, x.getDataTime()) <= 0 && DateTimeUtil.compareDateDiff(endTime, x.getDataTime()) > 0).collect(Collectors.toList());
-        List<TagValue> currentATagValueList = currentTagValueList.stream().filter(x -> StringUtil.ifEmptyOrNullReturnValue(x.getTagCode()).trim().endsWith("_A")).collect(Collectors.toList());
-        List<TagValue> currentBTagValueList = currentTagValueList.stream().filter(x -> StringUtil.ifEmptyOrNullReturnValue(x.getTagCode()).trim().endsWith("_B")).collect(Collectors.toList());
-        List<TagValue> currentCTagValueList = currentTagValueList.stream().filter(x -> StringUtil.ifEmptyOrNullReturnValue(x.getTagCode()).trim().endsWith("_C")).collect(Collectors.toList());
+        List<TagValue> currentTagValueList = tagValueList.stream()
+                .filter(x -> DateTimeUtil.compareDateDiff(date, x.getDataTime()) <= 0 && DateTimeUtil.compareDateDiff(endTime, x.getDataTime()) > 0).collect(Collectors.toList());
+        List<TagValue> currentATagValueList = currentTagValueList.stream()
+                .filter(x -> StringUtil.ifEmptyOrNullReturnValue(x.getTagCode()).trim().endsWith(CommonConst.A_PHASE)).collect(Collectors.toList());
+        List<TagValue> currentBTagValueList = currentTagValueList.stream()
+                .filter(x -> StringUtil.ifEmptyOrNullReturnValue(x.getTagCode()).trim().endsWith(CommonConst.B_PHASE)).collect(Collectors.toList());
+        List<TagValue> currentCTagValueList = currentTagValueList.stream()
+                .filter(x -> StringUtil.ifEmptyOrNullReturnValue(x.getTagCode()).trim().endsWith(CommonConst.C_PHASE)).collect(Collectors.toList());
         TagValue tagValueA = currentATagValueList.stream().filter(x -> DateTimeUtil.compareDateDiff(date, x.getDataTime()) == 0).findAny().orElse(null);
         TagValue tagValueB = currentBTagValueList.stream().filter(x -> DateTimeUtil.compareDateDiff(date, x.getDataTime()) == 0).findAny().orElse(null);
         TagValue tagValueC = currentCTagValueList.stream().filter(x -> DateTimeUtil.compareDateDiff(date, x.getDataTime()) == 0).findAny().orElse(null);
diff --git a/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java
index 16d8a62..c519c97 100644
--- a/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java
@@ -358,8 +358,7 @@
      */
     @Override
     public List<EnergyIndex> listDeviceIndex(String nodeId, String meterId) {
-        return energyIndexMapper.selectList(Wrappers.<EnergyIndex>lambdaQuery()
-                .eq(EnergyIndex::getNodeId, nodeId)
-                .eq(EnergyIndex::getMeterId, meterId));
+        List<EnergyIndex> energyIndexList = energyIndexMapper.getIndexByMeterIdIndexCode(meterId,null,nodeId);
+        return energyIndexList;
     }
 }

--
Gitblit v1.9.3