From cf1d086376cf7bf6f3b3b5fc9d4b33be646de1bf Mon Sep 17 00:00:00 2001
From: letsgocoding <sdxt_0802@163.com>
Date: 星期四, 13 二月 2025 15:17:55 +0800
Subject: [PATCH] !70 获取历史数据接口的修改 Merge pull request !70 from letsgocoding/wt_from_develop1.0

---
 zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java                               |    5 -
 zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.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-admin/src/main/java/com/zhitan/web/controller/history/HistoryDataTrendController.java                        |   97 +++++++++++++-------------------
 zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java                                             |    6 +-
 zhitan-common/src/main/java/com/zhitan/common/enums/RetrievalModes.java                                             |    5 +
 zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricThreePhaseServiceImpl.java                |   26 +++++---
 zhitan-admin/src/main/java/com/zhitan/web/controller/model/ModelInfoController.java                                 |    2 
 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-common/src/main/java/com/zhitan/common/utils/ChartUtils.java                                                 |   14 ++++
 13 files changed, 87 insertions(+), 78 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/history/HistoryDataTrendController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/history/HistoryDataTrendController.java
index e1f067b..5b5bd17 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/history/HistoryDataTrendController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/history/HistoryDataTrendController.java
@@ -4,10 +4,15 @@
 import com.zhitan.basicdata.domain.MeterImplement;
 import com.zhitan.basicdata.services.IMeterImplementService;
 import com.zhitan.common.annotation.Log;
+import com.zhitan.common.constant.CommonConst;
+import com.zhitan.common.constant.TimeTypeConst;
 import com.zhitan.common.core.controller.BaseController;
 import com.zhitan.common.core.domain.AjaxResult;
 import com.zhitan.common.enums.BusinessType;
 import com.zhitan.common.enums.RetrievalModes;
+import com.zhitan.common.enums.TimeType;
+import com.zhitan.common.utils.ChartUtils;
+import com.zhitan.common.utils.DateTimeUtil;
 import com.zhitan.common.utils.poi.ExcelUtil;
 import com.zhitan.history.domain.dto.HistoricalDataDTO;
 import com.zhitan.history.domain.vo.HistoricalDataExcel;
@@ -16,7 +21,9 @@
 import com.zhitan.model.service.IEnergyIndexService;
 import com.zhitan.realtimedata.domain.TagValue;
 import com.zhitan.realtimedata.service.RealtimeDatabaseService;
+import io.swagger.annotations.Api;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,11 +36,12 @@
 import java.util.List;
 
 /**
- * 璁惧鍚仠瀹炴椂鐩戞祴Controller
+ * 鍘嗗彶鏁版嵁瓒嬪娍Controller
  *
  * @author sys
  * @date 2020-03-30
  */
