From d2878f23683c22c39ac7ec3e0807ebc22e662240 Mon Sep 17 00:00:00 2001
From: VVT789 <67089238+VVT789@users.noreply.github.com>
Date: 星期三, 26 三月 2025 23:50:44 +0800
Subject: [PATCH] Merge pull request #37 from Andy-Yin/zhangjw
---
zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 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 37b928f..6cb58c9 100644
--- a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
@@ -215,4 +215,64 @@
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>
+ <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