From 06d3d15a5a08637041cc601101c063b11b07a346 Mon Sep 17 00:00:00 2001
From: net <net@netdeMBP.lan>
Date: 星期五, 14 二月 2025 17:25:21 +0800
Subject: [PATCH]  合并理去杀杀人

---
 zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java |  369 ++++++++++++++++++++++++++--------------------------
 1 files changed, 185 insertions(+), 184 deletions(-)

diff --git a/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java
index 4f48bc5..7d1db3e 100644
--- a/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java
@@ -44,20 +44,20 @@
     private final ModelNodeMapper modelNodeMapper;
 
     private final EnergyIndicatorsMapper energyIndicatorsMapper;
-    
+
     private final ProductOutputMapper productOutputMapper;
-    
+
     private final SysEnergyMapper sysEnergyMapper;
 
     private final IDataItemService dataItemService;
 
     private final IModelNodeService modelNodeService;
-    
+
     @Override
     public ConsumptionAnalysisVO getByArea(ConsumptionAnalysisDTO dto) {
         List<ConsumptionAnalysisData> dataList = new ArrayList<>();
         List<ChartData> chartDataList = new ArrayList<>();
-        
+
         ConsumptionAnalysisVO consumptionAnalysisVO = new ConsumptionAnalysisVO();
         final String analysisType = dto.getAnalysisType();
         final String nodeId = dto.getNodeId();
@@ -67,7 +67,7 @@
         /**
          * 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
          */
-        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
 
 //        if (CollectionUtils.isEmpty(nodeIndexInforList)) {
 //            return consumptionAnalysisVO;
@@ -88,7 +88,7 @@
                 //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                 lastTime = DateUtil.offsetMonth(beginTime, -12);
                 lastEndTime = DateUtil.offsetMonth(endTime, -12);
-            }else {
+            } else {
                 //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                 lastTime = DateUtil.offsetDay(beginTime, -1);
                 lastEndTime = DateUtil.offsetDay(endTime, -1);
@@ -103,7 +103,7 @@
                 //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                 lastTime = DateUtil.offsetMonth(beginTime, -12);
                 lastEndTime = DateUtil.offsetMonth(endTime, -12);
-            }else {
+            } else {
                 //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                 lastTime = DateUtil.offsetMonth(beginTime, -1);
                 lastEndTime = DateUtil.offsetMonth(endTime, -1);
@@ -118,18 +118,18 @@
                 //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                 lastTime = DateUtil.offsetMonth(beginTime, -12);
                 lastEndTime = DateUtil.offsetMonth(endTime, -12);
-            }else {
+            } else {
                 //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
-                lastTime = DateUtil.offsetMonth(beginTime,  -1);
-                lastEndTime = DateUtil.offsetMonth(endTime,  -1);
+                lastTime = DateUtil.offsetMonth(beginTime, -1);
+                lastEndTime = DateUtil.offsetMonth(endTime, -1);
             }
-            
+
             timeFormat = "yyyy-MM";
         }
         // 鏍规嵁indexId鏌ヨdataItem
         List<DataItem> dataItemList = new ArrayList<>();
         List<DataItem> lastDataItemList = new ArrayList<>();
