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 | 86 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 81 insertions(+), 5 deletions(-) diff --git a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml index d64ec15..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 >= #{beginTime} AND data_time <= #{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, @@ -161,7 +161,7 @@ WHEN di.time_type = 'DAY' THEN TO_CHAR( di.create_time, 'DD' ) WHEN di.time_type = 'HOUR' THEN - TO_CHAR( di.data_time, 'HH' ) + TO_CHAR( di.data_time, 'HH24' ) ELSE TO_CHAR( di.data_time, 'YYMMDD' ) END AS dataTimeStr, di.value, @@ -199,4 +199,80 @@ 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