大屏数据

This commit is contained in:
2025-09-27 15:30:12 +08:00
parent b7c81419a4
commit 2d59397de5
32 changed files with 1032 additions and 39 deletions

View File

@ -14,7 +14,8 @@
left join device_type dt on dt.id = d.device_type
<where>
<if test="bo.content != null">
and d.device_name like concat('%', #{bo.content}, '%') or dt.type_name like concat('%', #{bo.content}, '%')
and d.device_name like concat('%', #{bo.content}, '%') or dt.type_name like concat('%', #{bo.content},
'%')
</if>
<if test="bo.deviceName != null">
and d.device_name like concat('%', #{bo.deviceName}, '%')
@ -51,4 +52,52 @@
</select>
</mapper>
<!-- 获取实时告警列表 -->
<select id="getRealtimeAlarm" resultType="com.fuyuanshen.equipment.domain.vo.DeviceAlarmVo">
select da.*,
d.device_mac as deviceMac,
d.device_imei as deviceImei,
d.device_name as deviceName,
d.device_type as deviceType,
d.type_name as deviceTypeName,
d.device_pic as devicePic
from device_alarm da
left join device d on da.device_id = d.id
left join device_type dt on dt.id = d.device_type
WHERE da.treatment_state = 1
order by da.create_time DESC
</select>
<!-- 获取报警统计数据 -->
<select id="getAlarmStatistics" resultType="com.fuyuanshen.equipment.domain.vo.AlarmStatisticsVo">
SELECT
(SELECT COUNT(1) FROM device_alarm WHERE treatment_state = 1) AS activeAlarms,
(SELECT COUNT(1) FROM device_alarm) AS totalAlarms,
(SELECT COUNT(1) FROM device_alarm WHERE treatment_state = 0) AS processedAlarms,
(SELECT COUNT(1) FROM device_alarm WHERE device_action = 0) AS forcedAlarms,
(SELECT COUNT(1) FROM device_alarm WHERE device_action = 1) AS intrusionImpactAlarms,
(SELECT COUNT(1) FROM device_alarm WHERE device_action = 2) AS manualAlarms,
(SELECT COUNT(1) FROM device_alarm WHERE device_action = 3) AS geoFenceAlarms
</select>
<!-- 获取最近一年每月告警统计数据 -->
<select id="getMonthlyAlarmStatistics" resultType="map">
SELECT
COUNT(CASE WHEN MONTH(create_time) = 1 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m1,
COUNT(CASE WHEN MONTH(create_time) = 2 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m2,
COUNT(CASE WHEN MONTH(create_time) = 3 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m3,
COUNT(CASE WHEN MONTH(create_time) = 4 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m4,
COUNT(CASE WHEN MONTH(create_time) = 5 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m5,
COUNT(CASE WHEN MONTH(create_time) = 6 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m6,
COUNT(CASE WHEN MONTH(create_time) = 7 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m7,
COUNT(CASE WHEN MONTH(create_time) = 8 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m8,
COUNT(CASE WHEN MONTH(create_time) = 9 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m9,
COUNT(CASE WHEN MONTH(create_time) = 10 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m10,
COUNT(CASE WHEN MONTH(create_time) = 11 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m11,
COUNT(CASE WHEN MONTH(create_time) = 12 AND create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) THEN 1 END) AS m12
FROM device_alarm
WHERE create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH)
</select>
</mapper>