From ca39f9dd34b5a578c7a4ff170cb39d42cbc77234 Mon Sep 17 00:00:00 2001
From: 潘晓明 <hahagongzi2006@163.com>
Date: 星期四, 13 二月 2025 11:50:51 +0800
Subject: [PATCH] 成本趋势分析页面接口:不传能源类型时,取所有能源类型。

---
 zhitan-system/src/main/java/com/zhitan/dataitem/mapper/DataItemMapper.java                                |   12 +++
 zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/EnergyConsumeDataController.java |    4 
 zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml                                       |   18 ++++
 zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java |  146 ++++++++++++++++++++----------------
 zhitan-system/src/main/resources/mapper/peakvalley/ElectricityDataItemMapper.xml                          |    8 +-
 zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/domain/vo/EnergyConsumeTrendDetailItem.java    |   15 +++
 zhitan-system/src/main/java/com/zhitan/peakvalley/mapper/PeakValleyMapper.java                            |    6 
 7 files changed, 134 insertions(+), 75 deletions(-)

diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/EnergyConsumeDataController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/EnergyConsumeDataController.java
index 051909e..e91dc45 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/EnergyConsumeDataController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/statisticalAnalysis/EnergyConsumeDataController.java
@@ -41,7 +41,7 @@
                                           @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                           @RequestParam(name = "timeCode") String timeCode,
                                           @RequestParam(name = "timeType") String timeType,
-                                          @RequestParam(name = "energyType") String energyType,
+                                          @RequestParam(name = "energyType",required = false) String energyType,
                                           @RequestParam(name = "modelCode") String modelCode) {
         return AjaxResult.success(energyConsumeDataService.listEnergyCostTrend(pageNo, pageSize, timeCode, timeType,energyType,
                 modelCode));
@@ -62,7 +62,7 @@
     public AjaxResult listEnergyCostTrendDetail(@RequestParam(name = "timeCode") String timeCode,
                                                                                 @RequestParam(name = "timeType") String timeType,
                                                                                 @RequestParam(name = "modelCode") String modelCode,
-                                                                                @RequestParam("energyType") String energyType) {
+                                                                                @RequestParam(name = "energyType",required = false) String energyType) {
         return AjaxResult.success(energyConsumeDataService.listEnergyCostTrendDetail(timeCode, timeType, modelCode, energyType));
     }
 
diff --git a/zhitan-system/src/main/java/com/zhitan/dataitem/mapper/DataItemMapper.java b/zhitan-system/src/main/java/com/zhitan/dataitem/mapper/DataItemMapper.java
index 94f00fe..99d5317 100644
--- a/zhitan-system/src/main/java/com/zhitan/dataitem/mapper/DataItemMapper.java
+++ b/zhitan-system/src/main/java/com/zhitan/dataitem/mapper/DataItemMapper.java
@@ -123,4 +123,16 @@
      */
     List<DataItem> getDataItemHourInforByIndexIds(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime,
                                                   @Param("timeType") String timeType, @Param("indexIds") List<String> indexIds);
+
+    /**
+     * 鏌ヨ鑳芥簮绫诲瀷闈炵數鐨勭敤閲�
+     * @param beginTime
+     * @param endTime
+     * @param timeType 鏃堕棿绫诲瀷
+     * @param nodeId 鑺傜偣Id
+     * @param energyType 鑳芥簮绫诲瀷
+     * @return
+     */
+    BigDecimal getDataItemTimeRangeValueByNodeId(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime,
+                                            @Param("timeType") String timeType, @Param("nodeId") String nodeId, @Param("energyType") String energyType);
 }
diff --git a/zhitan-system/src/main/java/com/zhitan/peakvalley/mapper/PeakValleyMapper.java b/zhitan-system/src/main/java/com/zhitan/peakvalley/mapper/PeakValleyMapper.java
index 8e74174..98b4e01 100644
--- a/zhitan-system/src/main/java/com/zhitan/peakvalley/mapper/PeakValleyMapper.java
+++ b/zhitan-system/src/main/java/com/zhitan/peakvalley/mapper/PeakValleyMapper.java
@@ -43,11 +43,11 @@
      * @param beginTime
      * @param endTime
      * @param timeType 鏃堕棿绫诲瀷
-     * @param indexId 鑺傜偣Id
-     * @param emissionType 鑳芥簮绫诲瀷
+     * @param nodeId 鑺傜偣Id
+     * @param energyType 鑳芥簮绫诲瀷
      * @return
      */
     List<ElectricityDataItem> getCostTrends(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime,
-                                                 @Param("timeType") String timeType, @Param("indexId") String indexId,@Param("emissionType") String emissionType);
+                                                 @Param("timeType") String timeType, @Param("nodeId") String nodeId,@Param("energyType") String energyType);
 
 }
