数据20250904优化-单站监控首页点位数据展示

This commit is contained in:
2025-09-16 00:31:58 +08:00
parent 2bb78dc020
commit cb39131871
15 changed files with 457 additions and 20 deletions

View File

@ -391,7 +391,7 @@
select latest.dateHour as statisDate,
t.device_id as deviceId,
<include refid="dataTypeChooseFilter"/>
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.update_time, '%H')+1 AS dateHour,MAX(p.update_time) as max_update_time
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.update_time, '%H:00') AS dateHour,MAX(p.update_time) as max_update_time
FROM ems_battery_stack p
<include refid="statisCommonFilter"/>
GROUP BY p.site_id,p.device_id,dateHour
@ -443,4 +443,52 @@
and t.create_time = latest.max_time
where t.site_id = #{siteId}
</select>
<select id="getStackPointByHour" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.StackPointVo">
select latest.dateHour as statisDate,
avg(t.stack_soc) as avgSoc,
avg(t.stack_soh) as avgSoh,
avg(t.avg_temperature) as avgTemp
from ( SELECT p.site_id, p.device_id, DATE_FORMAT(p.update_time, '%H:00') AS dateHour,MAX(p.update_time) as max_update_time
FROM ems_battery_stack p
<include refid="statisCommonFilter"/>
GROUP BY p.site_id,p.device_id,dateHour
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
AND latest.device_id = t.device_id
AND latest.max_update_time = t.update_time
GROUP BY latest.dateHour
ORDER BY statisDate
</select>
<select id="getStackPointByDay" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.StackPointVo">
select latest.dateDay as statisDate,
avg(t.stack_soc) as avgSoc,
avg(t.stack_soh) as avgSoh,
avg(t.avg_temperature) as avgTemp
from ( SELECT p.site_id, p.device_id, DATE(p.update_time) AS dateDay,MAX(p.update_time) as max_update_time
FROM ems_battery_stack p
<include refid="statisCommonFilter"/>
GROUP BY p.site_id,p.device_id,dateDay
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
AND latest.device_id = t.device_id
AND latest.max_update_time = t.update_time
GROUP BY latest.dateDay
ORDER BY statisDate
</select>
<select id="getStackPointByMonth" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.StackPointVo">
select latest.dateMonth as statisDate,
avg(t.stack_soc) as avgSoc,
avg(t.stack_soh) as avgSoh,
avg(t.avg_temperature) as avgTemp
from ( SELECT p.site_id, p.device_id, DATE_FORMAT(p.update_time, '%Y-%m') AS dateMonth,MAX(p.update_time) as max_update_time
FROM ems_battery_stack p
<include refid="statisCommonFilter"/>
GROUP BY p.site_id,p.device_id,dateMonth
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
AND latest.device_id = t.device_id
AND latest.max_update_time = t.update_time
GROUP BY latest.dateMonth
ORDER BY statisDate
</select>
</mapper>