From cb317ade91a71a6c55f776f7a69c4cd87f4ea0fa Mon Sep 17 00:00:00 2001
From: VVT789 <sdxt_0802@163.com>
Date: 星期五, 21 三月 2025 15:44:59 +0800
Subject: [PATCH] 能耗统计,重点设备能耗,工序能耗优化

---
 zhitan-system/src/main/resources/mapper/dailyprocessenergy/DailyProcessEnergyMapper.xml        |   45 ++++---
 zhitan-system/src/main/resources/mapper/keyequipment/DailyKeyEquipmentMapper.xml               |   55 +++++----
 zhitan-system/src/main/resources/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml             |   43 ++++---
 zhitan-system/src/main/resources/mapper/dailyprocessenergy/MonthlyProcessEnergyMapper.xml      |   55 +++++----
 zhitan-system/src/main/resources/mapper/comprehensivestatistics/MonthlyComprehensiveMapper.xml |    4 
 zhitan-system/src/main/resources/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml   |    4 
 zhitan-system/src/main/resources/mapper/comprehensivestatistics/YearComprehensiveMapper.xml    |   12 +
 zhitan-system/src/main/resources/mapper/dailyprocessenergy/YearProcessEnergyMapper.xml         |   55 +++++----
 zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml                |   58 +++++----
 9 files changed, 188 insertions(+), 143 deletions(-)

diff --git a/zhitan-system/src/main/resources/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml b/zhitan-system/src/main/resources/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml
index 99bdde1..329e365 100644
--- a/zhitan-system/src/main/resources/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml
@@ -39,6 +39,7 @@
         SELECT
             aa.index_id,
             aa.index_name,
+            aa.unit_id,
             <foreach item="item" index="index" collection="dataList">
                 COALESCE ( MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ), null ) AS ${item.value},
             </foreach>
@@ -49,6 +50,7 @@
             SELECT
                 ni.index_id,
                 ei."name" AS "index_name",
+                ei.unit_id,
                 di."value",
                 di.data_time,
                 di.time_type,
@@ -68,7 +70,7 @@
                 </if>
             ) aa
         GROUP BY
-            aa.index_id, aa.index_name, aa.time_type, aa.order_num
+            aa.index_id, aa.index_name, aa.unit_id, aa.time_type, aa.order_num
         ORDER BY aa.order_num ASC
     </select>
 
diff --git a/zhitan-system/src/main/resources/mapper/comprehensivestatistics/MonthlyComprehensiveMapper.xml b/zhitan-system/src/main/resources/mapper/comprehensivestatistics/MonthlyComprehensiveMapper.xml
index 7de48b9..93c68d9 100644
--- a/zhitan-system/src/main/resources/mapper/comprehensivestatistics/MonthlyComprehensiveMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/comprehensivestatistics/MonthlyComprehensiveMapper.xml
@@ -46,6 +46,7 @@
         SELECT
             aa.index_id,
             aa.index_name,
+            aa.unit_id,
         <foreach item="item" index="index" collection="dataList">
             COALESCE ( MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ), null ) AS ${item.value},
         </foreach>
@@ -56,6 +57,7 @@
             SELECT
                 ni.index_id,
                 ei."name" AS "index_name",
+                ei.unit_id,
                 di."value",
                 di.data_time,
                 di.time_type,
@@ -75,7 +77,7 @@
             </if>
         ) aa
         GROUP BY
-        aa.index_id, aa.index_name, aa.time_type, aa.order_num
+        aa.index_id, aa.index_name, aa.unit_id, aa.time_type, aa.order_num
         ORDER BY aa.order_num ASC
     </select>
 
diff --git a/zhitan-system/src/main/resources/mapper/comprehensivestatistics/YearComprehensiveMapper.xml b/zhitan-system/src/main/resources/mapper/comprehensivestatistics/YearComprehensiveMapper.xml
index e36e03c..7aabc8e 100644
--- a/zhitan-system/src/main/resources/mapper/comprehensivestatistics/YearComprehensiveMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/comprehensivestatistics/YearComprehensiveMapper.xml
@@ -27,6 +27,7 @@
         SELECT
             aa.index_id,
             aa.index_name,
