From 75f9894ebac12b13c7ead27c3e16db833ee9251a Mon Sep 17 00:00:00 2001
From: z1415143022 <z1415143022@163.com>
Date: 星期二, 25 三月 2025 20:02:45 +0800
Subject: [PATCH] Merge branch 'develop1.0' into zhangjw_from_develop1.0

---
 zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
index e06ddbe..6cb58c9 100644
--- a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
@@ -233,4 +233,46 @@
         AND (di.data_time BETWEEN #{beginTime} AND #{endTime})
         AND di.time_type = #{timeType}
     </select>
+    <select id="getHomePageConsumptionRanking"
+            resultType="com.zhitan.consumptionanalysis.domain.vo.RankingEnergyData">
+        SELECT
+            A.node_Id,
+            A."name" AS nodeName,
+            A.energy_id AS energyTypeNo,
+            A.index_type AS energyTypeName,
+            A."value" AS energyConsumption
+        FROM
+        (
+            SELECT
+                mn.node_id,
+                mn."name",
+                ei.energy_id,
+                ei.index_type,
+                se.coefficient,
+                (SUM ( di."value" ) * se.coefficient) AS "value"
+            FROM
+                model_node mn
+            LEFT JOIN node_index ni ON ni.node_id = mn.node_id
+            LEFT JOIN data_item di ON di.index_id = ni.index_id
+            LEFT JOIN energy_index ei ON ei.index_id = ni.index_id
+            LEFT JOIN sys_energy se ON se.enersno = ei.energy_id
+            WHERE
+                mn.node_id IN
+                <foreach collection="nodeIds" item="nodeId" open="(" separator="," close=")">
+                    #{nodeId}
+                </foreach>
+                AND di.time_type = #{timeType}
+                AND di.begin_time between #{beginTime} AND #{endTime}
+                AND ei.index_type = 'STATISTIC'
+            GROUP BY
+                mn.node_id,
+                mn."name",
+                ei.energy_id,
+                ei.index_type,
+                se.coefficient
+        ) A
+        ORDER BY
+            A."value" DESC
+        LIMIT 5
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3