|
@@ -4,23 +4,35 @@
|
|
|
<select id="selectFacilityOverview" resultType="com.zksy.WaterSupply.PipeNetworkStatistics.dto.FacilityStatisticItemDTO">
|
|
<select id="selectFacilityOverview" resultType="com.zksy.WaterSupply.PipeNetworkStatistics.dto.FacilityStatisticItemDTO">
|
|
|
SELECT 'source' facility_type, '水源地' facility_type_name, COUNT(*) total_count,
|
|
SELECT 'source' facility_type, '水源地' facility_type_name, COUNT(*) total_count,
|
|
|
COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0) normal_count,
|
|
COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0) normal_count,
|
|
|
- COALESCE(SUM(CASE WHEN status IS NOT NULL AND status <> '0' THEN 1 ELSE 0 END), 0) abnormal_count
|
|
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END), 0) abnormal_count,
|
|
|
|
|
+ 0 warning_count,
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status IS NULL OR status NOT IN ('0', '1') THEN 1 ELSE 0 END), 0) unknown_count
|
|
|
FROM app_user.water_source_info WHERE del_flag = '0'
|
|
FROM app_user.water_source_info WHERE del_flag = '0'
|
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT 'plant', '水厂', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0), COALESCE(SUM(CASE WHEN status IS NOT NULL AND status <> '0' THEN 1 ELSE 0 END), 0)
|
|
|
|
|
|
|
+ SELECT 'plant', '水厂', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END), 0), 0,
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status IS NULL OR status NOT IN ('0', '1') THEN 1 ELSE 0 END), 0)
|
|
|
FROM app_user.water_plant_info WHERE del_flag = '0'
|
|
FROM app_user.water_plant_info WHERE del_flag = '0'
|
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT 'pumpStation', '泵站', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0), COALESCE(SUM(CASE WHEN status IS NOT NULL AND status <> '0' THEN 1 ELSE 0 END), 0)
|
|
|
|
|
|
|
+ SELECT 'pumpStation', '泵站', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status = '2' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status IS NULL OR status NOT IN ('0', '1', '2') THEN 1 ELSE 0 END), 0)
|
|
|
FROM app_user.water_pump_station WHERE del_flag = '0'
|
|
FROM app_user.water_pump_station WHERE del_flag = '0'
|
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT 'pipe', '供水管网', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0), COALESCE(SUM(CASE WHEN status IS NOT NULL AND status <> '0' THEN 1 ELSE 0 END), 0)
|
|
|
|
|
|
|
+ SELECT 'pipe', '供水管网', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END), 0), 0,
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status IS NULL OR status NOT IN ('0', '1') THEN 1 ELSE 0 END), 0)
|
|
|
FROM app_user.water_pipe_info WHERE del_flag = '0'
|
|
FROM app_user.water_pipe_info WHERE del_flag = '0'
|
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT 'user', '用水户', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0), COALESCE(SUM(CASE WHEN status IS NOT NULL AND status <> '0' THEN 1 ELSE 0 END), 0)
|
|
|
|
|
|
|
+ SELECT 'user', '用水户', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status = '2' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END), 0),
|
|
|
|
|
+ COALESCE(SUM(CASE WHEN status IS NULL OR status NOT IN ('0', '1', '2') THEN 1 ELSE 0 END), 0)
|
|
|
FROM app_user.water_user_info WHERE del_flag = '0'
|
|
FROM app_user.water_user_info WHERE del_flag = '0'
|
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
<if test="status != null and status != ''">AND status = #{status}</if>
|
|
|
</select>
|
|
</select>
|
|
@@ -78,7 +90,7 @@
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectStatusDistribution" resultType="com.zksy.WaterSupply.PipeNetworkStatistics.dto.MetricItemDTO">
|
|
<select id="selectStatusDistribution" resultType="com.zksy.WaterSupply.PipeNetworkStatistics.dto.MetricItemDTO">
|
|
|
- SELECT COALESCE(status, '未填报') name, COUNT(*) "value", '条' unit FROM
|
|
|
|
|
|
|
+ SELECT COALESCE(status, '未知') name, COUNT(*) "value", '条' unit FROM
|
|
|
<choose><when test="tableType == 'pipe'">app_user.water_pipe_info</when><when test="tableType == 'plant'">app_user.water_plant_info</when><when test="tableType == 'pumpStation'">app_user.water_pump_station</when><when test="tableType == 'source'">app_user.water_source_info</when><otherwise>app_user.water_user_info</otherwise></choose>
|
|
<choose><when test="tableType == 'pipe'">app_user.water_pipe_info</when><when test="tableType == 'plant'">app_user.water_plant_info</when><when test="tableType == 'pumpStation'">app_user.water_pump_station</when><when test="tableType == 'source'">app_user.water_source_info</when><otherwise>app_user.water_user_info</otherwise></choose>
|
|
|
WHERE del_flag = '0' <if test="status != null and status != ''">AND status = #{status}</if> GROUP BY status
|
|
WHERE del_flag = '0' <if test="status != null and status != ''">AND status = #{status}</if> GROUP BY status
|
|
|
</select>
|
|
</select>
|