数据20250904优化-功率曲线取值修改
This commit is contained in:
@ -963,4 +963,63 @@
|
||||
WHERE rn = 1
|
||||
ORDER BY ammeterDate
|
||||
</select>
|
||||
|
||||
<sql id="powerFilter">
|
||||
MAX(CASE WHEN t.device_id = 'METE' THEN t.secondary_total_active_power END) AS gridPower,
|
||||
MAX(CASE WHEN t.device_id = 'LOAD' THEN t.total_active_power END) AS storagePower,
|
||||
MAX(CASE WHEN t.device_id = 'METEGF' THEN t.total_active_power END) AS pvPower
|
||||
</sql>
|
||||
|
||||
<sql id="commonFilter">
|
||||
WHERE p.device_id in ('METE','LOAD','METEGF')
|
||||
and p.site_id = #{siteId}
|
||||
<if test="startDate != null">
|
||||
AND p.data_update_time >= #{startDate}
|
||||
</if>
|
||||
<if test="endDate != null">
|
||||
AND p.data_update_time < #{endDate}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<select id="getPowerDataByHour" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PowerStatisListVo">
|
||||
select latest.dateHour as statisDate,
|
||||
<include refid="powerFilter"/>
|
||||
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%H')+1 AS dateHour,MAX(p.data_update_time) as max_update_time
|
||||
FROM ems_ammeter_data p
|
||||
<include refid="commonFilter"/>
|
||||
GROUP BY p.site_id,p.device_id,dateHour
|
||||
) latest inner join ems_ammeter_data t ON latest.site_id = t.site_id
|
||||
AND latest.device_id = t.device_id
|
||||
AND latest.max_update_time = t.data_update_time
|
||||
GROUP BY statisDate
|
||||
order by statisDate desc
|
||||
</select>
|
||||
|
||||
<select id="getPowerDataByDay" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PowerStatisListVo">
|
||||
select latest.dateDay as statisDate,
|
||||
<include refid="powerFilter"/>
|
||||
from ( SELECT p.site_id, p.device_id, DATE(p.data_update_time ) AS dateDay,MAX(p.data_update_time) as max_update_time
|
||||
FROM ems_ammeter_data p
|
||||
<include refid="commonFilter"/>
|
||||
GROUP BY p.site_id,p.device_id,dateDay
|
||||
) latest inner join ems_ammeter_data t ON latest.site_id = t.site_id
|
||||
AND latest.device_id = t.device_id
|
||||
AND latest.max_update_time = t.data_update_time
|
||||
GROUP BY statisDate
|
||||
order by statisDate desc
|
||||
</select>
|
||||
|
||||
<select id="getPowerDataByMonth" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PowerStatisListVo">
|
||||
select latest.dateMonth as statisDate,
|
||||
<include refid="powerFilter"/>
|
||||
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%Y-%m') as dateMonth,MAX(p.data_update_time) as max_update_time
|
||||
FROM ems_ammeter_data p
|
||||
<include refid="commonFilter"/>
|
||||
GROUP BY p.site_id,p.device_id,dateMonth
|
||||
) latest inner join ems_ammeter_data t ON latest.site_id = t.site_id
|
||||
AND latest.device_id = t.device_id
|
||||
AND latest.max_update_time = t.data_update_time
|
||||
GROUP BY statisDate
|
||||
order by statisDate desc
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user