+            aa.unit_id,
             <foreach item="item" index="index" collection="dataList">
                 COALESCE ( MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ), null ) AS ${item.value},
             </foreach>
@@ -37,6 +38,7 @@
             SELECT
                 ni.index_id,
                 ei."name" AS "index_name",
+                ei.unit_id,
                 di."value",
                 di.data_time,
                 di.time_type,
@@ -51,12 +53,12 @@
                 AND di.data_time >= #{beginTime}
                 AND di.data_time &lt;= #{endTime}
                 AND di.time_type = #{timeType}
-            <if test="indexStorageId !='' and indexStorageId !=null">
-                and ei.energy_id=#{indexStorageId}
-            </if>
+                <if test="indexStorageId !='' and indexStorageId !=null">
+                    and ei.energy_id=#{indexStorageId}
+                </if>
         ) aa
-        GROUP BY aa.index_id, aa.index_name, aa.time_type, aa.order_num
-        ORDER BY aa.order_num ASC
+            GROUP BY aa.index_id, aa.index_name, aa.unit_id, aa.time_type, aa.order_num
+            ORDER BY aa.order_num ASC
     </select>
 
     <select id="getListChart" resultMap="dataItemMap">
diff --git a/zhitan-system/src/main/resources/mapper/dailyprocessenergy/DailyProcessEnergyMapper.xml b/zhitan-system/src/main/resources/mapper/dailyprocessenergy/DailyProcessEnergyMapper.xml
index a8b42b9..40ae3e7 100644
--- a/zhitan-system/src/main/resources/mapper/dailyprocessenergy/DailyProcessEnergyMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dailyprocessenergy/DailyProcessEnergyMapper.xml
@@ -38,32 +38,39 @@
         SELECT
         aa.index_id,
         aa.index_name,
+        aa.unit_id,
         <foreach item="item" index="index" collection="dataList">
             MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ) AS ${item.value},
         </foreach>
         aa.time_type
         FROM
         (
-        SELECT
-        ci.index_id,
-        ci.NAME  AS "index_name",
-        di."value",
-        di.data_time,
-        di.time_type
-        FROM
-        data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id
-        LEFT JOIN facility_archives f ON f."id"=ci.equipment
-        WHERE
-        di.data_time >= #{beginTime}
-        AND di.data_time &lt; #{endTime}
-        AND di.index_id IN <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">#{indexId} </foreach>
-        AND di.time_type = #{timeType}
-        <if test="indexStorageId !='' and indexStorageId !=null">
-            and ci.energy_id=#{indexStorageId}
-        </if>
-        ) aa
+            SELECT
+                ni.index_id,
+                ei.NAME  AS "index_name",
+                ei.unit_id,
+                di."value",
+                di.data_time,
+                di.time_type
+            FROM
+                model_node mn
+                LEFT JOIN node_index ni ON ni.node_id = mn.node_id
+                LEFT JOIN energy_index ei ON ei.index_id = ni.index_id
+                LEFT JOIN data_item di ON ni.index_id = di.index_id
+            WHERE
+                di.data_time >= #{beginTime}
+                AND di.data_time &lt; #{endTime}
+                AND di.index_id IN
+                    <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">
+                        #{indexId}
+                    </foreach>
+                AND di.time_type = #{timeType}
+                <if test="indexStorageId !='' and indexStorageId !=null">
+                    and ei.energy_id=#{indexStorageId}
+                </if>
+            ) aa
         GROUP BY
-        aa.index_id,aa.index_name,aa.time_type
+            aa.index_id, aa.index_name, aa.unit_id, aa.time_type
     </select>
 
     <select id="getListChart" resultMap="dataItemMap">
diff --git a/zhitan-system/src/main/resources/mapper/dailyprocessenergy/MonthlyProcessEnergyMapper.xml b/zhitan-system/src/main/resources/mapper/dailyprocessenergy/MonthlyProcessEnergyMapper.xml
index 544eba7..883f51a 100644
--- a/zhitan-system/src/main/resources/mapper/dailyprocessenergy/MonthlyProcessEnergyMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dailyprocessenergy/MonthlyProcessEnergyMapper.xml
@@ -44,34 +44,41 @@
 
     <select id="getMonthlyProcessEnergy" resultMap="dataItemMap">
         SELECT
