From aa2004ef65a3d8c8e15ec1689fc4f8e1b8d91c59 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 24 Jan 2024 17:05:41 +0800
Subject: [PATCH] 巡检申报增加水库字段

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml | 2365 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,362 insertions(+), 3 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 e420853..809085d 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
@@ -1162,7 +1162,7 @@
 
                 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
+        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})
         <if test="dam.startTime != null and dam.startTime != ''">
             AND DATE_FORMAT(time,'%Y-%m-%d') &gt;= #{dam.startTime}
@@ -1257,7 +1257,7 @@
         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"
         LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = NAG.DAM_ID AND NAG.POINT_ID = acb."cd"
-        WHERE 1=1
+        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})
         </if>
@@ -1377,7 +1377,7 @@
         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"
         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
+        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})
         </if>
@@ -1447,4 +1447,2363 @@
     </select>
 
 
+
+    <select id="getDamSyRegion" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
+
+    <if test="dam.adCode == '420000000000'">
+        SELECT
+        tmp.*,
+        'sy' as type,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.provinceName as adName,
+        r.provinceCode as adCode,
+        count(*) as total,
+        '1' 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.provinceName,r.provinceCode)TMP
+        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+        UNION ALL
+    </if>
+
+    SELECT
+        tmp.*,
+        'sy' as type,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.cityName as adName,
+        r.cityCode as adCode,
+        count(*) as total,
+        '2' 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.cityName,r.cityCode)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.countyName as adName,
+        r.countyCode as adCode,
+        count(*) as total,
+        '3' 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.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>
+    <select id="getDamSlRegion" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
+        <if test="dam.adCode == '420000000000'">
+            SELECT
+            tmp.*,
+            'sl' as type,
+            parent."p_ad_code" pAdCode,
+            parent."p_ad_name" pAdName
+            FROM(
+            SELECT
+            r.provinceName as adName,
+            r.provinceCode as adCode,
+            count(*) as total,
+            '1' 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.provinceName,r.provinceCode)TMP
+            LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+            UNION ALL
+        </if>
+
+        SELECT
+        tmp.*,
+        'sl' as type,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.cityName as adName,
+        r.cityCode as adCode,
+        count(*) as total,
+        '2' 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.cityName,r.cityCode)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.countyName as adName,
+        r.countyCode as adCode,
+        count(*) as total,
+        '3' 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.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>
+
+    <select id="getDamWyRegion" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
+        <if test="dam.adCode == '420000000000'">
+            SELECT
+            tmp.*,
+            'wy' as type,
+            parent."p_ad_code" pAdCode,
+            parent."p_ad_name" pAdName
+            FROM(
+            SELECT
+            r.provinceName as adName,
+            r.provinceCode as adCode,
+            count(*) as total,
+            '1' 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.provinceName,r.provinceCode)TMP
+            LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+            UNION ALL
+        </if>
+
+        SELECT
+        tmp.*,
+        'wy' as type,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.cityName as adName,
+        r.cityCode as adCode,
+        count(*) as total,
+        '2' 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.cityName,r.cityCode)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.countyName as adName,
+        r.countyCode as adCode,
+        count(*) as total,
+        '3' 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.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>
+
+
+
+    <select id="getErrorDamRegion" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
+
+        <if test="dam.adCode == '420000000000'">
+            SELECT
+            tmp.*,
+            parent."p_ad_code" pAdCode,
+            parent."p_ad_name" pAdName
+            FROM(
+            SELECT
+            r.provinceName as adName,
+            r.provinceCode as adCode,
+            count(*) as total,
+            '1' 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.provinceName,r.provinceCode)TMP
+            LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+            UNION ALL
+        </if>
+
+        SELECT
+        tmp.*,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.cityName as adName,
+        r.cityCode as adCode,
+        count(*) as total,
+        '2' 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.cityName,r.cityCode)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.countyName as adName,
+        r.countyCode as adCode,
+
+        count(*) as total,
+        '3' 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.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>
+    <select id="getDamSyRegionNormal" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
+
+        <if test="dam.adCode == '420000000000'">
+            SELECT
+            tmp.*,
+            parent."p_ad_code" pAdCode,
+            parent."p_ad_name" pAdName
+            FROM(
+            SELECT
+            r.provinceName as adName,
+            r.provinceCode as adCode,
+            count(*) as total,
+            '1' 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.provinceName,r.provinceCode)TMP
+            LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+            UNION ALL
+        </if>
+
+        SELECT
+        tmp.*,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.cityName as adName,
+        r.cityCode as adCode,
+        count(*) as total,
+        '2' 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.cityName,r.cityCode)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.countyName as adName,
+        r.countyCode as adCode,
+        count(*) as total,
+        '3' 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.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.*,
+            parent."p_ad_code" pAdCode,
+            parent."p_ad_name" pAdName
+            FROM(
+            SELECT
+            r.provinceName as adName,
+            r.provinceCode as adCode,
+            count(*) as total,
+            '1' 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.provinceName,r.provinceCode)TMP
+            LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+            UNION ALL
+        </if>
+
+        SELECT
+        tmp.*,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.cityName as adName,
+        r.cityCode as adCode,
+        count(*) as total,
+        '2' 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.cityName,r.cityCode)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.countyName as adName,
+        r.countyCode as adCode,
+        count(*) as total,
+        '3' 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.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
+
+
+
+
+
+
+
+    </select>
+    <select id="getDamWyRegionNormal" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
+
+        <if test="dam.adCode == '420000000000'">
+            SELECT
+            tmp.*,
+            parent."p_ad_code" pAdCode,
+            parent."p_ad_name" pAdName
+            FROM(
+            SELECT
+            r.provinceName as adName,
+            r.provinceCode as adCode,
+            count(*) as total,
+            '1' 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.provinceName,r.provinceCode)TMP
+            LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
+
+            UNION ALL
+        </if>
+
+        SELECT
+        tmp.*,
+        parent."p_ad_code" pAdCode,
+        parent."p_ad_name" pAdName
+        FROM(
+        SELECT
+        r.cityName as adName,
+        r.cityCode as adCode,
+        count(*) as total,
+        '2' 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.cityName,r.cityCode)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.countyName as adName,
+        r.countyCode as adCode,
+        count(*) as total,
+        '3' 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.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
+            base.total,
+            base.errorNum,
+            (base.total-base.errorNum) as normalNum,
+            base.typeName,
+            base.type FROM (
+                SELECT
+                COUNT(*) total,
+                '渗压' AS typeName ,
+                '1' AS type,
+                (SELECT COUNT(*) FROM
+                (
+                SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
+                LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.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
+                TYPE = 1
+                AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+                <if test=" adCode!= null and adCode !='' ">
+                    AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
+                </if>
+                GROUP BY DAM_ID
+                )
+                ) errorNum
+                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=" adCode!= null and adCode !='' ">
+                    AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
+                </if>
+                )
+        )base
+
+
+
+    </select>
+    <select id="damResInfoCountSl" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
+        SELECT
+        base.total,
+        base.errorNum,
+        (base.total-base.errorNum) as normalNum,
+        base.typeName,
+        base.type FROM (
+            SELECT
+            COUNT(*) total,
+            '渗流' AS typeName ,
+            '2' AS type,
+            (SELECT COUNT(*) FROM
+            (
+            SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
+            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.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
+            TYPE = 2
+            AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+            <if test=" adCode!= null and adCode !='' ">
+                AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
+            </if>
+            GROUP BY DAM_ID
+            )
+            ) errorNum
+            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=" adCode!= null and adCode !='' ">
+                AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
+            </if>
+            )
+        )base
+
+
+    </select>
+    <select id="damResInfoCountWy" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
+        SELECT
+        base.total,
+        base.errorNum,
+        (base.total-base.errorNum) as normalNum,
+        base.typeName,
+        base.type FROM (
+        SELECT
+        COUNT(*) total,
+        '位移' AS typeName ,
+        '3' AS type,
+        (SELECT COUNT(*) FROM
+        (
+        SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.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
+        (TYPE = 3 or type = 4 or type = 5)
+        AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+        <if test=" adCode!= null and adCode !='' ">
+            AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
+        </if>
+        GROUP BY DAM_ID
+        )
+        ) errorNum
+        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=" adCode!= null and adCode !='' ">
+            AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
+        </if>
+        )
+        )base
+
+
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.3