|
|
@@ -8,6 +8,13 @@
|
|
|
WHERE o.path like CONCAT((select path from sys_org where id = #{orgId}), '%')
|
|
|
and di.deleted = 0
|
|
|
GROUP BY di.device_type
|
|
|
+ union all
|
|
|
+ SELECT di.sensor_type as device_type, count(0) as count
|
|
|
+ FROM iot_alarm_defence_area di
|
|
|
+ INNER JOIN sys_org o on di.org_id = o.id and o.deleted = 0 and o.is_lock = 0
|
|
|
+ WHERE o.path like CONCAT((select path from sys_org where id = #{orgId}), '%')
|
|
|
+ and di.deleted = 0
|
|
|
+ GROUP BY di.sensor_type
|
|
|
</select>
|
|
|
|
|
|
<select id="orgDeviceCount" resultType="com.xunmei.iot.dto.webStatisticBoard.BoardDeviceCountDto">
|
|
|
@@ -17,6 +24,13 @@
|
|
|
WHERE o.path like CONCAT((select path from sys_org where id = #{orgId}), '%')
|
|
|
and di.deleted = 0
|
|
|
GROUP BY di.device_type, o.id, o.path
|
|
|
+ union all
|
|
|
+ SELECT o.id as orgId, o.path as orgPath, di.sensor_type as device_type, count(0) as count
|
|
|
+ FROM iot_alarm_defence_area di
|
|
|
+ INNER JOIN sys_org o on di.org_id = o.id and o.deleted = 0 and o.is_lock = 0
|
|
|
+ WHERE o.path like CONCAT((select path from sys_org where id = #{orgId}), '%')
|
|
|
+ and di.deleted = 0
|
|
|
+ GROUP BY di.sensor_type, o.id, o.path
|
|
|
</select>
|
|
|
|
|
|
<select id="protection" resultType="com.xunmei.iot.vo.webStatisticBoard.BoardProtectionVo">
|
|
|
@@ -87,16 +101,26 @@
|
|
|
limit 3
|
|
|
</select>
|
|
|
<select id="alarmRate" resultType="com.xunmei.iot.vo.webStatisticBoard.BoardAlarmRateVo">
|
|
|
- SELECT sum(ds.state = 0) normalCount,
|
|
|
- sum(ds.state = 1) alarmCount
|
|
|
- FROM iot_device_info di
|
|
|
- INNER JOIN sys_org o ON di.org_id = o.id
|
|
|
- AND o.deleted = 0
|
|
|
- AND o.is_lock = 0
|
|
|
- AND o.path LIKE concat((SELECT path FROM sys_org WHERE id = #{orgId}),
|
|
|
- '%')
|
|
|
- INNER JOIN iot_device_status ds
|
|
|
- ON di.id = ds.device_id
|
|
|
+ SELECT sum(normalCount) as normalCount, sum(alarmCount) as alarmCount
|
|
|
+ from (SELECT sum(ds.state = 0) normalCount,
|
|
|
+ sum(ds.state = 1) alarmCount
|
|
|
+ FROM iot_device_info di
|
|
|
+ INNER JOIN sys_org o ON di.org_id = o.id
|
|
|
+ AND o.deleted = 0
|
|
|
+ AND o.is_lock = 0
|
|
|
+ AND o.path LIKE concat((SELECT path FROM sys_org WHERE id = #{orgId}),
|
|
|
+ '%')
|
|
|
+ INNER JOIN iot_device_status ds
|
|
|
+ ON di.id = ds.device_id
|
|
|
+ union all
|
|
|
+ SELECT sum(di.state = 'normal') normalCount,
|
|
|
+ sum(di.state = 'alarm') alarmCount
|
|
|
+ FROM iot_alarm_defence_area di
|
|
|
+ INNER JOIN sys_org o ON di.org_id = o.id
|
|
|
+ AND o.deleted = 0
|
|
|
+ AND o.is_lock = 0
|
|
|
+ AND o.path LIKE concat((SELECT path FROM sys_org WHERE id = #{orgId}),
|
|
|
+ '%')) a
|
|
|
</select>
|
|
|
|
|
|
<select id="alarmList" resultType="com.xunmei.iot.vo.webStatisticBoard.BoardAlarmInfoVo">
|
|
|
@@ -123,6 +147,17 @@
|
|
|
AND o.deleted = 0
|
|
|
AND o.is_lock = 0
|
|
|
AND o.path LIKE concat((SELECT path FROM sys_org WHERE id = #{orgId}), '%')
|
|
|
+ WHERE ad.time > #{startTime}
|
|
|
+ union all
|
|
|
+ SELECT ai.sensor_type as device_type,
|
|
|
+ Date_FORMAT(ad.time, '%Y-%m-%d') as date
|
|
|
+ FROM iot_alarm_data ad
|
|
|
+ INNER JOIN iot_alarm_defence_area ai ON ad.device_id = ai.id
|
|
|
+ AND ai.deleted = 0
|
|
|
+ INNER JOIN sys_org o ON ad.org_id = o.id
|
|
|
+ AND o.deleted = 0
|
|
|
+ AND o.is_lock = 0
|
|
|
+ AND o.path LIKE concat((SELECT path FROM sys_org WHERE id = #{orgId}), '%')
|
|
|
WHERE ad.time > #{startTime}) a
|
|
|
GROUP BY device_type, date
|
|
|
</select>
|