-        aa.index_id,
-        aa.index_name,
-        <foreach item="item" index="index" collection="dataList">
-            MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ) AS ${item.value},
-        </foreach>
-        aa.time_type
+            aa.index_id,
+            aa.index_name,
+            aa.unit_id,
+            <foreach item="item" index="index" collection="dataList">
+                MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ) AS ${item.value},
+            </foreach>
+            aa.time_type
         FROM
         (
-        SELECT
-        ci.index_id,
-        ci.NAME  AS "index_name",
-        di."value",
-        di.data_time,
-        di.time_type
-        FROM
-        data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id
-        LEFT JOIN facility_archives f ON f."id"=ci.equipment
-        WHERE
-        di.data_time >= #{beginTime}
-        AND di.data_time &lt; #{endTime}
-        AND di.index_id IN <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">#{indexId} </foreach>
-        AND di.time_type = #{timeType}
-        <if test="indexStorageId !='' and indexStorageId !=null">
-            and ci.energy_id=#{indexStorageId}
-        </if>
+            SELECT
+                ni.index_id,
+                ei.NAME  AS "index_name",
+                ei.unit_id,
+                di."value",
+                di.data_time,
+                di.time_type
+            FROM
+                model_node mn
+                LEFT JOIN node_index ni ON ni.node_id = mn.node_id
+                LEFT JOIN energy_index ei ON ei.index_id = ni.index_id
+                LEFT JOIN data_item di ON ni.index_id = di.index_id
+            WHERE
+                di.data_time >= #{beginTime}
+                AND di.data_time &lt; #{endTime}
+                AND di.index_id IN
+                    <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">
+                        #{indexId}
+                    </foreach>
+                AND di.time_type = #{timeType}
+                <if test="indexStorageId !='' and indexStorageId !=null">
+                    and ei.energy_id=#{indexStorageId}
+                </if>
         ) aa
         GROUP BY
-        aa.index_id,aa.index_name,aa.time_type
+            aa.index_id, aa.index_name, aa.unit_id, aa.time_type
     </select>
 
     <select id="getListChart" resultMap="dataItemMap">
diff --git a/zhitan-system/src/main/resources/mapper/dailyprocessenergy/YearProcessEnergyMapper.xml b/zhitan-system/src/main/resources/mapper/dailyprocessenergy/YearProcessEnergyMapper.xml
index e1a384f..f8a72a3 100644
--- a/zhitan-system/src/main/resources/mapper/dailyprocessenergy/YearProcessEnergyMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dailyprocessenergy/YearProcessEnergyMapper.xml
@@ -25,34 +25,41 @@
 
     <select id="getYearProcessEnergy" resultMap="dataItemMap">
         SELECT
