From 5d36e1f987ef21e44ded2e8a1d06c28094ec1e76 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期六, 19 四月 2025 12:39:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

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

diff --git a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
index 327e8d1..a795148 100644
--- a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zhitan.dataitem.mapper.DataItemMapper">
-    <resultMap type="StagseDataEntry" id="stagseDataEntryResult">
+    <resultMap type="com.zhitan.dataitem.domain.StagseDataEntry" id="stagseDataEntryResult">
         <result property="code" column="code"/>
         <result property="name" column="name"/>
         <result property="indexId" column="index_id"/>
@@ -15,7 +15,7 @@
         <result property="dataTime" column="data_time"/>
     </resultMap>
 
-    <select id="getSettingIndex" parameterType="StagseDataEntry" resultMap="stagseDataEntryResult">
+    <select id="getSettingIndex" parameterType="com.zhitan.dataitem.domain.StagseDataEntry" resultMap="stagseDataEntryResult">
 
         SELECT
         ei.index_id,
@@ -33,7 +33,7 @@
         and si.time_type = #{timeType}
         AND si.calc_type = #{calcType}
    </select>
-    <select id="getSettingEdit" parameterType="StagseDataEntry" resultMap="stagseDataEntryResult">
+    <select id="getSettingEdit" parameterType="com.zhitan.dataitem.domain.StagseDataEntry" resultMap="stagseDataEntryResult">
         SELECT
             ei.index_id,
             code,
@@ -54,7 +54,7 @@
             AND data_time &gt;= #{beginTime}
             AND data_time &lt;= #{endTime}
     </select>
-    <select id="stagseDataByCode" parameterType="StagseDataEntry" resultMap="stagseDataEntryResult">
+    <select id="stagseDataByCode" parameterType="com.zhitan.dataitem.domain.StagseDataEntry" resultMap="stagseDataEntryResult">
         SELECT
             ei.index_id,
             code,
@@ -136,4 +136,143 @@
             </foreach>
             AND time_code = #{timeCode}
     </select>
+    <select id="getUpCarbonEmission" resultType="com.zhitan.carbonemission.domain.CarbonEmission">
+        SELECT
+            di.index_id,
+            di.data_time,
+            di.value,
+            ei.energy_id
+        FROM
+            data_item  di
+                JOIN energy_index ei  ON di.index_id = ei.index_id
+        WHERE
+            ei.energy_id != '' and
+            di.index_id IN ( SELECT index_id FROM node_index WHERE node_id = #{indexId})
+          AND di.data_time BETWEEN   #{beginTime}  AND  #{endTime}
+          AND di.time_type = #{timeType}
+    </select>
+    <select id="getMiddleCarbonEmission" resultType="com.zhitan.carbonemission.domain.CarbonEmission">
+        SELECT
+            di.index_id,
+            di.data_time,
+        CASE
+        WHEN di.time_type = 'MONTH' THEN
+        TO_CHAR( di.create_time, 'MM' )
+        WHEN di.time_type = 'DAY' THEN
+        TO_CHAR( di.create_time, 'DD' )
+        WHEN di.time_type = 'HOUR' THEN
+        TO_CHAR( di.data_time, 'HH24' )
+        ELSE TO_CHAR( di.data_time, 'YYMMDD' )
+        END AS dataTimeStr,
+            di.value,
+            ei.energy_id,
+            di.time_type
+        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 = #{indexId})
+        <if test="emissionType !='' and emissionType !=null  and emissionType =='allType'">
+            AND ei.energy_id != ''
+        </if>
+        <if test="emissionType !='' and emissionType !=null  and emissionType !='allType'">
+            AND  ei.energy_id = #{emissionType}
+        </if>
+          AND di.data_time BETWEEN   #{beginTime}  AND  #{endTime}
+          AND di.time_type = #{timeType}
+    </select>
+    <select id="getDownCarbonEmission" resultType="com.zhitan.carbonemission.domain.CarbonEmission">
+        SELECT
+            di.index_id,
+            di.data_time,
+            di.value,
+            ei.energy_id,
+            mn.name as nodeName
+        FROM
+        model_node mn
+        LEFT JOIN node_index ni ON mn.node_id = ni.node_id
+        LEFT JOIN data_item di ON di.index_id = ni.index_id
+        LEFT JOIN energy_index ei ON di.index_id = ei.index_id
+        WHERE
+        ei.energy_id != ''
+        AND mn.parent_id = #{indexId}
+        AND di.data_time BETWEEN   #{beginTime}  AND  #{endTime}
+        AND di.time_type =  #{timeType}
+    </select>
+
+    <select id="getDataItemHourInforByIndexIds" resultType="com.zhitan.realtimedata.domain.DataItem">
+        SELECT
+        index_id indexId,
+        data_time dataTime,
+        "value"
+        FROM
+        "data_item"
+        WHERE
+        index_id IN
+        <foreach collection="indexIds" item="indexId" open="(" separator="," close=")">
+            #{indexId}
+        </foreach>
+        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