diff --git a/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/domain/vo/EnergyConsumeTrendDetailItem.java b/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/domain/vo/EnergyConsumeTrendDetailItem.java
index 87b59a5..ccc4a25 100644
--- a/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/domain/vo/EnergyConsumeTrendDetailItem.java
+++ b/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/domain/vo/EnergyConsumeTrendDetailItem.java
@@ -1,5 +1,6 @@
 package com.zhitan.statisticalAnalysis.domain.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -43,6 +44,20 @@
     private String costLabel;
 
     /**
+     * 绱Н閲�
+     */
+    @ApiModelProperty(value = "绱Н閲�")
+    @JsonFormat(shape = JsonFormat.Shape.STRING)
+    private BigDecimal accumulation;
+
+    /**
+     * 璐圭敤
+     */
+    @ApiModelProperty(value = "璐圭敤")
+    @JsonFormat(shape = JsonFormat.Shape.STRING)
+    private BigDecimal cost;
+
+    /**
      * 绱Н閲弅ey闆嗗悎
      */
     @ApiModelProperty(value = "绱Н閲弅ey闆嗗悎")
diff --git a/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java
index 6ecc35e..5819d02 100644
--- a/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java
@@ -7,6 +7,7 @@
 import com.zhitan.carbonemission.domain.CarbonEmission;
 import com.zhitan.common.constant.CommonConst;
 import com.zhitan.common.constant.TimeTypeConst;
+import com.zhitan.common.utils.StringUtils;
 import com.zhitan.dataitem.mapper.DataItemMapper;
 import com.zhitan.model.domain.ModelNode;
 import com.zhitan.model.domain.NodeIndex;
@@ -58,12 +59,13 @@
                                                    String modelCode) {
         //鑳芥簮绫诲瀷淇℃伅
         SysEnergy sysEnergy = new SysEnergy();
-        sysEnergy.setEnersno(energyType);
+        if (StringUtils.isNotEmpty(energyType)) {
+            sysEnergy.setEnersno(energyType);
+        }
         List<SysEnergy> sysEnergies = sysEnergyMapper.selectSysEnergyList(sysEnergy);
         if (sysEnergies.isEmpty()) {
             throw new RuntimeException("鏈煡璇㈠埌鑳芥簮淇℃伅");
         }
-        SysEnergy sysEnergyInfo = sysEnergies.stream().findFirst().get();
         //鑺傜偣淇℃伅
         List<ModelNode> modelNodes = modelNodeMapper.selectList(Wrappers.<ModelNode>lambdaQuery().eq(ModelNode::getModelCode, modelCode)
                 .isNull(ModelNode::getParentId));
@@ -78,22 +80,24 @@
             throw new RuntimeException("鏈煡璇㈠埌鐐逛綅淇℃伅");
         }
 
-        // 閬嶅巻鐢ㄨ兘鍗曞厓鑾峰彇琛ㄦ牸涓殑鏁版嵁
-        List<EnergyCostTrendItem> trendItemList = new ArrayList<>();
-        EnergyCostTrendItem energyCostTrendItem = new EnergyCostTrendItem();
-        energyCostTrendItem.setDateCode(timeCode);
         // 鎬昏垂鐢�
         BigDecimal totalCost = BigDecimal.ZERO;
         // 閬嶅巻鑳芥簮绫诲瀷
         List<CostTrendEnergyTypeItem> itemList = new ArrayList<>();
-        CostTrendEnergyTypeItem item = new CostTrendEnergyTypeItem();
-        item.setEnergyType(sysEnergyInfo.getEnersno());
-        item.setEnergyName(sysEnergyInfo.getEnername());
-        // 澶勭悊鏃堕棿
-        Date bsTime = DateTimeUtil.getTime(timeType, timeCode);
-        Date endTime = DateTimeUtil.getEndTimeByType(timeType, bsTime);
-        totalCost = getEnergyUnitCostTrendAnalysisValueInfo(timeType, bsTime, endTime, totalCost, nodeIndices, sysEnergyInfo.getEnersno(), item);
-        itemList.add(item);
+        for (SysEnergy sysEnergyInfo : sysEnergies) {
+            CostTrendEnergyTypeItem item = new CostTrendEnergyTypeItem();
+            item.setEnergyType(sysEnergyInfo.getEnersno());
+            item.setEnergyName(sysEnergyInfo.getEnername());
+            // 澶勭悊鏃堕棿
+            Date bsTime = DateTimeUtil.getTime(timeType, timeCode);
+            Date endTime = DateTimeUtil.getEndTimeByType(timeType, bsTime);
+            totalCost = getEnergyUnitCostTrendAnalysisValueInfo(timeType, bsTime, endTime, totalCost, nodeIndices, modelNodeInfo.getNodeId(), sysEnergyInfo, item);
+            itemList.add(item);
+        }
+        // 閬嶅巻鐢ㄨ兘鍗曞厓鑾峰彇琛ㄦ牸涓殑鏁版嵁
+        List<EnergyCostTrendItem> trendItemList = new ArrayList<>();
+        EnergyCostTrendItem energyCostTrendItem = new EnergyCostTrendItem();
+        energyCostTrendItem.setDateCode(timeCode);
         energyCostTrendItem.setTotal(totalCost.setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP));
         energyCostTrendItem.setItemList(itemList);
         trendItemList.add(energyCostTrendItem);