-        aa.index_id,
-        aa.index_name,
-        <foreach item="item" index="index" collection="dataList">
-            MAX ( CASE WHEN data_time = #{item.dateTime} THEN "value" END ) AS ${item.value},
-        </foreach>
-        aa.time_type
+            aa.index_id,
+            aa.index_name,
+            aa.unit_id,
+            <foreach item="item" index="index" collection="dataList">
+                MAX ( CASE WHEN data_time = #{item.dateTime} THEN "value" END ) AS ${item.value},
+            </foreach>
+            aa.time_type
         FROM
         (
-        SELECT
-        ci.index_id,
-        ci.NAME  AS "index_name",
-        di."value",
-        di.data_time,
-        di.time_type
-        FROM
-        data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id
-        LEFT JOIN facility_archives f ON f."id"=ci.equipment
-        WHERE
-        di.data_time >= #{beginTime}
-        AND di.data_time &lt; #{endTime}
-        AND di.index_id IN <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">#{indexId} </foreach>
-        AND di.time_type = #{timeType}
-        <if test="indexStorageId !='' and indexStorageId !=null">
-            and ci.energy_id=#{indexStorageId}
-        </if>
+            SELECT
+                ni.index_id,
+                ei.NAME  AS "index_name",
+                ei.unit_id,
+                di."value",
+                di.data_time,
+                di.time_type
+            FROM
+                model_node mn
+                LEFT JOIN node_index ni ON ni.node_id = mn.node_id
+                LEFT JOIN energy_index ei ON ei.index_id = ni.index_id
+                LEFT JOIN data_item di ON ni.index_id = di.index_id
+            WHERE
+                di.data_time >= #{beginTime}
+                AND di.data_time &lt; #{endTime}
+                AND di.index_id IN
+                    <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">
+                        #{indexId}
+                    </foreach>
+                AND di.time_type = #{timeType}
+                <if test="indexStorageId !='' and indexStorageId !=null">
+                    and ei.energy_id=#{indexStorageId}
+                </if>
         ) aa
         GROUP BY
-        aa.index_id,aa.index_name,aa.time_type
+            aa.index_id, aa.index_name, aa.unit_id, aa.time_type
     </select>
 
     <select id="getListChart" resultMap="dataItemMap">
diff --git a/zhitan-system/src/main/resources/mapper/keyequipment/DailyKeyEquipmentMapper.xml b/zhitan-system/src/main/resources/mapper/keyequipment/DailyKeyEquipmentMapper.xml
index 3ddc977..87617e8 100644
--- a/zhitan-system/src/main/resources/mapper/keyequipment/DailyKeyEquipmentMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/keyequipment/DailyKeyEquipmentMapper.xml
@@ -36,34 +36,41 @@
     </resultMap>
     <select id="getdailyKeyEquipmentList" resultMap="dataItemMap">
         SELECT
-        aa.index_id,
-        aa.index_name,
-        <foreach item="item" index="index" collection="dataList">
-            MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ) AS ${item.value},
-        </foreach>
-        aa.time_type
+            aa.index_id,
+            aa.index_name,
+            aa.unit_id,
+            <foreach item="item" index="index" collection="dataList">
+                MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ) AS ${item.value},
+            </foreach>
+            aa.time_type
         FROM
         (
-        SELECT
-        ci.index_id,
-        ci.NAME  AS "index_name",
-        di."value",
-        di.data_time,
-        di.time_type
-        FROM
-        data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id
-        LEFT JOIN facility_archives f ON f."id"=ci.equipment
-        WHERE
-        di.data_time >= #{beginTime}
-        AND di.data_time &lt; #{endTime}
-        AND di.index_id IN <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">#{indexId} </foreach>
-        AND di.time_type = #{timeType}
-        <if test="indexStorageId !='' and indexStorageId !=null">
-            and ci.energy_id=#{indexStorageId}
-        </if>
+            SELECT
+                ni.index_id,
+                ei.NAME  AS "index_name",
+                ei.unit_id,
+                di."value",
+                di.data_time,
+                di.time_type
+            FROM
+                model_node mn
+                LEFT JOIN node_index ni ON ni.node_id = mn.node_id
+                LEFT JOIN energy_index ei ON ei.index_id = ni.index_id
+                LEFT JOIN data_item di ON ni.index_id = di.index_id
+            WHERE
+                di.data_time >= #{beginTime}
+                AND di.data_time &lt; #{endTime}
+                AND di.index_id IN
+                    <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">
+                        #{indexId}
+                    </foreach>
+                AND di.time_type = #{timeType}
+                <if test="indexStorageId !='' and indexStorageId !=null">
+                    and ei.energy_id=#{indexStorageId}
+                </if>
         ) aa
         GROUP BY
-        aa.index_id,aa.index_name,aa.time_type
+            aa.index_id, aa.index_name, aa.unit_id, aa.time_type
     </select>
 
     <select id="getListChart" resultMap="dataItemMap">
diff --git a/zhitan-system/src/main/resources/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml b/zhitan-system/src/main/resources/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml
index 7e519d1..d279c75 100644
--- a/zhitan-system/src/main/resources/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml
@@ -46,32 +46,39 @@
         SELECT
         aa.index_id,
         aa.index_name,
