数据20250904优化-单站监控首页点位数据展示
This commit is contained in:
@ -984,7 +984,7 @@
|
||||
<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 ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%H:00') 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
|
||||
|
||||
@ -374,4 +374,53 @@
|
||||
AND latest.max_update_time = t.update_time
|
||||
ORDER BY statisDate
|
||||
</select>
|
||||
|
||||
<sql id="statisCommonFilter">
|
||||
WHERE p.site_id = #{siteId}
|
||||
<if test="startDate != null">
|
||||
AND p.update_time >= #{startDate}
|
||||
</if>
|
||||
<if test="endDate != null">
|
||||
AND p.update_time < #{endDate}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<select id="getAvgTempByHour" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="java.util.Map">
|
||||
SELECT latest.statisDate, avg(t.avg_cell_temp) as avgTemp
|
||||
FROM ( SELECT p.site_id, p.device_id, DATE_FORMAT( p.update_time, '%H:00') AS statisDate, MAX(p.update_time) AS max_update_time
|
||||
FROM ems_battery_cluster p
|
||||
<include refid="statisCommonFilter"/>
|
||||
GROUP BY p.site_id, p.device_id, statisDate
|
||||
) latest INNER JOIN ems_battery_cluster 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 statisDate
|
||||
ORDER BY statisDate
|
||||
</select>
|
||||
|
||||
<select id="getAvgTempByDay" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="java.util.Map">
|
||||
SELECT latest.statisDate, avg(t.avg_cell_temp) as avgTemp
|
||||
FROM ( SELECT p.site_id, p.device_id, DATE( p.update_time) AS statisDate, MAX(p.update_time) AS max_update_time
|
||||
FROM ems_battery_cluster p
|
||||
<include refid="statisCommonFilter"/>
|
||||
GROUP BY p.site_id, p.device_id, statisDate
|
||||
) latest INNER JOIN ems_battery_cluster 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 statisDate
|
||||
ORDER BY statisDate
|
||||
</select>
|
||||
|
||||
<select id="getAvgTempByMonth" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="java.util.Map">
|
||||
SELECT latest.statisDate, avg(t.avg_cell_temp) as avgTemp
|
||||
FROM ( SELECT p.site_id, p.device_id, DATE_FORMAT(p.update_time, '%Y-%m') AS statisDate, MAX(p.update_time) AS max_update_time
|
||||
FROM ems_battery_cluster p
|
||||
<include refid="statisCommonFilter"/>
|
||||
GROUP BY p.site_id, p.device_id, statisDate
|
||||
) latest INNER JOIN ems_battery_cluster 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 statisDate
|
||||
ORDER BY statisDate
|
||||
</select>
|
||||
</mapper>
|
||||
@ -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>
|
||||
@ -456,7 +456,7 @@
|
||||
select latest.dateHour as ammeterDate,
|
||||
sum(t.daily_ac_charge_energy) as chargedCap,
|
||||
sum(t.daily_ac_discharge_energy) as disChargedCap
|
||||
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 ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%H:00') AS dateHour,MAX(p.data_update_time) as max_update_time
|
||||
FROM ems_pcs_data p
|
||||
<include refid="commonFilter"/>
|
||||
GROUP BY p.site_id,p.device_id,dateHour
|
||||
@ -530,7 +530,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.data_update_time, '%H')+1 AS dateHour,MAX(p.data_update_time) as max_update_time
|
||||
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%H:00') AS dateHour,MAX(p.data_update_time) as max_update_time
|
||||
FROM ems_pcs_data p
|
||||
<include refid="statisCommonFilter"/>
|
||||
GROUP BY p.site_id,p.device_id,dateHour
|
||||
|
||||
Reference in New Issue
Block a user