From f20611265f7d34fd4fbcdfdaff6cb9cccd0b25fc Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 21 Jun 2024 11:53:21 +0800
Subject: [PATCH] 湖北水库:施工:项目查询过滤无效修复、根据角色查询用户
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml | 2290 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 1,862 insertions(+), 428 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
index ae244b1..2d0ce54 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
@@ -79,10 +79,10 @@
</if>
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
)) errorNum
),SJZT_MD."att_ad_base" aab
@@ -93,12 +93,162 @@
</select>
+ <select id="getSingleRegionCountOptimize" resultType="cn.gistack.sm.damSecurity.vo.DamSecurityStatistics">
+ SELECT SUM(TMP.allNum) allNum,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
+ (
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where time >= #{dam.startTime} AND time <= #{dam.endTime}
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+ ) as errorNum,
+ (
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+ LEFT JOIN (
+ SELECT DISTINCT (dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss
+ ON dri."oth_reg_cd" = dss."rscd"
+ WHERE dss."rscd" is NOT NULL
+ ) f ON a."guid" = f."res_cd"
+ LEFT JOIN (
+ SELECT distinct(dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spqnmp" dss ON trim(dss."rscd") = dri."oth_reg_cd"
+ WHERE dss."rscd" is NOT NULL
+ ) G ON a."guid" = g."res_cd"
+ LEFT JOIN (
+ SELECT distinct("res_cd")
+ FROM sjzt_md."att_wy_cd_base" awcb
+ WHERE awcb."cd" != '00'
+ ) h ON a."guid" = h."res_cd"
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ f."res_cd" is NOT null
+ OR g."res_cd" is NOT null
+ OR h."res_cd" is NOT null
+ )
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="dam.adCode != null and dam.adCode !='' ">
+ "p_ad_code" = #{dam.adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ )TMP
+ </select>
+
+
+
<select id="listRegionCount" resultType="cn.gistack.sm.damSecurity.vo.DamSecurityStatistics">
-
SELECT allNum,errorNum, allNum-errorNum normalNum,adName,adCode FROM
(
-
SELECT
(
SELECT COUNT(*) FROM
@@ -150,13 +300,6 @@
LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
UNION
SELECT
- b."guid" as "res_cd",
- 'sy' as "sys_resource"
- FROM
- sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code") WHERE "res_cd" is not null) f ON a."guid" =
- f."res_cd"
- LEFT JOIN (SELECT
"res_cd",
"sys_resource"
FROM
@@ -186,7 +329,6 @@
or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
)
) allNum,
-
(
SELECT COUNT(*)FROM (SELECT distinct DAM_ID FROM NKY_ALARM_GET NAG
LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID
@@ -194,14 +336,12 @@
left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
-
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
-
)) errorNum,
aab."ad_name" adName , aab."guid" adCode from SJZT_MD."att_ad_base" aab
where
@@ -214,8 +354,155 @@
</otherwise>
</choose>
)
-
</select>
+ <select id="listRegionCountOptimize" resultType="cn.gistack.sm.damSecurity.vo.DamSecurityStatistics">
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
+ (
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where time >= #{dam.startTime} AND time <= #{dam.endTime}
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+ ) as errorNum,
+ (
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+ LEFT JOIN (
+ SELECT DISTINCT (dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss
+ ON dri."oth_reg_cd" = dss."rscd"
+ WHERE dss."rscd" is NOT NULL
+ ) f ON a."guid" = f."res_cd"
+ LEFT JOIN (
+ SELECT distinct(dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spqnmp" dss ON trim(dss."rscd") = dri."oth_reg_cd"
+ WHERE dss."rscd" is NOT NULL
+ ) G ON a."guid" = g."res_cd"
+ LEFT JOIN (
+ SELECT distinct("res_cd")
+ FROM sjzt_md."att_wy_cd_base" awcb
+ WHERE awcb."cd" != '00'
+ ) h ON a."guid" = h."res_cd"
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ f."res_cd" is NOT null
+ OR g."res_cd" is NOT null
+ OR h."res_cd" is NOT null
+ )
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="dam.adCode != null and dam.adCode !='' ">
+ "p_ad_code" = #{dam.adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ </select>
+
<select id="tableResCount" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
@@ -223,7 +510,6 @@
info."guid" AS resCd,
info."name" AS resName,
info."eng_scal" AS engScal,
- info."res_reg_code" AS resRegCode,
info."town_ad_code" AS townCode,
info."town_ad_name" AS townName,
info."county_ad_code" AS countyCode,
@@ -242,7 +528,6 @@
a."guid",
a."name",
a."eng_scal",
- a."res_reg_code",
case when b."ad_grad" = 4 THEN b."ad_code" ELSE NULL END AS "town_ad_code",
case when b."ad_grad" = 4 THEN b."ad_name" ELSE NULL END AS "town_ad_name",
case when b."ad_grad" = 4 THEN b."order_id" ELSE NULL END AS "town_order_id",
@@ -263,62 +548,93 @@
d."order_id" ELSE e."order_id" END AS "province_order_id"
FROM sjzt_md."att_res_base" a
LEFT JOIN (
- SELECT "res_cd","sys_resource" FROM (SELECT b."guid" as "res_cd",'sy' as "sys_resource" FROM
- sjzt_ods."dsm_spg_pztb" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- UNION
- SELECT b."guid" as "res_cd", 'sy' as "sys_resource" FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN
- SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code") WHERE "res_cd" is not null) f ON a."guid" = f."res_cd"
+
+
+ SELECT
+ distinct (dri."res_cd")
+ FROM
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ where dss."rscd" is not null
+
+ ) f ON a."guid" = f."res_cd"
LEFT JOIN (
- SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'sl' as "sys_resource" FROM
- sjzt_ods."dsm_spg_spqnmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code" group by b."guid")
- WHERE "res_cd" is not null) G on a."guid" = g."res_cd"
- LEFT JOIN (SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'wy' as "sys_resource" FROM
- (SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a LEFT JOIN
- SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid" group by b."guid")
- WHERE "res_cd" is not null) h ON a."guid" = h."res_cd"
+
+
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ where dss."rscd" is not null
+
+ ) G on a."guid" = g."res_cd"
+ LEFT JOIN (
+
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ where awcb."cd" != '00'
+
+ ) h ON a."guid" = h."res_cd"
LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
where (f."res_cd" is not null OR g."res_cd" is not null OR h."res_cd" is not null)
+ <if test="dam.adCode != null and dam.adCode !='' ">
+ AND (c."ad_code" = #{dam.adCode} or d."ad_code" =#{dam.adCode}or e."ad_code" = #{dam.adCode})
+ </if>
+
) baseRes
LEFT JOIN (
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a LEFT JOIN
- SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- WHERE b."guid" is not null
- )
- GROUP BY "res_cd"
+
+
+ select res."res_cd",count(*) wyStation from(
+
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ where awcb."cd" != '00'
+
+ )res LEFT JOIN SJZT_MD."att_wy_cd_base" acb ON acb."res_cd" = res."res_cd"
+ where acb."cd_type" = 'wy' group by res."res_cd"
+
+
) wy ON wy."res_cd" = baseRes."guid"
LEFT JOIN(
- SELECT "res_cd", COUNT(*) syStation
- FROM( SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- )
- GROUP BY "res_cd"
+
+ select res."res_cd",count(*) syStation from(
+ SELECT
+ distinct (dri."res_cd")
+ FROM
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ where dss."rscd" is not null
+ )res LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = res."res_cd"
+ where acb."cd_type" = 'sy' group by res."res_cd"
+
) sy ON sy."res_cd" = baseRes."guid"
LEFT JOIN (
- SELECT "res_cd",COUNT(*) slStation
- FROM ( SELECT b."guid" as "res_cd",'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqnmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- group by b."guid" )
- GROUP BY "res_cd"
+
+
+ select res."res_cd",count(*) slStation from(
+
+
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ where dss."rscd" is not null
+
+
+ )res LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = res."res_cd"
+ where acb."cd_type" = 'sl' group by res."res_cd"
+
+
) sl ON sl."res_cd" = baseRes."guid"
LEFT JOIN (
SELECT DAM_ID ,COUNT(*) errorNum FROM NKY_ALARM_GET
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
@@ -331,29 +647,23 @@
SELECT DAM_ID, COUNT(*) FROM YWXT.NKY_ALARM_GET
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
GROUP BY DAM_ID,POINT_ID
) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = "town_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+
WHERE 1=1
<!--这里加条件-->
- <if test="dam.adCode != null and dam.adCode !='' ">
- AND (province."ad_code" = #{dam.adCode} or city."ad_code" =#{dam.adCode}or county."ad_code" = #{dam.adCode}
- )
- </if>
+
<if test="dam.resName != null and dam.resName !='' ">
AND "name" LIKE CONCAT('%',#{dam.resName},'%')
</if>
- ) info
+ ) info order by info.errorNum desc
</select>
@@ -447,10 +757,10 @@
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
@@ -463,10 +773,10 @@
SELECT DAM_ID, COUNT(*) FROM YWXT.NKY_ALARM_GET
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
GROUP BY DAM_ID,POINT_ID
) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
@@ -489,10 +799,173 @@
</select>
+
+ <select id="tableResCountPageOptimize" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
+ SELECT
+ info."guid" AS resCd,
+ info."res_reg_code" as resRegCode,
+ info."name" AS resName,
+ info."eng_scal" AS engScal,
+ info."town_ad_code" AS townCode,
+ info."town_ad_name" AS townName,
+ info."county_ad_code" AS countyCode,
+ info."county_ad_name" AS countyName ,
+ info."city_ad_code" AS cityCode,
+ info."city_ad_name" AS cityName,
+ (info.wy+info.sy+info.sl) AS total,
+ (info.wy+info.sy+info.sl-info.errorCountNum) AS normalNum,
+ info.errorNum AS errorNum
+ FROM
+ (
+ SELECT baseRes.*,ifnull(wy.wyStation,0) wy ,ifnull(sy.syStation,0) sy,ifnull(sl.slStation,0)
+ sl,ifnull(alarm.errorNum,0) errorNum, ifnull(c1.errorCountNum,0) errorCountNum FROM
+ (
+ SELECT
+ a."guid",
+ a."name",
+ a."eng_scal",
+ a."res_reg_code",
+ case when b."ad_grad" = 4 THEN b."ad_code" ELSE NULL END AS "town_ad_code",
+ case when b."ad_grad" = 4 THEN b."ad_name" ELSE NULL END AS "town_ad_name",
+ case when b."ad_grad" = 4 THEN b."order_id" ELSE NULL END AS "town_order_id",
+ case when b."ad_grad" = 3 THEN b."ad_code" when c."ad_grad" = 3 THEN c."ad_code" END AS "county_ad_code",
+ case when b."ad_grad" = 3 THEN b."ad_name" when c."ad_grad" = 3 THEN C."ad_name" END AS "county_ad_name",
+ case when b."ad_grad" = 3 THEN b."order_id" when c."ad_grad" = 3 THEN C."order_id" END AS "county_order_id",
+ case when b."ad_grad" = 2 THEN b."ad_code" when c."ad_grad" = 2 THEN c."ad_code" ELSE d."ad_code" END AS
+ "city_ad_code",
+ case when b."ad_grad" = 2 THEN b."ad_name" when c."ad_grad" = 2 THEN c."ad_name" ELSE d."ad_name" END AS
+ "city_ad_name",
+ case when b."ad_grad" = 2 THEN b."order_id" when c."ad_grad" = 2 THEN c."order_id" ELSE d."order_id" END AS
+ "city_order_id",
+ case when b."ad_grad" = 1 THEN b."ad_code" when c."ad_grad" = 1 THEN c."ad_code" when d."ad_grad" = 1 THEN
+ d."ad_code" ELSE e."ad_code" END AS "province_ad_code",
+ case when b."ad_grad" = 1 THEN b."ad_name" when c."ad_grad" = 1 THEN c."ad_name" when d."ad_grad" = 1 THEN
+ d."ad_name" ELSE e."ad_name" END AS "province_ad_name",
+ case when b."ad_grad" = 1 THEN b."order_id" when c."ad_grad" = 1 THEN c."order_id" when d."ad_grad" = 1 THEN
+ d."order_id" ELSE e."order_id" END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+ LEFT JOIN (
+ SELECT
+ distinct (dri."res_cd")
+ FROM
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ where dss."rscd" is not null
+ ) f ON a."guid" = f."res_cd"
+ LEFT JOIN (
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ where dss."rscd" is not null
+ ) G on a."guid" = g."res_cd"
+ LEFT JOIN (
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ where awcb."cd" != '00'
+ ) h ON a."guid" = h."res_cd"
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ where (f."res_cd" is not null OR g."res_cd" is not null OR h."res_cd" is not null)
+ <if test="dam.adCode != null and dam.adCode !='' ">
+ AND (c."ad_code" = #{dam.adCode} or d."ad_code" =#{dam.adCode}or e."ad_code" = #{dam.adCode})
+ </if>
+ ) baseRes
+ LEFT JOIN (
+ select res."res_cd",count(*) wyStation from(
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ where awcb."cd" != '00'
+ )res LEFT JOIN SJZT_MD."att_wy_cd_base" acb ON acb."res_cd" = res."res_cd"
+ where acb."cd_type" = 'wy' group by res."res_cd"
+ ) wy ON wy."res_cd" = baseRes."guid"
+ LEFT JOIN(
+ select res."res_cd",count(*) syStation from(
+ SELECT
+ distinct (dri."res_cd")
+ FROM
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ where dss."rscd" is not null
+ )res LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = res."res_cd"
+ where acb."cd_type" = 'sy' group by res."res_cd"
+ ) sy ON sy."res_cd" = baseRes."guid"
+ LEFT JOIN (
+ select res."res_cd",count(*) slStation from(
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ where dss."rscd" is not null
+ )res LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = res."res_cd"
+ where acb."cd_type" = 'sl' group by res."res_cd"
+ ) sl ON sl."res_cd" = baseRes."guid"
+ LEFT JOIN (
+ SELECT DAM_ID ,COUNT(*) errorNum FROM NKY_ALARM_GET
+ WHERE 1=1
+ <if test="dam.startTime != null and dam.startTime != ''">
+ AND time >= #{dam.startTime}
+ </if>
+ <if test="dam.endTime != null and dam.endTime !='' ">
+ AND time <= #{dam.endTime}
+ </if>
+ GROUP BY "DAM_ID"
+ ) alarm ON alarm.DAM_ID = baseRes."guid"
+ LEFT JOIN (
+ SELECT DAM_ID ,COUNT(*) errorCountNum
+ FROM (
+ SELECT DAM_ID, COUNT(*) FROM YWXT.NKY_ALARM_GET
+ WHERE 1=1
+ <if test="dam.startTime != null and dam.startTime != ''">
+ AND time >= #{dam.startTime}
+ </if>
+ <if test="dam.endTime != null and dam.endTime !='' ">
+ AND time <= #{dam.endTime}
+ </if>
+ GROUP BY DAM_ID,POINT_ID
+ ) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
+ WHERE 1=1
+ <if test="dam.resName != null and dam.resName !='' ">
+ AND "name" LIKE CONCAT('%',#{dam.resName},'%')
+ </if>
+ ) info order by info.errorNum desc
+ </select>
+
+
+
+
+ <select id="alarmResCountByZt" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
+ SELECT
+ arb."center_long" AS longitude,
+ arb."center_lat" AS latitude,
+ arb."name" as resName,
+ sar.reservoir_number resCd,
+ abb."code" AS basCode,
+ abb."name" AS basName
+ FROM
+ (
+
+ select sar.* from YWXT.sm_alarm_record sar
+ left join ywxt.sm_alarm_rule b on (sar.alarm_rule_id = b.id)
+ where sar.create_time >= #{dam.startTime} and sar.create_time <= #{dam.endTime}
+ and b.create_alarm_type not like '%缺失%'
+ and (b.type = '渗压监测' or b.type = '变形监测' or b.type = '渗流监测')
+ and (b.ALARM_LEVEL = '红色预警' or b.ALARM_LEVEL = '橙色预警')
+ ) sar
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = sar.reservoir_number
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+
+ LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = sar.reservoir_number
+ LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid"
+ LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code"
+ </select>
+
<select id="alarmResCount" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
SELECT
arb."center_long" AS longitude,
arb."center_lat" AS latitude,
+ arb."name" as resName,
resCd,
abb."code" AS basCode,
abb."name" AS basName
@@ -563,28 +1036,24 @@
) errorNum
FROM
(
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM
- (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- where b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+
+
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1= 1
+ where awcb."cd" != '00'
<if test=" adCode!= null and adCode !='' ">
AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
</if>
- GROUP BY "res_cd"
+
+
)
UNION ALL
+
+
-- 渗压水库数
SELECT
COUNT(*) total,
@@ -609,26 +1078,29 @@
) errorNum
FROM
(
- SELECT "res_cd", COUNT(*) syStation
+
+
+ SELECT
+ distinct (dri."res_cd")
FROM
- (
- SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1=1
+
+ where dss."rscd" is not null
<if test=" adCode!= null and adCode !='' ">
AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
</if>
- GROUP BY "res_cd"
+
+
)
UNION ALL
+
+
-- 渗流水库数
SELECT
COUNT(*) total,
@@ -654,31 +1126,24 @@
) errorNum
FROM
(
- SELECT
- "res_cd",
- COUNT(*) slStation
- FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
- group by b."guid"
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
<if test=" adCode!= null and adCode !='' ">
AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
</if>
- GROUP BY "res_cd"
+
+
+
)
)
) base
@@ -862,14 +1327,17 @@
arb."center_long" AS longitude,
arb."center_lat" AS latitude
FROM(
+
+
SELECT
- b."guid" as "res_cd",
- 'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" IS NOT NULL
+ distinct (dri."res_cd")
+ FROM
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ where dss."rscd" is not null
<if test="status ==2">
- AND b."guid" NOT IN (
+ AND dri."res_cd" NOT IN (
ifnull(
(
SELECT wm_concat(temp.resCd)
@@ -890,7 +1358,7 @@
</if>
<if test="status == 3">
- AND b."guid" IN (
+ AND dri."res_cd" IN (
ifnull(
(
SELECT wm_concat(temp.resCd)
@@ -929,16 +1397,14 @@
arb."center_long" AS longitude,
arb."center_lat" AS latitude
FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
+
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ where dss."rscd" is not null
+
<if test="status == 2">
- AND b."guid" NOT IN (
+ AND dri."res_cd" NOT IN (
ifnull(
(SELECT wm_concat(temp.resCd) FROM
(
@@ -960,7 +1426,7 @@
</if>
<if test="status == 3">
- AND b."guid" IN (
+ AND dri."res_cd" IN (
ifnull(
(SELECT wm_concat(temp.resCd) FROM
(
@@ -980,7 +1446,8 @@
)
)
</if>
- group by b."guid" ) baseRes
+
+ ) baseRes
LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseRes."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
@@ -1001,18 +1468,13 @@
arb."center_long" AS longitude,
arb."center_lat" AS latitude
FROM (
- SELECT
- b."guid" as "res_cd",
- 'wy' as "sys_resource"
- FROM (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- WHERE
- b."guid" IS NOT NULL
+
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ where awcb."cd" != '00'
<if test="status == 2">
- and b."guid" NOT IN (
+ and awcb."res_cd" NOT IN (
ifnull(
(
SELECT wm_concat(temp.resCd) FROM(
@@ -1035,7 +1497,7 @@
</if>
<if test="status == 3">
- and b."guid" IN (
+ and awcb."res_cd" IN (
ifnull(
(
SELECT wm_concat(temp.resCd) FROM(
@@ -1085,12 +1547,12 @@
LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid"
LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code"
where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
- <if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
- </if>
- <if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
- </if>
+ <if test="dam.startTime != null and dam.startTime != ''">
+ AND time >= #{dam.startTime}
+ </if>
+ <if test="dam.endTime != null and dam.endTime !='' ">
+ AND time <= #{dam.endTime}
+ </if>
<if test="dam.engScal != null and dam.engScal !='' ">
AND arb."eng_scal" = #{dam.engScal}
@@ -1163,12 +1625,13 @@
LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid"
LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code"
where 1=1 and NAG.level != 5
- AND (province."ad_code" = #{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode} or town."ad_code" = #{dam.adCode})
+
+ AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{dam.adCode},'%')
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
<if test="dam.engScal != null and dam.engScal !='' ">
@@ -1259,15 +1722,13 @@
LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = NAG.DAM_ID AND NAG.POINT_ID = acb."cd"
WHERE 1=1 and level != 5
<if test=" vo.adCode != null and vo.adCode !='' ">
- AND (province."ad_code" =#{vo.adCode} or city."ad_code" = #{vo.adCode} or county."ad_code" = #{vo.adCode})
+ AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{vo.adCode},'%')
</if>
-
<if test="vo.startTime != null and vo.startTime != ''">
- AND DATE_FORMAT(NAG.time,'%Y-%m-%d') >= #{vo.startTime}
+ AND NAG.time >= #{vo.startTime}
</if>
-
<if test="vo.endTime != null and vo.endTime !='' ">
- AND DATE_FORMAT(NAG.time,'%Y-%m-%d') <= #{vo.endTime}
+ AND NAG.time <= #{vo.endTime}
</if>
<if test="vo.level != null and vo.level !='' ">
@@ -1379,15 +1840,15 @@
LEFT JOIN SJZT_MD."att_wy_cd_base" awcb ON awcb."res_cd" = NAG.DAM_ID AND NAG.POINT_ID = awcb."cd"
WHERE 1=1 and level != 5
<if test=" vo.adCode != null and vo.adCode !='' ">
- AND (province."ad_code" =#{vo.adCode} or city."ad_code" = #{vo.adCode} or county."ad_code" = #{vo.adCode})
+ AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{vo.adCode},'%')
</if>
<if test="vo.startTime != null and vo.startTime != ''">
- AND DATE_FORMAT(NAG.time,'%Y-%m-%d') >= #{vo.startTime}
+ AND NAG.time >= #{vo.startTime}
</if>
<if test="vo.endTime != null and vo.endTime !='' ">
- AND DATE_FORMAT(NAG.time,'%Y-%m-%d') <= #{vo.endTime}
+ AND NAG.time <= #{vo.endTime}
</if>
<if test="vo.level != null and vo.level !='' ">
@@ -1436,13 +1897,6 @@
#{item}
</foreach>
</if>
- ORDER BY NAG.TIME DESC
-
- </select>
-
-
-
- <select id="levelMonitorPie" resultType="cn.gistack.sm.damSecurity.vo.LevelPo">
</select>
@@ -1488,24 +1942,21 @@
FROM(
- SELECT "res_cd", COUNT(*) syStation
+ SELECT
+ distinct (dri."res_cd")
FROM
- (
- SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1=1
+
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -1557,24 +2008,21 @@
FROM(
- SELECT "res_cd", COUNT(*) syStation
+ SELECT
+ distinct (dri."res_cd")
FROM
- (
- SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1=1
+
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -1595,8 +2043,8 @@
parent."p_ad_name" pAdName
FROM(
SELECT
- r.countyCode as adCode,
r.countyName as adName,
+ r.countyCode as adCode,
count(*) as total,
'3' AS adGrad
FROM (
@@ -1625,24 +2073,21 @@
FROM(
- SELECT "res_cd", COUNT(*) syStation
+ SELECT
+ distinct (dri."res_cd")
FROM
- (
- SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1=1
+
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -1653,6 +2098,71 @@
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
group by r.countyCode,r.countyName)TMP
LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+ UNION ALL
+
+ SELECT
+ tmp.*,
+ 'sy' as type,
+ parent."p_ad_code" pAdCode,
+ parent."p_ad_name" pAdName
+ FROM(
+ SELECT
+ r.townName as adName,
+ r.townCode as adCode,
+ count(*) as total,
+ '4' AS adGrad
+ FROM (
+ SELECT
+ resList."res_cd",
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM(
+
+
+ SELECT
+ distinct (dri."res_cd")
+ FROM
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+
+ where dss."rscd" is not null
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+
+
+ ) resList
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
+ group by r.townName, r.townCode)TMP
+ LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
</select>
@@ -1695,31 +2205,18 @@
FROM(
- SELECT
- "res_cd",
- COUNT(*) slStation
- FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
-
-
- group by b."guid"
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -1771,31 +2268,18 @@
FROM(
- SELECT
- "res_cd",
- COUNT(*) slStation
- FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
-
-
- group by b."guid"
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -1816,8 +2300,8 @@
parent."p_ad_name" pAdName
FROM(
SELECT
- r.countyCode as adCode,
r.countyName as adName,
+ r.countyCode as adCode,
count(*) as total,
'3' AS adGrad
FROM (
@@ -1846,32 +2330,18 @@
FROM(
-
- SELECT
- "res_cd",
- COUNT(*) slStation
- FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
-
-
- group by b."guid"
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -1881,6 +2351,68 @@
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
group by r.countyCode,r.countyName)TMP
+ LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+ UNION ALL
+
+ SELECT
+ tmp.*,
+ 'sl' as type,
+ parent."p_ad_code" pAdCode,
+ parent."p_ad_name" pAdName
+ FROM(
+ SELECT
+ r.townName as adName,
+ r.townCode as adCode,
+ count(*) as total,
+ '4' AS adGrad
+ FROM (
+ SELECT
+ resList."res_cd",
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM(
+
+
+
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+
+
+ ) resList
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
+ group by r.townCode,r.townName)TMP
LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
</select>
@@ -1923,26 +2455,16 @@
FROM(
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM
- (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- where b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1= 1
+ where awcb."cd" != '00'
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -1994,26 +2516,16 @@
FROM(
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM
- (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- where b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1= 1
+ where awcb."cd" != '00'
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -2034,8 +2546,8 @@
parent."p_ad_name" pAdName
FROM(
SELECT
- r.countyCode as adCode,
r.countyName as adName,
+ r.countyCode as adCode,
count(*) as total,
'3' AS adGrad
FROM (
@@ -2065,26 +2577,16 @@
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM
- (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- where b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1= 1
+ where awcb."cd" != '00'
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
) resList
@@ -2094,6 +2596,67 @@
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
group by r.countyCode,r.countyName)TMP
+ LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+ UNION ALL
+
+ SELECT
+ tmp.*,
+ 'wy' as type,
+ parent."p_ad_code" pAdCode,
+ parent."p_ad_name" pAdName
+ FROM(
+ SELECT
+ r.townName as adName,
+ r.townCode as adCode,
+ count(*) as total,
+ '4' AS adGrad
+ FROM (
+ SELECT
+ resList."res_cd",
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM(
+
+
+
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where awcb."cd" != '00'
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+
+
+ ) resList
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
+ group by r.townCode,r.townName)TMP
LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
</select>
@@ -2248,8 +2811,9 @@
parent."p_ad_name" pAdName
FROM(
SELECT
- r.countyCode as adCode,
r.countyName as adName,
+ r.countyCode as adCode,
+
count(*) as total,
'3' AS adGrad
FROM (
@@ -2307,6 +2871,74 @@
group by r.countyCode,r.countyName)TMP
LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+ UNION ALL
+
+ SELECT
+ tmp.*,
+ parent."p_ad_code" pAdCode,
+ parent."p_ad_name" pAdName
+ FROM(
+ SELECT
+ r.townName as adName,
+ r.townCode as adCode,
+
+ count(*) as total,
+ '4' AS adGrad
+ FROM (
+ SELECT
+ resList.resCd,
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM(
+
+ SELECT DAM_ID as resCd FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+ <if test="dam.type =='sy' ">
+ AND NAG.type = '1'
+ </if>
+ <if test="dam.type =='sl' ">
+ AND NAG.type = '2'
+ </if>
+ <if test="dam.type =='wy' ">
+ AND (NAG.type = '3' or NAG.type ='4' or NAG.type ='5' )
+ </if>
+
+ GROUP BY DAM_ID
+ ) resList
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
+ group by r.townCode,r.townName)TMP
+ LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
</select>
@@ -2354,24 +2986,21 @@
- SELECT "res_cd", COUNT(*) syStation
+ SELECT
+ distinct (dri."res_cd")
FROM
- (
- SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1=1
+
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
@@ -2453,24 +3082,26 @@
SELECT normalList."res_cd" as resCd FROM (
SELECT allList."res_cd",errorList."name" FROM (
- SELECT "res_cd", COUNT(*) syStation
+
+
+ SELECT
+ distinct (dri."res_cd")
FROM
- (
- SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1=1
+
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
+
+
+
) allList LEFT JOIN
(
@@ -2518,8 +3149,8 @@
parent."p_ad_name" pAdName
FROM(
SELECT
- r.countyCode as adCode,
r.countyName as adName,
+ r.countyCode as adCode,
count(*) as total,
'3' AS adGrad
FROM (
@@ -2549,24 +3180,29 @@
SELECT normalList."res_cd" as resCd FROM (
SELECT allList."res_cd",errorList."name" FROM (
- SELECT "res_cd", COUNT(*) syStation
+
+
+
+
+ SELECT
+ distinct (dri."res_cd")
FROM
- (
- SELECT b."guid" as "res_cd",'sy' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spprmp" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1=1
+
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
+
+
+
+
) allList LEFT JOIN
(
@@ -2604,16 +3240,107 @@
group by r.countyCode,r.countyName)TMP
LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+ UNION ALL
+
+ SELECT
+ tmp.*,
+ parent."p_ad_code" pAdCode,
+ parent."p_ad_name" pAdName
+ FROM(
+ SELECT
+ r.townName as adName,
+ r.townCode as adCode,
+ count(*) as total,
+ '4' AS adGrad
+ FROM (
+ SELECT
+ resList.resCd,
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM(
+
+ SELECT normalList."res_cd" as resCd FROM (
+ SELECT allList."res_cd",errorList."name" FROM (
+
+
+
+
+ SELECT
+ distinct (dri."res_cd")
+ FROM
+ sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+
+ where dss."rscd" is not null
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+
+
+
+
+ ) allList LEFT JOIN
+
+ (
+ SELECT DAM_ID as resCd,arb."name" FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+ <if test="dam.type =='sy' ">
+ AND NAG.type = '1'
+ </if>
+ <if test="dam.type =='sl' ">
+ AND NAG.type = '2'
+ </if>
+ <if test="dam.type =='wy' ">
+ AND (NAG.type = '3' or NAG.type ='4' or NAG.type ='5' )
+ </if>
+
+ GROUP BY DAM_ID,arb."name"
+
+
+ ) errorList ON allList."res_cd" = errorList.resCd
+ )normalList where normalList."name" is null
+ ) resList
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
+ group by r.townCode,r.townName)TMP
+ LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
</select>
<select id="getDamSlRegionNormal" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
-
-
-
-
-
-
-
-
<if test="dam.adCode == '420000000000'">
SELECT
tmp.*,
@@ -2656,31 +3383,18 @@
- SELECT
- "res_cd",
- COUNT(*) slStation
- FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
-
-
- group by b."guid"
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
@@ -2766,31 +3480,18 @@
- SELECT
- "res_cd",
- COUNT(*) slStation
- FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
-
-
- group by b."guid"
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
@@ -2841,8 +3542,8 @@
parent."p_ad_name" pAdName
FROM(
SELECT
- r.countyCode as adCode,
r.countyName as adName,
+ r.countyCode as adCode,
count(*) as total,
'3' AS adGrad
FROM (
@@ -2875,31 +3576,18 @@
- SELECT
- "res_cd",
- COUNT(*) slStation
- FROM (
- SELECT
- b."guid" as "res_cd",
- 'sl' as "sys_resource"
- FROM sjzt_ods."dsm_spg_spqn" a
- LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
- WHERE
- b."guid" IS NOT NULL
- AND a."mstm" >=now()-30 and a."mstm"<= now()
-
-
- group by b."guid"
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
@@ -2940,21 +3628,99 @@
group by r.countyCode,r.countyName)TMP
LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+ UNION ALL
+
+ SELECT
+ tmp.*,
+ parent."p_ad_code" pAdCode,
+ parent."p_ad_name" pAdName
+ FROM(
+ SELECT
+ r.townName as adName,
+ r.townCode as adCode,
+ count(*) as total,
+ '4' AS adGrad
+ FROM (
+ SELECT
+ resList.resCd,
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM(
+ SELECT normalList."res_cd" as resCd FROM (
+ SELECT allList."res_cd",errorList."name" FROM (
+ SELECT distinct(dri."res_cd")
+ from sjzt_dw."dim_res_info_a" dri
+ left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where dss."rscd" is not null
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+ ) allList LEFT JOIN
+
+ (
+ SELECT DAM_ID as resCd,arb."name" FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+ <if test="dam.type =='sy' ">
+ AND NAG.type = '1'
+ </if>
+ <if test="dam.type =='sl' ">
+ AND NAG.type = '2'
+ </if>
+ <if test="dam.type =='wy' ">
+ AND (NAG.type = '3' or NAG.type ='4' or NAG.type ='5' )
+ </if>
+
+ GROUP BY DAM_ID,arb."name"
-
-
-
-
-
-
+ ) errorList ON allList."res_cd" = errorList.resCd
+ )normalList where normalList."name" is null
+ ) resList
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
+ group by r.townCode,r.townName)TMP
+ LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
@@ -3007,26 +3773,16 @@
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM
- (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- where b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1= 1
+ where awcb."cd" != '00'
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
@@ -3112,26 +3868,16 @@
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM
- (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- where b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1= 1
+ where awcb."cd" != '00'
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
@@ -3183,8 +3929,8 @@
parent."p_ad_name" pAdName
FROM(
SELECT
- r.countyCode as adCode,
r.countyName as adName,
+ r.countyCode as adCode,
count(*) as total,
'3' AS adGrad
FROM (
@@ -3218,26 +3964,16 @@
- SELECT "res_cd",COUNT(*) wyStation
- FROM
- (
- SELECT b."guid" as "res_cd",'wy' as "sys_resource"
- FROM
- (
- SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
- ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
- where b."guid" is not null
- ) temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE 1= 1
+ where awcb."cd" != '00'
<if test=" dam.adCode!= null and dam.adCode !='' ">
AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
</if>
- GROUP BY "res_cd"
@@ -3278,9 +4014,707 @@
group by r.countyCode,r.countyName)TMP
LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+ UNION ALL
+
+ SELECT
+ tmp.*,
+ parent."p_ad_code" pAdCode,
+ parent."p_ad_name" pAdName
+ FROM(
+ SELECT
+ r.townName as adName,
+ r.townCode as adCode,
+ count(*) as total,
+ '4' AS adGrad
+ FROM (
+ SELECT
+ resList.resCd,
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM(
+
+ SELECT normalList."res_cd" as resCd FROM (
+ SELECT allList."res_cd",errorList."name" FROM (
+
+ SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where awcb."cd" != '00'
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+
+
+
+ ) allList LEFT JOIN
+
+ (
+ SELECT DAM_ID as resCd,arb."name" FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ <if test=" dam.adCode!= null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+ <if test="dam.type =='sy' ">
+ AND NAG.type = '1'
+ </if>
+ <if test="dam.type =='sl' ">
+ AND NAG.type = '2'
+ </if>
+ <if test="dam.type =='wy' ">
+ AND (NAG.type = '3' or NAG.type ='4' or NAG.type ='5' )
+ </if>
+
+ GROUP BY DAM_ID,arb."name"
+
+
+ ) errorList ON allList."res_cd" = errorList.resCd
+ )normalList where normalList."name" is null
+ ) resList
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
+ group by r.townCode,r.townName)TMP
+ LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+
+
+ </select>
+
+
+
+
+ <select id="damResInfoCountSy" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
+
+ SELECT '1' as type,'渗压' as typeName, SUM(TMP.allNum) total,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
+ (
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where
+ TYPE = 1
+ AND time>= CURDATE()
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+
+ ) as errorNum,
+ (
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+
+ LEFT JOIN (
+ SELECT DISTINCT (dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss
+ ON dri."oth_reg_cd" = dss."rscd"
+ WHERE dss."rscd" is NOT NULL
+ ) f ON a."guid" = f."res_cd"
+
+
+
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ f."res_cd" is NOT null
+ )
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
+
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="adCode != null and adCode !='' ">
+ "p_ad_code" = #{adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ )TMP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </select>
+ <select id="damResInfoCountSl" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
+
+ SELECT '2' as type,'渗流' as typeName, SUM(TMP.allNum) total,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
+ (
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where TYPE = 2
+ AND time>= CURDATE()
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+
+
+ ) as errorNum,
+ (
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+
+
+
+ LEFT JOIN (
+ SELECT distinct(dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spqnmp" dss ON trim(dss."rscd") = dri."oth_reg_cd"
+ WHERE dss."rscd" is NOT NULL
+ ) G ON a."guid" = g."res_cd"
+
+
+
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ g."res_cd" is NOT null
+ )
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
+
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="adCode != null and adCode !='' ">
+ "p_ad_code" = #{adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ )TMP
+
+
+ </select>
+ <select id="damResInfoCountWy" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
+
+
+ SELECT '3' as type,'位移' as typeName, SUM(TMP.allNum) total,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
+ (
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where (TYPE = 3 or type = 4 or type = 5)
+ AND time>= CURDATE()
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+
+
+ ) as errorNum,
+ (
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+
+
+ LEFT JOIN (
+ SELECT distinct("res_cd")
+ FROM sjzt_md."att_wy_cd_base" awcb
+ WHERE awcb."cd" != '00'
+ ) h ON a."guid" = h."res_cd"
+
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ h."res_cd" is NOT null
+ )
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
+
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="adCode != null and adCode !='' ">
+ "p_ad_code" = #{adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ )TMP
+ </select>
+ <select id="getLatestResRecord" resultType="cn.gistack.nky.vo.AlarmGetVO">
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE,
+ NAG.TIME,
+ NAG.VALUE,
+ NAG."DESC",
+ NAG.CREATE_TIME,
+ NAG.TASK_CATEGORY,
+ NAG.LEVEL,
+ NAG.BAOJINGZHI,
+ NAG.ORIGIN_ID,
+ NAG.FORWARD,
+ NAG."REVERSE",
+ NAG.RATIO,
+
+ ARB."name" reservoirName,
+ acb."cd_nm" cdName,
+
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case
+ when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case
+ when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case
+ when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case
+ when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName
+
+ FROM YWXT.NKY_ALARM_GET NAG
+ right JOIN (
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ MAX(NAG.TIME)TIME,
+ NAG.TYPE
+ FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = nag.dam_id
+
+ WHERE
+ dam_id = #{alarmGet.damId}
+ and type = #{alarmGet.type}
+ GROUP BY
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE
+
+ )TMP ON (
+ TMP.DAM_ID = NAG.DAM_ID
+ AND TMP.POINT_ID = NAG.POINT_ID
+ AND TMP.TYPE = NAG.TYPE
+ AND TMP.TIME = NAG.TIME
+ )
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = NAG.DAM_ID
+
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+
+ LEFT JOIN SJZT_MD."att_cd_base" acb on
+ acb."res_cd" = #{alarmGet.damId}
+ and acb."cd" = nag.point_id
+ <if test="alarmGet.type == 1">
+ and acb."cd_type" = 'sy'
+ </if>
+ <if test="alarmGet.type == 2">
+ and acb."cd_type" = 'sl'
+ </if>
+ ORDER BY POINT_ID
+ </select>
+ <select id="getLatestResRecordWy" resultType="cn.gistack.nky.vo.AlarmGetVO">
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE,
+ NAG.TIME,
+ NAG.VALUE,
+ NAG."DESC",
+ NAG.CREATE_TIME,
+ NAG.TASK_CATEGORY,
+ NAG.LEVEL,
+ NAG.BAOJINGZHI,
+ NAG.ORIGIN_ID,
+ NAG.FORWARD,
+ NAG."REVERSE",
+ NAG.RATIO,
+
+ ARB."name" reservoirName,
+ acb."cd_nm" cdName,
+
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case
+ when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case
+ when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case
+ when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case
+ when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName
+
+ FROM YWXT.NKY_ALARM_GET NAG
+ right JOIN (
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ MAX(NAG.TIME)TIME,
+ MAX(NAG.CREATE_TIME) CREATE_TIME,
+ NAG.TYPE
+ FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = nag.dam_id
+
+ WHERE
+ dam_id = #{alarmGet.damId}
+ and (type = '3' or type = '4' or type = '5')
+ GROUP BY
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE
+
+ )TMP ON (
+ TMP.DAM_ID = NAG.DAM_ID
+ AND TMP.POINT_ID = NAG.POINT_ID
+ AND TMP.TYPE = NAG.TYPE
+ AND TMP.TIME = NAG.TIME
+ AND TMP.CREATE_TIME = NAG.CREATE_TIME
+ )
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = NAG.DAM_ID
+
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+
+ LEFT JOIN SJZT_MD."att_wy_cd_base" acb on
+ acb."res_cd" = #{alarmGet.damId}
+ and acb."cd" = nag.point_id
+ and acb."cd_type" = 'wy'
+ ORDER BY POINT_ID
</select>
--
Gitblit v1.9.3