@@ -107,28 +111,30 @@
     /**
      * 鑾峰彇鐢ㄨ兘鍗曞厓鎴愭湰瓒嬪娍鍒嗘瀽绱Н閲忋�佽垂鐢ㄤ俊鎭�
      *
-     * @param timeType    鏃堕棿绫诲瀷
-     * @param bsTime      寮�濮嬫椂闂�
-     * @param endTime     缁撴潫鏃堕棿
-     * @param totalCost   鎬昏垂鐢�
-     * @param nodeIndices 鑺傜偣id闆嗗悎
-     * @param energyType  鑳芥簮绫诲瀷
-     * @param item        杩斿洖瀵硅薄
+     * @param timeType      鏃堕棿绫诲瀷
+     * @param bsTime        寮�濮嬫椂闂�
+     * @param endTime       缁撴潫鏃堕棿
+     * @param totalCost     鎬昏垂鐢�
+     * @param nodeIndices   鑺傜偣鐐逛綅闆嗗悎
+     * @param nodeId        鑺傜偣id
+     * @param sysEnergyInfo 鑳芥簮绫诲瀷淇℃伅
+     * @param item          杩斿洖瀵硅薄
      * @return
      */
     private BigDecimal getEnergyUnitCostTrendAnalysisValueInfo(String timeType, Date bsTime, Date endTime, BigDecimal totalCost,
-                                                                List<NodeIndex> nodeIndices, String energyType,
-                                                                CostTrendEnergyTypeItem item) {
-        BigDecimal costValue;
+                                                               List<NodeIndex> nodeIndices, String nodeId, SysEnergy sysEnergyInfo,
+                                                               CostTrendEnergyTypeItem item) {
+        BigDecimal costValue = BigDecimal.ZERO;
         BigDecimal accumulationValue = BigDecimal.ZERO;
-        switch (energyType) {
+        switch (sysEnergyInfo.getEnersno()) {
             case "electric":
                 List<ElectricityDataItem> electricityDataItems = peakValleyMapper.getDataStatistics(nodeIndices.stream().map(NodeIndex::getIndexId).collect(Collectors.toSet()), bsTime, endTime, timeType);
                 costValue = electricityDataItems.stream().map(ElectricityDataItem::getCost).reduce(BigDecimal.ZERO, BigDecimal::add);
                 accumulationValue = electricityDataItems.stream().map(ElectricityDataItem::getElectricity).reduce(BigDecimal.ZERO, BigDecimal::add);
                 break;
             default:
-                costValue = dataItemMapper.getDataItemTimeRangeValueByIndexIds(bsTime, endTime, timeType, nodeIndices.stream().map(NodeIndex::getIndexId).collect(Collectors.toList()));
+                accumulationValue = dataItemMapper.getDataItemTimeRangeValueByNodeId(bsTime, endTime, timeType, nodeId, sysEnergyInfo.getEnersno());
+                costValue = accumulationValue.multiply(sysEnergyInfo.getPrice());
                 break;
         }
         costValue = costValue.setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
@@ -151,12 +157,13 @@
     public List<EnergyConsumeTrendDetailItem> listEnergyCostTrendDetail(String timeCode, String timeType, String modelCode, String energyType) {
         //鑳芥簮绫诲瀷淇℃伅
         SysEnergy sysEnergy = new SysEnergy();
-        sysEnergy.setEnersno(energyType);
+        if (StringUtils.isNotEmpty(energyType)) {
+            sysEnergy.setEnersno(energyType);
+        }
         List<SysEnergy> sysEnergies = sysEnergyMapper.selectSysEnergyList(sysEnergy);
         if (sysEnergies.isEmpty()) {
             throw new RuntimeException("鏈煡璇㈠埌鑳芥簮淇℃伅");
         }
-        SysEnergy sysEnergyInfo = sysEnergies.stream().findFirst().get();
 
         //鑺傜偣淇℃伅
         List<ModelNode> modelNodes = modelNodeMapper.selectList(Wrappers.<ModelNode>lambdaQuery().eq(ModelNode::getModelCode, modelCode)
@@ -167,46 +174,53 @@
         String nodeId = modelNodes.stream().findFirst().get().getNodeId();
 
         // 鑳借�椾俊鎭�
+        List<EnergyConsumeTrendDetailItem> itemList = new ArrayList<>();
         List<EnergyConsumeVO> energyConsumeVOList = new ArrayList<>();
         Date startTime = DateTimeUtil.getTime(timeType, timeCode);
         Date endTime = DateTimeUtil.getEndTimeByType(timeType, startTime);
-        switch (sysEnergyInfo.getEnersno()) {
-            case "electric":
-                List<ElectricityDataItem> electricityDataItems = peakValleyMapper.getCostTrends(startTime, endTime, timeType, nodeId, energyType);
-                if (!electricityDataItems.isEmpty()) {
-                    electricityDataItems.forEach(electricityDataItem -> {
-                        EnergyConsumeVO temp = new EnergyConsumeVO();
-                        temp.setDataTime(electricityDataItem.getDataTime());
-                        temp.setCostValue(electricityDataItem.getCost());
-                        temp.setAccumulationValue(electricityDataItem.getElectricity());
-                        energyConsumeVOList.add(temp);
-                    });
-                }
-                break;
-            default:
-                List<CarbonEmission> dataItems = dataItemMapper.getMiddleCarbonEmission(startTime, endTime, timeType, nodeId, energyType);
-                if (!dataItems.isEmpty()) {
-                    dataItems.forEach(electricityDataItem -> {
-                        EnergyConsumeVO temp = new EnergyConsumeVO();
-                        temp.setDataTime(electricityDataItem.getDataTime());
-                        temp.setCostValue(new BigDecimal(electricityDataItem.getValue()));
-                        temp.setAccumulationValue(new BigDecimal(electricityDataItem.getValue()).multiply(sysEnergyInfo.getPrice()));
-                        energyConsumeVOList.add(temp);
-                    });
-                }
-                break;
+        for (SysEnergy sysEnergyInfo : sysEnergies) {
+            switch (sysEnergyInfo.getEnersno()) {
+                case "electric":
+                    List<ElectricityDataItem> electricityDataItems = peakValleyMapper.getCostTrends(startTime, endTime, timeType, nodeId, sysEnergyInfo.getEnersno());
+                    if (!electricityDataItems.isEmpty()) {
+                        electricityDataItems.forEach(electricityDataItem -> {
+                            EnergyConsumeVO temp = new EnergyConsumeVO();
+                            temp.setDataTime(electricityDataItem.getDataTime());
+                            temp.setCostValue(electricityDataItem.getCost());
+                            temp.setAccumulationValue(electricityDataItem.getElectricity());
+                            energyConsumeVOList.add(temp);
+                        });
+                    }
+                    break;
+                default:
+                    List<CarbonEmission> dataItems = dataItemMapper.getMiddleCarbonEmission(startTime, endTime, timeType, nodeId, sysEnergyInfo.getEnersno());
+                    if (!dataItems.isEmpty()) {
+                        dataItems.forEach(electricityDataItem -> {
+                            EnergyConsumeVO temp = new EnergyConsumeVO();
+                            temp.setDataTime(electricityDataItem.getDataTime());
+                            temp.setCostValue(new BigDecimal(electricityDataItem.getValue()));
+                            temp.setAccumulationValue(new BigDecimal(electricityDataItem.getValue()).multiply(sysEnergyInfo.getPrice()));
+                            energyConsumeVOList.add(temp);
+                        });
+                    }
+                    break;
+            }
+            BigDecimal cost = energyConsumeVOList.stream().map(EnergyConsumeVO::getCostValue)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
+            BigDecimal accumulation = energyConsumeVOList.stream().map(EnergyConsumeVO::getAccumulationValue)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
+            // 缁勮缁熻鍥句俊鎭�
+            EnergyConsumeTrendDetailItem item = new EnergyConsumeTrendDetailItem();
+            item.setEnergyType(sysEnergyInfo.getEnersno());
+            item.setEnergyUnit(sysEnergyInfo.getMuid());
+            item.setCostLabel(sysEnergyInfo.getEnername() + "璐�");
+            item.setAccumulationLabel(sysEnergyInfo.getEnername() + "鐢ㄩ噺");
+            item.setCost(cost);
+            item.setAccumulation(accumulation);
+            // 缁勮鍥捐〃淇℃伅
+            getTrendAnalysisCharInfoByEnergyType(startTime, timeType, energyConsumeVOList, item);
+            itemList.add(item);
         }
-
-        // 缁勮缁熻鍥句俊鎭�
-        EnergyConsumeTrendDetailItem item = new EnergyConsumeTrendDetailItem();
-        item.setEnergyType(energyType);
-        item.setCostLabel(sysEnergyInfo.getEnername() + "璐�");
-        item.setAccumulationLabel(sysEnergyInfo.getEnername() + "鐢ㄩ噺");
-        // 缁勮鍥捐〃淇℃伅
-        getTrendAnalysisCharInfoByEnergyType(startTime, timeType, energyConsumeVOList, item);
-
-        List<EnergyConsumeTrendDetailItem> itemList = new ArrayList<>();
-        itemList.add(item);
         return itemList;
     }
 
@@ -219,14 +233,14 @@
      * @param item      杩斿洖瀵硅薄
      */
     private void getTrendAnalysisCharInfoByEnergyType(Date bsTime, String timeType,
-                                                       List<EnergyConsumeVO> dataItems, EnergyConsumeTrendDetailItem item) {
+                                                      List<EnergyConsumeVO> dataItems, EnergyConsumeTrendDetailItem item) {
         List<String> costKeyList = new ArrayList<>();
         List<String> accumulationKeyList = new ArrayList<>();
         List<BigDecimal> costValueList = new ArrayList<>();
         List<BigDecimal> accumulationValueList = new ArrayList<>();
         Map<String, List<EnergyConsumeVO>> energyConsumeVOMap;
         //鎸夋椂闂寸被鍨嬬粍缁囪繑鍥炴暟鎹�
-        switch (timeType){
+        switch (timeType) {
             case TimeTypeConst.TIME_TYPE_DAY:
                 energyConsumeVOMap = dataItems.stream().collect(Collectors.groupingBy(li -> DateUtil.formatDateTime(li.getDataTime())));
                 for (int i = 0; i < CommonConst.DIGIT_24; i++) {
diff --git a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
index 37b928f..e06ddbe 100644
--- a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
@@ -215,4 +215,22 @@
         AND ( begin_time BETWEEN #{beginTime} AND #{endTime} )
         AND time_type = #{timeType}
     </select>
+
+    <select id="getDataItemTimeRangeValueByNodeId" resultType="java.math.BigDecimal">
+        SELECT
+        COALESCE (SUM ( "value" ), 0)
+        FROM
+        "data_item" di
+        JOIN energy_index ei  ON di.index_id = ei.index_id
+        WHERE
+        di.index_id IN ( SELECT index_id FROM node_index WHERE node_id = #{nodeId})
+        <if test="energyType !='' and energyType !=null  and energyType =='allType'">
+            AND ei.energy_id != ''
+        </if>
+        <if test="energyType !='' and energyType !=null  and energyType !='allType'">
+            AND  ei.energy_id = #{energyType}
+        </if>
+        AND (di.data_time BETWEEN #{beginTime} AND #{endTime})
+        AND di.time_type = #{timeType}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/zhitan-system/src/main/resources/mapper/peakvalley/ElectricityDataItemMapper.xml b/zhitan-system/src/main/resources/mapper/peakvalley/ElectricityDataItemMapper.xml
index 449019b..d478107 100644
--- a/zhitan-system/src/main/resources/mapper/peakvalley/ElectricityDataItemMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/peakvalley/ElectricityDataItemMapper.xml
@@ -65,12 +65,12 @@
         "electricity_data_item" di
         JOIN energy_index ei  ON di.index_id = ei.index_id
         WHERE
-        di.index_id IN ( SELECT index_id FROM node_index WHERE node_id = #{indexId})
-        <if test="emissionType !='' and emissionType !=null  and emissionType =='allType'">
+        di.index_id IN ( SELECT index_id FROM node_index WHERE node_id = #{nodeId})
+        <if test="energyType !='' and energyType !=null  and energyType =='allType'">
             AND ei.energy_id != ''
         </if>
-        <if test="emissionType !='' and emissionType !=null  and emissionType !='allType'">
-            AND  ei.energy_id = #{emissionType}
+        <if test="energyType !='' and energyType !=null  and energyType !='allType'">
+            AND  ei.energy_id = #{energyType}
         </if>
         AND (di.data_time BETWEEN #{beginTime} AND #{endTime})
         AND di.time_type = #{timeType}

--
Gitblit v1.9.3