+@Api(tags = "鍘嗗彶鏁版嵁瓒嬪娍")
 @RestController
 @RequestMapping("/dataMonitoring/historyDataTrend")
 public class HistoryDataTrendController extends BaseController {
@@ -61,9 +69,6 @@
     public AjaxResult getSettingIndex(EnergyIndex energyIndex) {
         try {
             List<EnergyIndex> infoList = energyIndexService.selectEnergyIndexList(energyIndex);
-//            List<String> codeList= infoList.stream().map(EnergyIndex::getCode).collect(Collectors.toList());
-//            List<TagValue> valList = realtimeDatabaseService.retrieve(codeList);
-//            List resultList = new ArrayList();
             return AjaxResult.success(infoList);
         } catch (Exception ex) {
             logger.error("鑾峰彇鍏宠仈閲囬泦鎸囨爣鍑洪敊锛�", ex);
@@ -80,68 +85,44 @@
             if (ObjectUtils.isEmpty(energyIndex)) {
                 return AjaxResult.error("鏈壘鍒扮偣浣嶄俊鎭�");
             }
-            Date beginTime = dto.getDataTime();
-            Date endTime;
-            // 鏌ヨ鏉℃暟
-            int count = 1440;
-            if ("DAY".equals(dto.getTimeType())) {
-                endTime = DateUtil.endOfDay(beginTime);
+            List<Date> dateList = new ArrayList<>();
+            if (TimeType.DAY.name().equals(dto.getTimeType())) {
+                String timeCode = DateTimeUtil.getDateTime(dto.getDataTime(), DateTimeUtil.COMMON_PATTERN_TO_DAY);
+                ChartUtils.generateDateList(TimeTypeConst.TIME_TYPE_DAY, timeCode, dateList);
+            } else if (TimeType.HOUR.name().equals(dto.getTimeType())) {
+                String timeCode = DateTimeUtil.getDateTime(dto.getDataTime(), DateTimeUtil.COMMON_PATTERN_TO_HOUR);
+                ChartUtils.generateDateList(TimeTypeConst.TIME_TYPE_HOUR, timeCode, dateList);
             } else {
-                count = 3600;
-                endTime = DateUtil.offsetSecond(DateUtil.offsetHour(beginTime, 1), -1);
+                return AjaxResult.error("鏃堕棿闂撮殧绫诲瀷涓嶆纭�");
             }
             // 鏌ヨ璁¢噺鍣ㄥ叿
-            MeterImplement info = meterImplementService.selectMeterImplementById(energyIndex.getMeterId());
-            List<TagValue> tagValueList = realtimeDatabaseService.retrieve(energyIndex.getCode(), beginTime, endTime,
-                    RetrievalModes.BestFit, count);
+            MeterImplement meterInfo = meterImplementService.selectMeterImplementById(energyIndex.getMeterId());
+            if (ObjectUtils.isEmpty(meterInfo)) {
+                return AjaxResult.error("鏈壘鍒拌閲忓櫒鍏蜂俊鎭�");
+            }
             List<HistoricalDataVO> voList = new ArrayList<>();
-            Date date = DateUtil.date();
-            for (int i = 0; i < count + 1; i++) {
+            for (Date date : dateList) {
+                List<TagValue> tagValues = new ArrayList<>();
+                if(TimeType.DAY.name().equals(dto.getTimeType())){
+                    Date beginTime = date;
+                    Date endTime = DateUtil.offsetHour(DateUtil.offsetMinute(date, CommonConst.DIGIT_MINUS_1), CommonConst.DIGIT_1);
+                    tagValues = realtimeDatabaseService.retrieve(energyIndex.getCode(), beginTime,endTime,CommonConst.DIGIT_1);
+                }
+                if(TimeType.HOUR.name().equals(dto.getTimeType())){
+                    Date beginTime = date;
+                    Date endTime = DateUtil.offsetMinute(DateUtil.offsetSecond(date, CommonConst.DIGIT_MINUS_1), CommonConst.DIGIT_1);
+                    tagValues = realtimeDatabaseService.retrieve(energyIndex.getCode(), beginTime,endTime,CommonConst.DIGIT_1);
+                }
+
                 HistoricalDataVO vo = new HistoricalDataVO();
+                vo.setDataTime(DateUtil.formatDateTime(date));
                 vo.setIndexId(energyIndex.getIndexId());
-                String indexName = energyIndex.getName();
-                if (ObjectUtils.isNotEmpty(info)) {
-                    indexName = info.getInstallactionLocation() + "_" + info.getMeterName() + "_" + indexName;
+                vo.setIndexName(meterInfo.getInstallactionLocation() + "_" + meterInfo.getMeterName() + "_" + energyIndex.getName());
+                vo.setValue(CommonConst.DOUBLE_MINUS_SIGN);
+                if(ObjectUtils.isNotEmpty(tagValues)){
+                    vo.setValue(tagValues.get(0).getValue().toString());
                 }
-                vo.setIndexName(indexName);
-                // 鍙栧��
-                String value = "--";
-                String usedValue = "--";
-                if (beginTime.getTime() <= date.getTime()) {
-                    try {
-                        TagValue tagValue = tagValueList.get(i);
-                        BigDecimal cumulative = BigDecimal.valueOf(tagValue.getValue());
 
-                        if ("SWWSDJ_SD".equals(energyIndex.getCode()) || "SWWSDJ_WD".equals(energyIndex.getCode())) {
-                            cumulative = cumulative.multiply(BigDecimal.valueOf(0.1));
-                        }
-                        if (i > 0) {
-                            TagValue previousTagValue = tagValueList.get(i - 1);
-                            BigDecimal previousValue = BigDecimal.ZERO;
-                            if (ObjectUtils.isNotEmpty(previousTagValue.getValue())) {
-                                previousValue = BigDecimal.valueOf(previousTagValue.getValue());
-                            }
-                            if ("SWWSDJ_SD".equals(energyIndex.getCode()) || "SWWSDJ_WD".equals(energyIndex.getCode())) {
-                                previousValue = previousValue.multiply(BigDecimal.valueOf(0.1));
-
-                            }
-                            usedValue = String.valueOf(cumulative.subtract(previousValue).setScale(2, RoundingMode.HALF_UP));
-                        }
-
-                        value = String.valueOf(cumulative.setScale(2, RoundingMode.HALF_UP));
-                    } catch (Exception ignored) {
-                    }
-                }
-                // 鏃堕棿
-                String timeName = DateUtil.formatDateTime(beginTime);
-                vo.setDataTime(timeName);
-                if ("DAY".equals(dto.getTimeType())) {
-                    beginTime = DateUtil.offsetMinute(beginTime, 1);
-                } else {
-                    beginTime = DateUtil.offsetSecond(beginTime, 1);
-                }
-                vo.setUsedValue(String.valueOf(usedValue));
-                vo.setValue(String.valueOf(value));
                 voList.add(vo);
             }
             return AjaxResult.success(voList);
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/model/ModelInfoController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/model/ModelInfoController.java
index 73dcb3a..9a7f65b 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/model/ModelInfoController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/model/ModelInfoController.java
@@ -10,6 +10,7 @@
 import com.zhitan.model.domain.vo.PointDataVO;
 import com.zhitan.model.service.IEnergyIndexService;
 import com.zhitan.model.service.IModelInfoService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -23,6 +24,7 @@
  * @author fanxinfu
  * @date 2020-02-17
  */
+@Api(tags = "妯″瀷鐩稿叧")
 @RestController
 @RequestMapping("/basicsetting/model")
 public class ModelInfoController 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-common/src/main/java/com/zhitan/common/enums/RetrievalModes.java b/zhitan-common/src/main/java/com/zhitan/common/enums/RetrievalModes.java
index 24c77fa..0ad5f32 100644
--- a/zhitan-common/src/main/java/com/zhitan/common/enums/RetrievalModes.java
+++ b/zhitan-common/src/main/java/com/zhitan/common/enums/RetrievalModes.java
@@ -6,5 +6,8 @@
  *     鑾峰彇瀹炴椂鏁版嵁鏂瑰紡.
  */
 public enum RetrievalModes {
-  Full, BestFit
+
+  Full,
+
+  BestFit
 }
diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/ChartUtils.java b/zhitan-common/src/main/java/com/zhitan/common/utils/ChartUtils.java
index a099168..50ef51b 100644
--- a/zhitan-common/src/main/java/com/zhitan/common/utils/ChartUtils.java
+++ b/zhitan-common/src/main/java/com/zhitan/common/utils/ChartUtils.java
@@ -24,6 +24,20 @@
     public static void generateDateList(String timeType, String timeCode, List<Date> dateList) {
         Date now = new Date();
         switch (timeType) {
+            case TimeTypeConst.TIME_TYPE_HOUR:
+                if (!timeCode.contains(CommonConst.SINGLE_MINUS_SIGN)) {
+                    timeCode = DateTimeUtil.toDateTimeStr(timeCode, DateTimeUtil.COMMON_PATTERN_HOUR, DateTimeUtil.COMMON_PATTERN_TO_HOUR);
+                }
+                int minute = 59;
+                for (int i =  CommonConst.DIGIT_0; i <= minute; i++) {
+                    String tempCode = timeCode + ":0" + i;
+                    if(i>9){
+                        tempCode = timeCode + ":" + i;
+                    }
+                    Date tempD = DateTimeUtil.toDateTime(tempCode, DateTimeUtil.COMMON_PATTERN_END_WITH_MINUTE);
+                    dateList.add(tempD);
+                }
+                break;
             case TimeTypeConst.TIME_TYPE_DAY:
                 if (!timeCode.contains(CommonConst.SINGLE_MINUS_SIGN)) {
                     timeCode = DateTimeUtil.toDateTimeStr(timeCode, DateTimeUtil.COMMON_PATTERN_DAY, DateTimeUtil.COMMON_PATTERN_TO_DAY);
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;
     }
 }
diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java
index 796fa5f..a06574d 100644
--- a/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java
@@ -178,6 +178,5 @@
         tagCodes.add(tagCode);
         List<TagValue> historyData = repository.getHistoryData(tagCodes, beginTime, endTime, interval);
         return historyData;
-//        return realtimeDatabaseManager.retrieve(tagCode, beginTime, endTime, retrievalModes, pointCount);
     }
 }

--
Gitblit v1.9.3