设备监控-实时运行页面曲线按照每分钟展示
This commit is contained in:
@ -331,18 +331,27 @@
|
||||
</select>
|
||||
|
||||
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
||||
select t.site_id,
|
||||
round(avg(t.avg_cell_temp)) as batteryTemp,
|
||||
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
||||
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||
from ems_battery_cluster t
|
||||
WHERE t.site_id = #{siteId}
|
||||
AND t.create_time >= #{startDate}
|
||||
AND t.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
GROUP BY t.site_id,
|
||||
DATE_FORMAT(t.create_time, '%Y-%m-%d'),
|
||||
DATE_FORMAT(t.create_time, '%H:00:00')
|
||||
ORDER BY dateDay, createDate
|
||||
WITH ranked AS (
|
||||
SELECT
|
||||
*,
|
||||
date_format(create_time, '%Y-%m-%d %H:00:00') + INTERVAL FLOOR(MINUTE(create_time) / 5) * 5 MINUTE AS group_time,
|
||||
ROW_NUMBER() OVER (PARTITION BY date_format(create_time, '%Y-%m-%d %H:00:00'), FLOOR(MINUTE(create_time) / 5) ORDER BY create_time) as rn
|
||||
FROM
|
||||
ems_battery_cluster
|
||||
where site_id = #{siteId}
|
||||
and create_time >= #{startDate}
|
||||
and create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
and avg_cell_temp is not null
|
||||
)
|
||||
SELECT
|
||||
site_id,
|
||||
round(avg(avg_cell_temp)) as batteryTemp,
|
||||
DATE_FORMAT(group_time, '%Y-%m-%d') as dateDay,
|
||||
DATE_FORMAT(group_time, '%H:%i:00') as createDate,
|
||||
group_time as groupTime
|
||||
FROM
|
||||
ranked
|
||||
GROUP BY site_id,groupTime
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
@ -351,18 +351,27 @@
|
||||
</delete>
|
||||
|
||||
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
||||
select t.site_id,
|
||||
round(avg(t.avg_temperature)) as batteryTemp,
|
||||
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
||||
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||
from ems_battery_stack t
|
||||
WHERE t.site_id = #{siteId}
|
||||
AND t.create_time >= #{startDate}
|
||||
AND t.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
GROUP BY t.site_id,
|
||||
DATE_FORMAT(t.create_time, '%Y-%m-%d'),
|
||||
DATE_FORMAT(t.create_time, '%H:00:00')
|
||||
ORDER BY dateDay, createDate
|
||||
WITH ranked AS (
|
||||
SELECT
|
||||
*,
|
||||
date_format(create_time, '%Y-%m-%d %H:00:00') + INTERVAL FLOOR(MINUTE(create_time) / 5) * 5 MINUTE AS group_time,
|
||||
ROW_NUMBER() OVER (PARTITION BY date_format(create_time, '%Y-%m-%d %H:00:00'), FLOOR(MINUTE(create_time) / 5) ORDER BY create_time) as rn
|
||||
FROM
|
||||
ems_battery_stack
|
||||
where site_id = #{siteId}
|
||||
and create_time >= #{startDate}
|
||||
and create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
and avg_temperature is not null
|
||||
)
|
||||
SELECT
|
||||
site_id,
|
||||
round(avg(avg_temperature)) as batteryTemp,
|
||||
DATE_FORMAT(group_time, '%Y-%m-%d') as dateDay,
|
||||
DATE_FORMAT(group_time, '%H:%i:00') as createDate,
|
||||
group_time as groupTime
|
||||
FROM
|
||||
ranked
|
||||
GROUP BY site_id,groupTime
|
||||
</select>
|
||||
|
||||
<sql id="statisCommonFilter">
|
||||
@ -501,15 +510,25 @@
|
||||
</select>
|
||||
|
||||
<select id="getAveSocList" resultType="com.xzzn.ems.domain.vo.BatteryAveSOCVo">
|
||||
select t.site_id,
|
||||
round(avg(t.stack_soc)) as batterySOC,
|
||||
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
||||
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||
from ems_battery_stack t
|
||||
where t.site_id = #{siteId}
|
||||
AND t.create_time >= #{startDate}
|
||||
AND t.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
GROUP BY t.site_id,dateDay,createDate
|
||||
order by dateDay,createDate
|
||||
WITH ranked AS (
|
||||
SELECT
|
||||
*,
|
||||
date_format(create_time, '%Y-%m-%d %H:00:00') + INTERVAL FLOOR(MINUTE(create_time) / 5) * 5 MINUTE AS group_time,
|
||||
ROW_NUMBER() OVER (PARTITION BY date_format(create_time, '%Y-%m-%d %H:00:00'), FLOOR(MINUTE(create_time) / 5) ORDER BY create_time) as rn
|
||||
FROM
|
||||
ems_battery_stack
|
||||
where site_id = #{siteId}
|
||||
and create_time >= #{startDate}
|
||||
and create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
)
|
||||
SELECT
|
||||
site_id,
|
||||
round(avg(stack_soc)) as batterySOC,
|
||||
DATE_FORMAT(group_time, '%Y-%m-%d') as dateDay,
|
||||
DATE_FORMAT(group_time, '%H:%i:00') as createDate,
|
||||
group_time as groupTime
|
||||
FROM
|
||||
ranked
|
||||
GROUP BY site_id,groupTime
|
||||
</select>
|
||||
</mapper>
|
||||
@ -469,30 +469,30 @@
|
||||
order by ammeterDate desc
|
||||
</select>
|
||||
|
||||
<select id="getStoragePowerList" resultType="com.xzzn.ems.domain.vo.EnergyStoragePowVo">
|
||||
<select id="getStoragePowerList" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.EnergyStoragePowVo">
|
||||
WITH ranked AS (
|
||||
SELECT
|
||||
*,
|
||||
ROW_NUMBER() OVER(PARTITION BY device_id , DATE_FORMAT(data_update_time, '%Y-%m-%d %H:%i') ORDER BY data_update_time DESC) as rn
|
||||
FROM
|
||||
ems_pcs_data
|
||||
where site_id = #{siteId}
|
||||
and data_update_time >= #{startDate}
|
||||
AND data_update_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
SELECT
|
||||
*,
|
||||
date_format(data_update_time, '%Y-%m-%d %H:00:00') + INTERVAL FLOOR(MINUTE(data_update_time) / 5) * 5 MINUTE AS group_time,
|
||||
ROW_NUMBER() OVER (PARTITION BY device_id, date_format(data_update_time, '%Y-%m-%d %H:00:00'), FLOOR(MINUTE(data_update_time) / 5) ORDER BY data_update_time) as rn
|
||||
FROM
|
||||
ems_pcs_data
|
||||
where site_id = #{siteId}
|
||||
and data_update_time >= #{startDate}
|
||||
and data_update_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
)
|
||||
select
|
||||
site_id,
|
||||
device_id as deviceId,
|
||||
total_active_power as pcsTotalActPower,
|
||||
total_reactive_power as pcsTotalReactivePower,
|
||||
DATE_FORMAT(create_time, '%Y-%m-%d') as dateDay,
|
||||
DATE_FORMAT(data_update_time, '%H:%i:00') as createDate
|
||||
from
|
||||
SELECT
|
||||
site_id,
|
||||
device_id as deviceId,
|
||||
total_active_power as pcsTotalActPower,
|
||||
total_reactive_power as pcsTotalReactivePower,
|
||||
DATE_FORMAT(group_time, '%Y-%m-%d') as dateDay,
|
||||
DATE_FORMAT(group_time, '%H:%i:00') as createDate,
|
||||
group_time as groupTime
|
||||
FROM
|
||||
ranked
|
||||
where
|
||||
WHERE
|
||||
rn = 1
|
||||
GROUP BY site_id, deviceId,pcsTotalActPower,pcsTotalReactivePower,dateDay,createDate
|
||||
ORDER BY dateDay,createDate
|
||||
</select>
|
||||
|
||||
<select id="getPcsDataByMonth" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
||||
@ -645,4 +645,37 @@
|
||||
group by deviceId,dateDay,createDate,temp
|
||||
order by dateDay,createDate
|
||||
</select>
|
||||
|
||||
<select id="getPcsMaxTemp" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsMaxTempVo">
|
||||
WITH ranked AS (
|
||||
SELECT
|
||||
*,
|
||||
date_format(data_update_time, '%Y-%m-%d %H:00:00') + INTERVAL FLOOR(MINUTE(data_update_time) / 5) * 5 MINUTE AS group_time,
|
||||
ROW_NUMBER() OVER (PARTITION BY device_id, date_format(data_update_time, '%Y-%m-%d %H:00:00'), FLOOR(MINUTE(data_update_time) / 5) ORDER BY data_update_time) as rn
|
||||
FROM
|
||||
ems_pcs_data
|
||||
where site_id = #{siteId}
|
||||
and data_update_time >= #{startDate}
|
||||
and data_update_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
||||
)
|
||||
SELECT
|
||||
site_id,
|
||||
device_id as deviceId,
|
||||
GREATEST(
|
||||
COALESCE(u_temperature, -999),
|
||||
COALESCE(v_temperature, -999),
|
||||
COALESCE(w_temperature, -999),
|
||||
COALESCE(module1_temp, -999),
|
||||
COALESCE(module2_temp, -999),
|
||||
COALESCE(module3_temp, -999),
|
||||
COALESCE(module4_temp, -999)
|
||||
) AS temp,
|
||||
DATE_FORMAT(group_time, '%Y-%m-%d') as dateDay,
|
||||
DATE_FORMAT(group_time, '%H:%i:00') as createDate,
|
||||
group_time as groupTime
|
||||
FROM
|
||||
ranked
|
||||
WHERE
|
||||
rn = 1
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user