Merge remote-tracking branch 'origin/6170' into 6170

This commit is contained in:
2025-09-11 14:38:06 +08:00
29 changed files with 1634 additions and 37 deletions

View File

@ -321,11 +321,14 @@
<!-- 获取数据总览 -->
<select id="getDataOverview" resultType="com.fuyuanshen.equipment.domain.vo.DataOverviewVo">
SELECT (SELECT COUNT(1) FROM device) AS devicesNumber,
(SELECT COUNT(1) FROM device WHERE device_status = 1) AS equipmentOnline,
(SELECT COUNT(1) FROM device WHERE DATE (create_time) = CURDATE()) AS bindingNew, (
(SELECT COUNT(1) FROM device WHERE online_status = 1) AS equipmentOnline,
(SELECT COUNT(1) FROM device WHERE DATE (create_time) = CURDATE() AND binding_status = 1 ) AS bindingNew, (
SELECT COUNT (1)
FROM device
WHERE device_status = 2) AS equipmentAbnormal
WHERE binding_status = 1 ) AS binding, (
SELECT COUNT (1)
FROM device
WHERE online_status = 2) AS equipmentAbnormal
</select>
<!-- 获取设备分类 -->
@ -347,55 +350,67 @@
<!-- 获取告警信息 -->
<select id="getAlarmInformation" resultType="com.fuyuanshen.equipment.domain.vo.AlarmInformationVo">
SELECT (SELECT COUNT(1) FROM device_alarm WHERE treatment_state = 0 AND DATE (create_time) = CURDATE()) AS alarmsTotal, (
SELECT (SELECT COUNT(1) FROM device_alarm WHERE treatment_state = 0) AS alarmsTotal
, (SELECT COUNT(1)
FROM device_alarm
WHERE treatment_state = 0) AS processingAlarm
, (SELECT COUNT(1)
FROM device_alarm
WHERE treatment_state = 0 AND
DATE (create_time) = CURDATE()) AS alarmsTotalToday
, (
SELECT COUNT (1)
FROM device_alarm
WHERE treatment_state = 0
AND DATE (create_time) = CURDATE()) AS processingAlarm
AND DATE (create_time) = CURDATE()) AS processingAlarmToday
, (
SELECT COUNT (1)
FROM device_alarm
WHERE device_action = 0
AND DATE (create_time) = CURDATE()) AS alarmForced
) AS alarmForced
, (
SELECT COUNT (1)
FROM device_alarm
WHERE device_action = 1
AND DATE (create_time) = CURDATE()) AS intrusionImpact
) AS intrusionImpact
, (
SELECT COUNT (1)
FROM device_alarm
WHERE device_action = 2
AND DATE (create_time) = CURDATE()) AS alarmManual
) AS alarmManual
, (
SELECT COUNT (1)
FROM device_alarm
WHERE device_action = 3 AND DATE (create_time) = CURDATE()) AS fenceElectronic
WHERE device_action = 3) AS fenceElectronic
</select>
<!-- 获取设备使用数据 -->
<select id="getEquipmentUsageData" resultType="map">
SELECT COUNT(CASE WHEN MONTH (dl.create_time) = 1 THEN 1 END) AS m1,
COUNT(CASE WHEN MONTH (dl.create_time) = 2 THEN 1 END) AS m2,
COUNT(CASE WHEN MONTH (dl.create_time) = 3 THEN 1 END) AS m3,
COUNT(CASE WHEN MONTH (dl.create_time) = 4 THEN 1 END) AS m4,
COUNT(CASE WHEN MONTH (dl.create_time) = 5 THEN 1 END) AS m5,
COUNT(CASE WHEN MONTH (dl.create_time) = 6 THEN 1 END) AS m6,
COUNT(CASE WHEN MONTH (dl.create_time) = 7 THEN 1 END) AS m7,
COUNT(CASE WHEN MONTH (dl.create_time) = 8 THEN 1 END) AS m8,
COUNT(CASE WHEN MONTH (dl.create_time) = 9 THEN 1 END) AS m9,
COUNT(CASE WHEN MONTH (dl.create_time) = 10 THEN 1 END) AS m10,
COUNT(CASE WHEN MONTH (dl.create_time) = 11 THEN 1 END) AS m11,
COUNT(CASE WHEN MONTH (dl.create_time) = 12 THEN 1 END) AS m12
SELECT COUNT(CASE WHEN MONTH (dl.create_time) = 1 THEN 1 END) AS m1,
COUNT(CASE WHEN MONTH (dl.create_time) = 2 THEN 1 END) AS m2,
COUNT(CASE WHEN MONTH (dl.create_time) = 3 THEN 1 END) AS m3,
COUNT(CASE WHEN MONTH (dl.create_time) = 4 THEN 1 END) AS m4,
COUNT(CASE WHEN MONTH (dl.create_time) = 5 THEN 1 END) AS m5,
COUNT(CASE WHEN MONTH (dl.create_time) = 6 THEN 1 END) AS m6,
COUNT(CASE WHEN MONTH (dl.create_time) = 7 THEN 1 END) AS m7,
COUNT(CASE WHEN MONTH (dl.create_time) = 8 THEN 1 END) AS m8,
COUNT(CASE WHEN MONTH (dl.create_time) = 9 THEN 1 END) AS m9,
COUNT(CASE WHEN MONTH (dl.create_time) = 10 THEN 1 END) AS m10,
COUNT(CASE WHEN MONTH (dl.create_time) = 11 THEN 1 END) AS m11,
COUNT(CASE WHEN MONTH (dl.create_time) = 12 THEN 1 END) AS m12
FROM device_log dl
LEFT JOIN device d ON dl.device_id = d.id
LEFT JOIN device_type dt ON d.device_type = dt.id
WHERE dt.id = #{deviceId}
AND (
LEFT JOIN device d ON dl.device_id = d.id
LEFT JOIN device_type dt ON d.device_type = dt.id
<where>
<if test="deviceTypeId != null">
dt.id = #{deviceTypeId}
</if>
AND (
(#{range} = 1 AND dl.create_time >= DATE_SUB(NOW(), INTERVAL 6 MONTH)) OR
(#{range} = 2 AND dl.create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH))
)
</where>
</select>
<select id="getUsageDataForMonth" resultType="java.lang.Integer">