+        aa.unit_id,
         <foreach item="item" index="index" collection="dataList">
             MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ) AS ${item.value},
         </foreach>
         aa.time_type
         FROM
         (
-        SELECT
-        ci.index_id,
-        ci.NAME  AS "index_name",
-        di."value",
-        di.data_time,
-        di.time_type
-        FROM
-        data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id
-        LEFT JOIN facility_archives f ON f."id"=ci.equipment
-        WHERE
-        di.data_time >= #{beginTime}
-        AND di.data_time &lt; #{endTime}
-        AND di.index_id IN <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">#{indexId} </foreach>
-        AND di.time_type = #{timeType}
-        <if test="indexStorageId !='' and indexStorageId !=null">
-            and ci.energy_id=#{indexStorageId}
-        </if>
+            SELECT
+                ni.index_id,
+                ei.NAME  AS "index_name",
+                ei.unit_id,
+                di."value",
+                di.data_time,
+                di.time_type
+            FROM
+                model_node mn
+                LEFT JOIN node_index ni ON ni.node_id = mn.node_id
+                LEFT JOIN energy_index ei ON ei.index_id = ni.index_id
+                LEFT JOIN data_item di ON ni.index_id = di.index_id
+            WHERE
+                di.data_time >= #{beginTime}
+                AND di.data_time &lt; #{endTime}
+                AND di.index_id IN
+                    <foreach item="indexId" index="index" collection="indexIds"  open="(" separator="," close=")">
+                        #{indexId}
+                    </foreach>
+                AND di.time_type = #{timeType}
+                <if test="indexStorageId !='' and indexStorageId !=null">
+                    and ei.energy_id=#{indexStorageId}
+                </if>
         ) aa
         GROUP BY
-        aa.index_id,aa.index_name,aa.time_type
+            aa.index_id, aa.index_name, aa.unit_id, aa.time_type
     </select>
 
     <select id="getListChart" resultMap="dataItemMap">
diff --git a/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml b/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml
index 1777718..c1c6dcf 100644
--- a/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml
@@ -25,37 +25,41 @@
     <!--鍏ㄥ巶鑳借�楃粺璁�-->
     <select id="getYearKeyEquipmentList" resultMap="dataItemMap">
         SELECT
-        aa.index_id,
-        aa.index_name,
-        <foreach item="item" index="index" collection="dataList">
-            MAX ( CASE WHEN data_time = #{item.dateTime} THEN "value" END ) AS ${item.value},
-        </foreach>
-        aa.time_type
+            aa.index_id,
+            aa.index_name,
+            aa.unit_id,
+            <foreach item="item" index="index" collection="dataList">
+                MAX ( CASE WHEN data_time = #{item.dateTime} THEN "value" END ) AS ${item.value},
+            </foreach>
+            aa.time_type
         FROM
         (
-        SELECT
-        ci.index_id,
-        ci.NAME AS "index_name",
-        di."value",
-        di.data_time,
-        di.time_type
-        FROM
-        data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id
-        LEFT JOIN facility_archives f ON f."id"=ci.equipment
-        WHERE
-        di.data_time &gt;= #{beginTime}
-        AND di.data_time &lt; #{endTime}
-        AND di.index_id IN
-        <foreach item="indexId" index="index" collection="indexIds" open="(" separator="," close=")">
-            #{indexId}
-        </foreach>
-        AND di.time_type = #{timeType}
-        <if test="indexStorageId !='' and indexStorageId !=null">
-            and ci.energy_id=#{indexStorageId}
-        </if>
+            SELECT
+                ni.index_id,
+                ei.NAME AS "index_name",
+                ei.unit_id,
+                di."value",
+                di.data_time,
+                di.time_type
+            FROM
+                model_node mn
+                LEFT JOIN node_index ni ON ni.node_id = mn.node_id
+                LEFT JOIN energy_index ei ON ei.index_id = ni.index_id
+                LEFT JOIN data_item di ON ni.index_id = di.index_id
+            WHERE
+                di.data_time &gt;= #{beginTime}
+                AND di.data_time &lt; #{endTime}
+                AND di.index_id IN
+                    <foreach item="indexId" index="index" collection="indexIds" open="(" separator="," close=")">
+                        #{indexId}
+                    </foreach>
+                AND di.time_type = #{timeType}
+                <if test="indexStorageId !='' and indexStorageId !=null">
+                    and ei.energy_id=#{indexStorageId}
+                </if>
         ) aa
         GROUP BY
-        aa.index_id,aa.index_name,aa.time_type
+            aa.index_id, aa.index_name, aa.unit_id, aa.time_type
     </select>
 
     <select id="getListChart" resultMap="dataItemMap">

--
Gitblit v1.9.3