-        if(CollectionUtils.isNotEmpty(indexIds)) {
+        if (CollectionUtils.isNotEmpty(indexIds)) {
             dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
             lastDataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(lastTime, lastEndTime, shixuTimeType, indexIds);
         }
@@ -144,11 +144,11 @@
             final String compareTime;
             DateTime dateTime;
             if (TimeType.DAY.name().equals(queryTimeType)) {
-               
+
                 if ("YOY".equals(analysisType)) {
                     //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                     dateTime = DateUtil.offsetMonth(beginTime, -12);
-                }else {
+                } else {
                     //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                     dateTime = DateUtil.offsetDay(beginTime, -1);
                 }
@@ -158,7 +158,7 @@
                 if ("YOY".equals(analysisType)) {
                     //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                     dateTime = DateUtil.offsetMonth(beginTime, -12);
-                }else {
+                } else {
                     //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                     dateTime = DateUtil.offsetMonth(beginTime, -1);
                 }
@@ -168,25 +168,25 @@
                 if ("YOY".equals(analysisType)) {
                     //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                     dateTime = DateUtil.offsetMonth(beginTime, -12);
-                }else {
+                } else {
                     //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
-                    dateTime = DateUtil.offsetMonth(beginTime,  -1);
+                    dateTime = DateUtil.offsetMonth(beginTime, -1);
                 }
                 compareTime = DateUtil.format(dateTime, timeFormat);
             }
-            
-            
+
+
             final List<DataItem> dataItems = dataItemMap.get(currentTime);
             final List<DataItem> lastDataItems = lastDataItemMap.get(compareTime);
             BigDecimal sum = new BigDecimal(0);
             BigDecimal lastSum = new BigDecimal(0);
             if (CollectionUtils.isNotEmpty(dataItems)) {
-                 // 姹傚拰
-                 sum = BigDecimal.valueOf(dataItems.stream()
+                // 姹傚拰
+                sum = BigDecimal.valueOf(dataItems.stream()
                         .mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
             }
-            
-            if(CollectionUtils.isNotEmpty(lastDataItems)) {
+
+            if (CollectionUtils.isNotEmpty(lastDataItems)) {
                 lastSum = BigDecimal.valueOf(lastDataItems.stream()
                         .mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
             }
@@ -194,7 +194,7 @@
             data.setCompareValue(lastSum.doubleValue());
             data.setCurrentTime(currentTime);
             data.setCompareTime(compareTime);
-            
+
 
             if ("YOY".equals(analysisType)) {
                 //鍚屾瘮鍒嗘瀽
@@ -238,7 +238,7 @@
             chartDataList.add(chartData);
 
         });
-        
+
         consumptionAnalysisVO.setDataList(dataList);
         consumptionAnalysisVO.setChartDataList(chartDataList);
         return consumptionAnalysisVO;
@@ -252,32 +252,32 @@
         String queryTimeType = dto.getTimeType();
         // 鍒涘缓涓�涓狹ap鏉ュ瓨鍌ㄦ�诲拰
         Map<String, BigDecimal> result = new HashMap<>();
-        
-        
+
+
         //鏍规嵁妯″瀷鍚嶇О鏌ヨmodelCode
         final String parentId = dto.getNodeId();
-        
+
         //鏍规嵁鎬荤粨鐐规煡璇�
         final List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeByParentId(parentId);
 
         final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
         final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
         final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
         final Map<String, String> energyNameMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getEnername));
         final Map<String, String> nodeNameMap = new HashMap<>();
-        nodeIndexInforList.forEach(n->{
+        nodeIndexInforList.forEach(n -> {
             final String nodeId = n.getNodeId();
             final String name = n.getName();
-            if(!nodeNameMap.containsKey(nodeId)){
-                nodeNameMap.put(nodeId,name);
+            if (!nodeNameMap.containsKey(nodeId)) {
+                nodeNameMap.put(nodeId, name);
             }
         });
 
         // 鎸夌収鐐逛綅杩涜鍒嗙粍
         Map<String, List<ModelNodeIndexInfor>> nodeIndexMap = nodeIndexInforList.stream().collect(
                 Collectors.groupingBy(ModelNodeIndexInfor::getNodeId));
-        
+
         // 鏍规嵁nodeId鑾峰彇鑳芥簮绫诲瀷
         // 鎵�鏈夌偣浣嶄俊鎭�
         List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).distinct().collect(Collectors.toList());
@@ -300,27 +300,26 @@
             endTime = DateUtil.endOfYear(queryTime);
             shixuTimeType = TimeType.MONTH.name();
         }
-        
-        
+
+
         // 鏍规嵁indexId鏌ヨdataItem
         List<DataItem> dataItemList = new ArrayList<>();
-        if(CollectionUtils.isNotEmpty(indexIds)) {
+        if (CollectionUtils.isNotEmpty(indexIds)) {
             dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
         }
         final Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
-        
+
         // 鏍规嵁鐐逛綅鍒嗙粍锛屾眰鍜�
-        Map<String,BigDecimal> dataItemTotalMap = new HashMap<>();
-        dataItemMap.forEach((key,value)->{
+        Map<String, BigDecimal> dataItemTotalMap = new HashMap<>();
+        dataItemMap.forEach((key, value) -> {
             BigDecimal sum = BigDecimal.valueOf(value.stream()
                     .mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
-            dataItemTotalMap.put(key,sum);
+            dataItemTotalMap.put(key, sum);
         });
 
-        
-        
-        nodeIndexMap.forEach((nodeId,indexList)->{
-            indexList.forEach(index->{
+
+        nodeIndexMap.forEach((nodeId, indexList) -> {
+            indexList.forEach(index -> {
                 final String energyId = index.getEnergyId();
                 final String indexId = index.getIndexId();
                 final BigDecimal total = dataItemTotalMap.getOrDefault(indexId, BigDecimal.ZERO);
@@ -337,15 +336,15 @@
             String energyId = keys[1];
             BigDecimal totalEnergy = entry.getValue();
             chartData.setEnergyTypeNo(energyId);
-            chartData.setEnergyTypeName(energyNameMap.getOrDefault(energyId,""));
-            chartData.setNodeName(nodeNameMap.getOrDefault(nodeId,""));
+            chartData.setEnergyTypeName(energyNameMap.getOrDefault(energyId, ""));
+            chartData.setNodeName(nodeNameMap.getOrDefault(nodeId, ""));
             chartData.setEnergyConsumption(totalEnergy.doubleValue());
             chartData.setNodeId(nodeId);
             rankingEnergyData.add(chartData);
-            
+
         }
         final Map<String, List<RankingEnergyData>> collect = rankingEnergyData.stream().collect(Collectors.groupingBy(RankingEnergyData::getNodeId));
-        nodeNameMap.forEach((key,value)->{
+        nodeNameMap.forEach((key, value) -> {
             final List<RankingEnergyData> rankingEnergyData1 = collect.get(key);
             RankingDataVO rankingDataVO = new RankingDataVO();
             rankingDataVO.setNodeId(key);
@@ -353,7 +352,7 @@
             rankingDataVO.setData(rankingEnergyData1);
             rankingDataVOArrayList.add(rankingDataVO);
         });
-        
+
         return rankingDataVOArrayList;
     }
 
@@ -382,7 +381,7 @@
         List<EnergyProportion> energyProportionList = new ArrayList<>();
 
         ConsumptionAnalysisVO consumptionAnalysisVO = new ConsumptionAnalysisVO();
-        
+
         //todo hmj 缁煎悎鑳借�楀厛榛樿鍙栧悓姣�
         final String analysisType = "YOY";
         final String nodeId = dto.getNodeId();
@@ -392,24 +391,25 @@
         /**
          * 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
          */
-        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
 
 //        if (CollectionUtils.isEmpty(nodeIndexInforList)) {
 //            return consumptionAnalysisVO;
 //        }
-
+        //淇敼杩囨护缁熻鐐逛綅
+        nodeIndexInforList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).collect(Collectors.toList());
         final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
         final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
         final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
         final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
-        final Map<String, String> energyNameMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno,SysEnergy::getEnername));
+        final Map<String, String> energyNameMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getEnername));
         final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
-        nodeIndexInforList.forEach(n->{
+        nodeIndexInforList.forEach(n -> {
             final String indexId = n.getIndexId();
             final String energyId = n.getEnergyId();
-            if(!indexIdEnergyIdMap.containsKey(indexId)){
-                indexIdEnergyIdMap.put(indexId,energyId);
+            if (!indexIdEnergyIdMap.containsKey(indexId)) {
+                indexIdEnergyIdMap.put(indexId, energyId);
             }
         });
         List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -428,7 +428,7 @@
                 //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                 lastTime = DateUtil.offsetMonth(beginTime, -12);
                 lastEndTime = DateUtil.offsetMonth(endTime, -12);
-            }else {
+            } else {
                 //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                 lastTime = DateUtil.offsetDay(beginTime, -1);
                 lastEndTime = DateUtil.offsetDay(endTime, -1);
@@ -443,7 +443,7 @@
                 //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                 lastTime = DateUtil.offsetMonth(beginTime, -12);
                 lastEndTime = DateUtil.offsetMonth(endTime, -12);
-            }else {
+            } else {
                 //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                 lastTime = DateUtil.offsetMonth(beginTime, -1);
                 lastEndTime = DateUtil.offsetMonth(endTime, -1);
@@ -458,10 +458,10 @@
                 //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                 lastTime = DateUtil.offsetMonth(beginTime, -12);
                 lastEndTime = DateUtil.offsetMonth(endTime, -12);
-            }else {
+            } else {
                 //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
-                lastTime = DateUtil.offsetMonth(beginTime,  -1);
-                lastEndTime = DateUtil.offsetMonth(endTime,  -1);
+                lastTime = DateUtil.offsetMonth(beginTime, -1);
+                lastEndTime = DateUtil.offsetMonth(endTime, -1);
             }
 
             timeFormat = "yyyy-MM";
@@ -469,7 +469,7 @@
         // 鏍规嵁indexId鏌ヨdataItem
         List<DataItem> dataItemList = new ArrayList<>();
         List<DataItem> lastDataItemList = new ArrayList<>();
-        if(CollectionUtils.isNotEmpty(indexIds)) {
+        if (CollectionUtils.isNotEmpty(indexIds)) {
             dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
             lastDataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(lastTime, lastEndTime, shixuTimeType, indexIds);
         }
@@ -478,7 +478,7 @@
         //  鍊嶇巼
         BigDecimal multiple = BigDecimal.valueOf(CommonConst.DIGIT_100);
 
-        Map<String,Double> energyProportionMap = new HashMap<>();
+        Map<String, Double> energyProportionMap = new HashMap<>();
         while (!beginTime.after(endTime)) {
             ConsumptionAnalysisData data = new ConsumptionAnalysisData();
             final String currentTime = DateUtil.format(beginTime, timeFormat);
@@ -489,7 +489,7 @@
                 if ("YOY".equals(analysisType)) {
                     //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                     dateTime = DateUtil.offsetMonth(beginTime, -12);
-                }else {
+                } else {
                     //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                     dateTime = DateUtil.offsetDay(beginTime, -1);
                 }
@@ -499,7 +499,7 @@
                 if ("YOY".equals(analysisType)) {
                     //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                     dateTime = DateUtil.offsetMonth(beginTime, -12);
-                }else {
+                } else {
                     //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
                     dateTime = DateUtil.offsetMonth(beginTime, -1);
                 }
@@ -509,9 +509,9 @@
                 if ("YOY".equals(analysisType)) {
                     //鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
                     dateTime = DateUtil.offsetMonth(beginTime, -12);
-                }else {
+                } else {
                     //鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
-                    dateTime = DateUtil.offsetMonth(beginTime,  -1);
+                    dateTime = DateUtil.offsetMonth(beginTime, -1);
                 }
                 compareTime = DateUtil.format(dateTime, timeFormat);
             }
@@ -523,38 +523,40 @@
             BigDecimal lastSum = new BigDecimal(0);
             if (CollectionUtils.isNotEmpty(dataItems)) {
                 // 姹傚拰
-                for (int i=0;i<dataItems.size(); i++){
+                for (int i = 0; i < dataItems.size(); i++) {
                     final DataItem dataItem = dataItems.get(i);
                     final String indexId = dataItem.getIndexId();
                     final String energyId = indexIdEnergyIdMap.get(indexId);
-                    
+
                     final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-                    if(coefficient == null){
+                    if (coefficient == null) {
                         throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
                     }
-                    
-                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+
+                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+                    ;
 //                    if(energyProportionMap.containsKey(energyId)) {
 //                        energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum.doubleValue());
 //                    }else {
 //                        energyProportionMap.put(energyId, sum.doubleValue());
 //                    }
                 }
-                
+
             }
 
-            if(CollectionUtils.isNotEmpty(lastDataItems)) {
-                for (int i=0;i<lastDataItems.size(); i++){
+            if (CollectionUtils.isNotEmpty(lastDataItems)) {
+                for (int i = 0; i < lastDataItems.size(); i++) {
                     final DataItem dataItem = lastDataItems.get(i);
                     final String indexId = dataItem.getIndexId();
                     final String energyId = indexIdEnergyIdMap.get(indexId);
 
                     final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-                    if(coefficient == null){
+                    if (coefficient == null) {
                         throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
                     }
 
-                    lastSum = lastSum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+                    lastSum = lastSum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+                    ;
                 }
             }
             data.setCurrentValue(sum.doubleValue());
@@ -605,34 +607,34 @@
             chartDataList.add(chartData);
 
         });
-        
-        Double eneryTotal =  energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
+
+        Double eneryTotal = energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
 
         Map<String, List<DataItem>> indexDataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
-        
-        indexDataItemMap.forEach((indexId,value)->{
+
+        indexDataItemMap.forEach((indexId, value) -> {
             final String energyId = indexIdEnergyIdMap.get(indexId);
 
             final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-            if(coefficient == null){
+            if (coefficient == null) {
                 throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
             }
 
             final double sum = value.stream().map(DataItem::getValue).mapToDouble(Double::doubleValue).sum();
-            if(energyProportionMap.containsKey(energyId)) {
-                energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
-            }else {
+            if (energyProportionMap.containsKey(energyId)) {
+                energyProportionMap.put(energyId, energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
+            } else {
                 energyProportionMap.put(energyId, sum * coefficient.doubleValue());
             }
         });
-       
-        energyProportionMap.forEach((key,value)->{
+
+        energyProportionMap.forEach((key, value) -> {
             EnergyProportion energyProportion = new EnergyProportion();
             energyProportion.setEnergyNo(key);
-            energyProportion.setEnergyName(energyNameMap.getOrDefault(key,""));
+            energyProportion.setEnergyName(energyNameMap.getOrDefault(key, ""));
             energyProportion.setCount(value);
-            energyProportion.setPercentage(value/eneryTotal * 100);
-            
+            energyProportion.setPercentage(value / eneryTotal * 100);
+
             energyProportionList.add(energyProportion);
         });
 
@@ -660,50 +662,50 @@
         } else {
             timeFormat = "yyyy";
         }
-        
+
         final Double currTotalEnergy = getTotalEnergy(dto);
 
         DateTime tongbiTime = DateUtil.offsetMonth(queryTime, -12);
         dto.setDataTime(tongbiTime);
         final Double tongbiTotalEnergy = getTotalEnergy(dto);
-        
+
         DateTime huanbiTime = DateUtil.offsetMonth(queryTime, -1);
         dto.setDataTime(huanbiTime);
         final Double huanbiTotalEnergy = getTotalEnergy(dto);
 
-        
-        tongbi.setCurrentTime(DateUtil.format(queryTime,timeFormat));
-        tongbi.setCompareTime(DateUtil.format(tongbiTime,timeFormat));
+
+        tongbi.setCurrentTime(DateUtil.format(queryTime, timeFormat));
+        tongbi.setCompareTime(DateUtil.format(tongbiTime, timeFormat));
         tongbi.setCurrentValue(currTotalEnergy);
         tongbi.setCompareValue(tongbiTotalEnergy);
-        if(tongbiTotalEnergy != 0) {
+        if (tongbiTotalEnergy != 0) {
             final double tongbiRatio = (currTotalEnergy - tongbiTotalEnergy) / tongbiTotalEnergy * 100;
             BigDecimal bd = new BigDecimal(tongbiRatio);
             bd = bd.setScale(2, RoundingMode.HALF_UP);
             tongbi.setRatio(bd.doubleValue());
-        }else {
+        } else {
             tongbi.setRatio(0);
         }
-        
-        huanbi.setCurrentTime(DateUtil.format(queryTime,timeFormat));
-        huanbi.setCompareTime(DateUtil.format(huanbiTime,timeFormat));
+
+        huanbi.setCurrentTime(DateUtil.format(queryTime, timeFormat));
+        huanbi.setCompareTime(DateUtil.format(huanbiTime, timeFormat));
         huanbi.setCompareValue(huanbiTotalEnergy);
         huanbi.setCurrentValue(currTotalEnergy);
-     
-        if(huanbiTotalEnergy != 0) {
+
+        if (huanbiTotalEnergy != 0) {
             final double huanbiRatio = (currTotalEnergy - huanbiTotalEnergy) / huanbiTotalEnergy * 100;
             BigDecimal bd = new BigDecimal(huanbiRatio);
             bd = bd.setScale(2, RoundingMode.HALF_UP);
             huanbi.setRatio(bd.doubleValue());
-        }else {
+        } else {
             huanbi.setRatio(0);
         }
         consumptionAnalysisVO.setTongbi(tongbi);
         consumptionAnalysisVO.setHuanbi(huanbi);
         return consumptionAnalysisVO;
     }
-    
-    public Double getTotalEnergy(ConsumptionAnalysisDTO dto){
+
+    public Double getTotalEnergy(ConsumptionAnalysisDTO dto) {
         //todo hmj 缁煎悎鑳借�楀厛榛樿鍙栧悓姣�
         final String nodeId = dto.getNodeId();
         final String energyType = dto.getEnergyType();
@@ -712,23 +714,23 @@
         /**
          * 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
          */
-        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
 
 //        if (CollectionUtils.isEmpty(nodeIndexInforList)) {
 //            return consumptionAnalysisVO;
 //        }
-
+        nodeIndexInforList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).collect(Collectors.toList());
         final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
         final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
         final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
         final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
         final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
-        nodeIndexInforList.forEach(n->{
+        nodeIndexInforList.forEach(n -> {
             final String indexId = n.getIndexId();
             final String energyId = n.getEnergyId();
-            if(!indexIdEnergyIdMap.containsKey(indexId)){
-                indexIdEnergyIdMap.put(indexId,energyId);
+            if (!indexIdEnergyIdMap.containsKey(indexId)) {
+                indexIdEnergyIdMap.put(indexId, energyId);
             }
         });
         List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -757,12 +759,12 @@
         }
         // 鏍规嵁indexId鏌ヨdataItem
         List<DataItem> dataItemList = new ArrayList<>();
-        if(CollectionUtils.isNotEmpty(indexIds)) {
+        if (CollectionUtils.isNotEmpty(indexIds)) {
             dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
         }
         Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(li -> DateUtil.format(li.getDataTime(), timeFormat)));
 
-        Map<String,Double> energyProportionMap = new HashMap<>();
+        Map<String, Double> energyProportionMap = new HashMap<>();
         while (!beginTime.after(endTime)) {
             final String currentTime = DateUtil.format(beginTime, timeFormat);
 
@@ -770,17 +772,18 @@
             BigDecimal sum = new BigDecimal(0);
             if (CollectionUtils.isNotEmpty(dataItems)) {
                 // 姹傚拰
-                for (int i=0;i<dataItems.size(); i++){
+                for (int i = 0; i < dataItems.size(); i++) {
                     final DataItem dataItem = dataItems.get(i);
                     final String indexId = dataItem.getIndexId();
                     final String energyId = indexIdEnergyIdMap.get(indexId);
 
                     final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-                    if(coefficient == null){
+                    if (coefficient == null) {
                         throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
                     }
 
-                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+                    ;
 //                    if(energyProportionMap.containsKey(energyId)) {
 //                        energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum.doubleValue());
 //                    }else {
@@ -804,26 +807,24 @@
         }
 
 
-
-        
         Map<String, List<DataItem>> indexDataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
 
-        indexDataItemMap.forEach((indexId,value)->{
+        indexDataItemMap.forEach((indexId, value) -> {
             final String energyId = indexIdEnergyIdMap.get(indexId);
 
             final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-            if(coefficient == null){
+            if (coefficient == null) {
                 throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
             }
 
             final double sum = value.stream().map(DataItem::getValue).mapToDouble(Double::doubleValue).sum();
-            if(energyProportionMap.containsKey(energyId)) {
-                energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
-            }else {
+            if (energyProportionMap.containsKey(energyId)) {
+                energyProportionMap.put(energyId, energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
+            } else {
                 energyProportionMap.put(energyId, sum * coefficient.doubleValue());
             }
         });
-        Double eneryTotal =  energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
+        Double eneryTotal = energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
         return eneryTotal.doubleValue();
     }
 
@@ -839,11 +840,11 @@
          */
         List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeByParentId(nodeId);
         final Map<String, String> nodeNameMap = new HashMap<>();
-        nodeIndexInforList.forEach(n->{
+        nodeIndexInforList.forEach(n -> {
             final String id = n.getNodeId();
             final String name = n.getName();
-            if(!nodeNameMap.containsKey(id)){
-                nodeNameMap.put(id,name);
+            if (!nodeNameMap.containsKey(id)) {
+                nodeNameMap.put(id, name);
             }
         });
         // 鎸夌収鐐逛綅杩涜鍒嗙粍
@@ -851,17 +852,17 @@
                 Collectors.groupingBy(ModelNodeIndexInfor::getNodeId));
         final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
         final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
         final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
         //鑳芥簮缂栧彿鍜岃兘婧愭姌鏍囩郴鏁�
         final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
         //index鍜岃兘婧�
         final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
-        nodeIndexInforList.forEach(n->{
+        nodeIndexInforList.forEach(n -> {
             final String indexId = n.getIndexId();
             final String energyId = n.getEnergyId();
-            if(!indexIdEnergyIdMap.containsKey(indexId)){
-                indexIdEnergyIdMap.put(indexId,energyId);
+            if (!indexIdEnergyIdMap.containsKey(indexId)) {
+                indexIdEnergyIdMap.put(indexId, energyId);
             }
         });
         List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -886,22 +887,22 @@
         }
         // 鏍规嵁indexId鏌ヨdataItem
         List<DataItem> dataItemList = new ArrayList<>();
-        if(CollectionUtils.isNotEmpty(indexIds)) {
+        if (CollectionUtils.isNotEmpty(indexIds)) {
             dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
         }
         Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
 
-        Map<String,BigDecimal> resultMap = new HashMap<>();
+        Map<String, BigDecimal> resultMap = new HashMap<>();
         nodeIndexMap.forEach((key, value) -> {
             // 鎵惧嚭indexIds
             List<String> indexIdList = value.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
-            
-            indexIdList.forEach(indexId->{
+
+            indexIdList.forEach(indexId -> {
                 final List<DataItem> dataItems = dataItemMap.get(indexId);
                 final String energyId = indexIdEnergyIdMap.get(indexId);
                 final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-                
-                if(CollectionUtils.isNotEmpty(dataItems) ){
+
+                if (CollectionUtils.isNotEmpty(dataItems)) {
                     BigDecimal sum = BigDecimal.valueOf(dataItems.stream()
                             .mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP).multiply(coefficient);
 
@@ -914,7 +915,7 @@
             });
         });
 
-        resultMap.forEach((key,value)->{
+        resultMap.forEach((key, value) -> {
             RankingEnergyData rankingEnergyData = new RankingEnergyData();
             rankingEnergyData.setNodeId(key);
             rankingEnergyData.setNodeName(nodeNameMap.get(key));
@@ -950,30 +951,30 @@
         }
 
         LambdaQueryWrapper<EnergyIndicators> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(EnergyIndicators::getTimeType,queryTimeType);
-        queryWrapper.eq(EnergyIndicators::getDataTime,DateUtil.format(dto.getDataTime(),timeFormat));
-        queryWrapper.eq(EnergyIndicators::getNodeId,dto.getNodeId());
-        queryWrapper.eq(EnergyIndicators::getEnergyType,dto.getEnergyType());
+        queryWrapper.eq(EnergyIndicators::getTimeType, queryTimeType);
+        queryWrapper.eq(EnergyIndicators::getDataTime, DateUtil.format(dto.getDataTime(), timeFormat));
+        queryWrapper.eq(EnergyIndicators::getNodeId, dto.getNodeId());
+        queryWrapper.eq(EnergyIndicators::getEnergyType, dto.getEnergyType());
         // 0 鏄鍒掗噺
-        queryWrapper.eq(EnergyIndicators::getIndicatorsType,"0");
+        queryWrapper.eq(EnergyIndicators::getIndicatorsType, "0");
         final EnergyIndicators plan = energyIndicatorsMapper.selectOne(queryWrapper);
-        if(null != plan && null!= plan.getNumber()) {
+        if (null != plan && null != plan.getNumber()) {
             consumptionAnalysisVO.setPlanCount(plan.getNumber().divide(new BigDecimal(between), CommonConst.DIGIT_2, RoundingMode.HALF_UP).doubleValue());
-        }else {
+        } else {
             consumptionAnalysisVO.setPlanCount(0D);
         }
         queryWrapper.clear();
 
 
-        queryWrapper.eq(EnergyIndicators::getTimeType,queryTimeType);
-        queryWrapper.eq(EnergyIndicators::getDataTime,DateUtil.format(dto.getDataTime(),timeFormat));
-        queryWrapper.eq(EnergyIndicators::getNodeId,dto.getNodeId());
-        queryWrapper.eq(EnergyIndicators::getEnergyType,dto.getEnergyType());
-        queryWrapper.eq(EnergyIndicators::getIndicatorsType,"1");
+        queryWrapper.eq(EnergyIndicators::getTimeType, queryTimeType);
+        queryWrapper.eq(EnergyIndicators::getDataTime, DateUtil.format(dto.getDataTime(), timeFormat));
+        queryWrapper.eq(EnergyIndicators::getNodeId, dto.getNodeId());
+        queryWrapper.eq(EnergyIndicators::getEnergyType, dto.getEnergyType());
+        queryWrapper.eq(EnergyIndicators::getIndicatorsType, "1");
         final EnergyIndicators prod = energyIndicatorsMapper.selectOne(queryWrapper);
-        if(null != prod && null!= prod.getNumber()) {
+        if (null != prod && null != prod.getNumber()) {
             consumptionAnalysisVO.setPlanCount(prod.getNumber().divide(new BigDecimal(between), CommonConst.DIGIT_2, RoundingMode.HALF_UP).doubleValue());
-        }else {
+        } else {
             consumptionAnalysisVO.setProdCount(0D);
         }
         return consumptionAnalysisVO;
@@ -993,19 +994,19 @@
         /**
          * 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
          */
-        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+        List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
 
         final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
         final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
         final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
         final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
         final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
-        nodeIndexInforList.forEach(n->{
+        nodeIndexInforList.forEach(n -> {
             final String indexId = n.getIndexId();
             final String energyId = n.getEnergyId();
-            if(!indexIdEnergyIdMap.containsKey(indexId)){
-                indexIdEnergyIdMap.put(indexId,energyId);
+            if (!indexIdEnergyIdMap.containsKey(indexId)) {
+                indexIdEnergyIdMap.put(indexId, energyId);
             }
         });
         List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -1032,12 +1033,11 @@
             shixuTimeType = TimeType.MONTH.name();
             timeFormat = "yyyy-MM";
         }
-        
-        
+
 
         // 鏍规嵁indexId鏌ヨdataItem
         List<DataItem> dataItemList = new ArrayList<>();
-        if(CollectionUtils.isNotEmpty(indexIds)) {
+        if (CollectionUtils.isNotEmpty(indexIds)) {
             dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
         }
         Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(li -> DateUtil.format(li.getDataTime(), timeFormat)));
@@ -1045,12 +1045,12 @@
         while (!beginTime.after(endTime)) {
             //鏌ヨ寮�濮嬫椂闂村拰缁撴潫鏃堕棿涔嬮棿鐨勪骇閲�
             LambdaQueryWrapper<ProductOutput> indicatorsWrapper = new LambdaQueryWrapper<>();
-            indicatorsWrapper.eq(ProductOutput::getTimeType,shixuTimeType);
-            indicatorsWrapper.eq(ProductOutput::getNodeId,dto.getNodeId());
-            indicatorsWrapper.eq(ProductOutput::getDataTime,DateUtil.format(beginTime,timeFormat));
+            indicatorsWrapper.eq(ProductOutput::getTimeType, shixuTimeType);
+            indicatorsWrapper.eq(ProductOutput::getNodeId, dto.getNodeId());
+            indicatorsWrapper.eq(ProductOutput::getDataTime, DateUtil.format(beginTime, timeFormat));
             List<ProductOutput> energyIndicators = productOutputMapper.selectList(indicatorsWrapper);
-            prodCountMap.put(DateUtil.format(beginTime,timeFormat),energyIndicators);
-            
+            prodCountMap.put(DateUtil.format(beginTime, timeFormat), energyIndicators);
+
             ConsumptionAnalysisData data = new ConsumptionAnalysisData();
             final String currentTime = DateUtil.format(beginTime, timeFormat);
 
@@ -1058,17 +1058,18 @@
             BigDecimal sum = new BigDecimal(0);
             if (CollectionUtils.isNotEmpty(dataItems)) {
                 // 姹傚拰
-                for (int i=0;i<dataItems.size(); i++){
+                for (int i = 0; i < dataItems.size(); i++) {
                     final DataItem dataItem = dataItems.get(i);
                     final String indexId = dataItem.getIndexId();
                     final String energyId = indexIdEnergyIdMap.get(indexId);
 
                     final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-                    if(coefficient == null){
+                    if (coefficient == null) {
                         throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
                     }
 
-                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+                    ;
                 }
 
             }
@@ -1090,18 +1091,18 @@
                     break;
             }
         }
-        dataList.forEach(d->{
+        dataList.forEach(d -> {
             ProductEnergyAnalysisData productEnergyAnalysisData = new ProductEnergyAnalysisData();
             final String currentTime = d.getCurrentTime();
-            
+
             productEnergyAnalysisData.setDateTime(currentTime);
-            
+
             final List<ProductOutput> productOutputs = prodCountMap.get(currentTime);
-            if(StringUtils.isEmpty(dto.getProdType())){
+            if (StringUtils.isEmpty(dto.getProdType())) {
                 productEnergyAnalysisData.setEnergyCount(format2Double(d.getCurrentValue()));
                 final double sum = productOutputs.stream().map(ProductOutput::getNumber).mapToDouble(BigDecimal::doubleValue).sum();
                 productEnergyAnalysisData.setProductCount(format2Double(sum));
-                if(sum != 0) {
+                if (sum != 0) {
                     final double averageEnergy = productEnergyAnalysisData.getEnergyCount() / productEnergyAnalysisData.getProductCount();
                     // 鍒涘缓DecimalFormat瀵硅薄锛岃缃繚鐣欎袱浣嶅皬鏁�
                     DecimalFormat df = new DecimalFormat("#.00");
@@ -1109,15 +1110,15 @@
                     // 鏍煎紡鍖栫粨鏋�
                     String formattedResult = df.format(averageEnergy);
                     productEnergyAnalysisData.setAverage(Double.valueOf(formattedResult));
-                }else {
+                } else {
                     productEnergyAnalysisData.setAverage(0);
                 }
-            }else {
-                if(CollectionUtils.isNotEmpty(productOutputs)) {
+            } else {
+                if (CollectionUtils.isNotEmpty(productOutputs)) {
                     final Map<String, List<ProductOutput>> productTypeMap = productOutputs.stream().collect(Collectors.groupingBy(ProductOutput::getProductType));
                     final double sum = productOutputs.stream().map(ProductOutput::getNumber).mapToDouble(BigDecimal::doubleValue).sum();
                     final List<ProductOutput> outputList = productTypeMap.get(dto.getProdType());
-                    if(CollectionUtils.isNotEmpty(outputList)) {
+                    if (CollectionUtils.isNotEmpty(outputList)) {
                         final double enengyProd = outputList.stream().map(ProductOutput::getNumber).mapToDouble(BigDecimal::doubleValue).sum();
                         productEnergyAnalysisData.setProductCount(format2Double(enengyProd));
                         productEnergyAnalysisData.setEnergyCount(format2Double(d.getCurrentValue() * enengyProd / sum));
@@ -1128,19 +1129,19 @@
                         } else {
                             productEnergyAnalysisData.setAverage(0);
                         }
-                    }else {
+                    } else {
                         productEnergyAnalysisData.setProductCount(0);
                         productEnergyAnalysisData.setEnergyCount(d.getCurrentValue());
                         productEnergyAnalysisData.setAverage(0);
                     }
-                }else {
+                } else {
                     productEnergyAnalysisData.setProductCount(0);
                     productEnergyAnalysisData.setEnergyCount(d.getCurrentValue());
                     productEnergyAnalysisData.setAverage(0);
                 }
             }
-            
-           
+
+
             chart.add(productEnergyAnalysisData);
         });
 
@@ -1149,9 +1150,9 @@
         final double totalProd = chart.stream().map(ProductEnergyAnalysisData::getProductCount).mapToDouble(Double::doubleValue).sum();
         productEnergyAnalysisVO.setTotalEnergy(format2Double(totalEnergy));
         productEnergyAnalysisVO.setTotalProduct(format2Double(totalProd));
-        if(totalProd != 0) {
+        if (totalProd != 0) {
             productEnergyAnalysisVO.setAverageEnergy(format2Double(totalEnergy / totalProd));
-        }else {
+        } else {
             productEnergyAnalysisVO.setAverageEnergy(0D);
         }
         return productEnergyAnalysisVO;

--
Gitblit v1.9.3