|
|
@@ -95,27 +95,12 @@
|
|
|
<select id="getDeviceSummary" resultType="com.sooka.sponest.construction.api.vo.DeviceSummaryVO">
|
|
|
SELECT
|
|
|
'供水' as industryName,
|
|
|
- '在线' AS onlineStatus,
|
|
|
- COUNT(CASE WHEN online_status = '1' THEN 1 END) AS statusCount,
|
|
|
- (SELECT COUNT(*) FROM water_supply_device_base_info) AS deviceTotal,
|
|
|
- ROUND(COUNT(CASE WHEN online_status = '1' THEN 1 END) * 100.0 /
|
|
|
- (SELECT COUNT(*) FROM water_supply_device_base_info), 2) AS statusPercent
|
|
|
- FROM water_supply_device_base_info
|
|
|
- UNION ALL
|
|
|
- SELECT
|
|
|
- '供水' as industryName,
|
|
|
- '离线' AS onlineStatus,
|
|
|
- COUNT(CASE WHEN online_status = '0' THEN 1 END) AS statusCount,
|
|
|
- (SELECT COUNT(*) FROM water_supply_device_base_info) AS deviceTotal,
|
|
|
- ROUND(COUNT(CASE WHEN online_status = '0' THEN 1 END) * 100.0 /
|
|
|
- (SELECT COUNT(*) FROM water_supply_device_base_info), 2) AS statusPercent
|
|
|
- FROM water_supply_device_base_info
|
|
|
- ORDER BY
|
|
|
- CASE
|
|
|
- WHEN onlineStatus = '在线' THEN 1
|
|
|
- WHEN onlineStatus = '离线' THEN 2
|
|
|
- ELSE 3
|
|
|
- END;
|
|
|
+ COUNT(*) AS deviceTotal,
|
|
|
+ SUM(CASE WHEN online_status = '1' THEN 1 ELSE 0 END) AS onlineCount,
|
|
|
+ SUM(CASE WHEN online_status = '0' THEN 1 ELSE 0 END) AS offlineCount,
|
|
|
+ ROUND(SUM(CASE WHEN online_status = '1' THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS onlinePercent,
|
|
|
+ ROUND(SUM(CASE WHEN online_status = '0' THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS offlinePercent
|
|
|
+ FROM water_supply_device_base_info;
|
|
|
</select>
|
|
|
|
|
|
<select id="getDeviceType" resultType="com.sooka.sponest.construction.api.vo.DeviceTypeVO">
|