From 6b8971db2990a8bcb4c67ba0d07df2368a00a45e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 28 Dec 2023 19:57:42 +0800
Subject: [PATCH] 大坝一张图接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml | 2143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,143 insertions(+), 0 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 1c445d5..ae244b1 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
@@ -1137,6 +1137,2149 @@
         </choose>
         )
 
+    </select>
+
+
+    <select id="getRegionList" resultType="cn.gistack.sm.damSecurity.vo.DamMonitor">
+        SELECT aab."ad_name" adName , aab."guid" adCode from SJZT_MD."att_ad_base" aab where
+        <choose>
+            <when test="dam.adCode != null and dam.adCode !='' ">
+                "p_ad_code" = #{dam.adCode}
+            </when>
+            <otherwise>
+                "ad_grad" = 2
+            </otherwise>
+        </choose>
+    </select>
+    <select id="getLevelList" resultType="cn.gistack.sm.damSecurity.vo.LevelPo">
+        SELECT COUNT(*) AS num ,level FROM 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 arb."interior_ad_guid" = town."ad_code"
+                left join SJZT_MD."att_ad_base" county on town."p_ad_code" = county."ad_code"
+                left join SJZT_MD."att_ad_base" city on county."p_ad_code" = city."ad_code"
+                left join SJZT_MD."att_ad_base" province on city."p_ad_code" = province."ad_code"
+                LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = NAG.DAM_ID
+
+                LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid"
+                LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code"
+        where 1=1 and NAG.level != 5
+        AND (province."ad_code" = #{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode}  or town."ad_code" = #{dam.adCode})
+        <if test="dam.startTime != null and dam.startTime != ''">
+            AND DATE_FORMAT(time,'%Y-%m-%d') &gt;= #{dam.startTime}
+        </if>
+        <if test="dam.endTime != null and dam.endTime !='' ">
+            AND DATE_FORMAT(time,'%Y-%m-%d') &lt;= #{dam.endTime}
+        </if>
+
+        <if test="dam.engScal != null and dam.engScal !='' ">
+            AND arb."eng_scal" = #{dam.engScal}
+        </if>
+
+        <if test="dam.type != null and dam.type != '' and dam.type != 3">
+            AND NAG.type = #{dam.type}
+        </if>
+        <if test="dam.type != null and dam.type != '' and dam.type == 3">
+            AND (NAG.type = 3 or NAG.type = 4 or NAG.type = 5)
+        </if>
+
+        <if test="dam.labels != null and dam.labels != '' ">
+            AND( 1!=1
+            <foreach collection="dam.labels.split(',')" item="item" open="" separator="" close="" index="index">
+                OR  #{item}  in (arb."label")
+            </foreach>
+            )
+        </if>
+
+        <if test="dam.basGuids != null and dam.basGuids !='' ">
+            AND(
+            abb."code" in
+            <foreach collection="dam.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or pabb."code" in
+            <foreach collection="dam.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
+
+        GROUP BY LEVEL ORDER BY level ASC
+
+    </select>
+
+
+
+    <select id="pageMonitor" resultType="cn.gistack.nky.vo.AlarmGetVO">
+        SELECT
+        NAG.ID,
+        NAG.DAM_ID,
+        NAG.POINT_ID,
+        NAG.TYPE,
+        (
+        CASE
+        WHEN NAG.TYPE=1 THEN '渗压'
+        WHEN NAG.TYPE=2 THEN '渗流'
+        WHEN (NAG.TYPE=3 OR NAG.TYPE=4 OR NAG.TYPE=5) THEN '位移'
+        END) AS typeName,
+        NAG.TIME,
+        NAG.VALUE,
+        NAG."DESC",
+        NAG.CREATE_TIME,
+        NAG.TASK_CATEGORY,
+        NAG.LEVEL,
+        NAG.BAOJINGZHI,
+        NAG.ORIGIN_ID,
+        NAG.FORWARD,
+        NAG."REVERSE",
+        NAG.RATIO,
+        NAG.STATUS,
+        province."guid" as provinceCode,
+        province."ad_name" as provinceName,
+        city."guid" as cityCode,
+        city."ad_name" as cityName,
+        county."guid" as countyCode,
+        county."ad_name" as countyName,
+
+        arb."name" as reservoirName,
+        acb."cd_nm" as cdName
+
+        FROM 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"
+
+
+        LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = NAG.DAM_ID
+
+        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 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>
+
+        <if test="vo.startTime != null and vo.startTime != ''">
+            AND DATE_FORMAT(NAG.time,'%Y-%m-%d')  &gt;= #{vo.startTime}
+        </if>
+
+        <if test="vo.endTime != null and vo.endTime !='' ">
+            AND DATE_FORMAT(NAG.time,'%Y-%m-%d') &lt;= #{vo.endTime}
+        </if>
+
+        <if test="vo.level != null and vo.level !='' ">
+            AND NAG.level = #{vo.level}
+        </if>
+
+        <if test="vo.status != null and vo.status !='' ">
+            AND NAG.status = #{vo.status}
+        </if>
+
+        <if test="vo.type != null and vo.type !='' and vo.type == 1 ">
+            AND NAG.type = #{vo.type}
+        </if>
+
+        <if test="vo.type != null and vo.type !='' and vo.type == 2">
+            AND NAG.type = #{vo.type}
+        </if>
+
+        <if test="vo.type != null and vo.type !='' and vo.type == 3">
+            AND (NAG.type = '3' or NAG.type = '4' or NAG.type = '5')
+        </if>
+
+        <if test="vo.pointId != null and vo.pointId !='' ">
+            AND NAG.POINT_id = #{vo.pointId}
+        </if>
+
+        <if test="vo.basGuids != null and vo.basGuids !='' ">
+            AND(
+            abb."code" in
+            <foreach collection="vo.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or pabb."code" in
+            <foreach collection="vo.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
+
+        <if test="vo.labels != null and vo.labels != '' ">
+            AND( 1!=1
+            <foreach collection="vo.labels.split(',')" item="item" open="" separator="" close="" index="index">
+                OR  #{item}  in (arb."label")
+            </foreach>
+            )
+        </if>
+
+        <if test="vo.engScal != null and vo.engScal !='' ">
+            AND arb."eng_scal" = #{vo.engScal}
+        </if>
+
+        <if test="vo.resCds != null and vo.resCds != ''">
+            AND NAG.dam_id in
+            <foreach collection="vo.resCds.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        ORDER BY NAG.TIME DESC
+
+    </select>
+    <select id="pageMonitorWy" resultType="cn.gistack.nky.vo.AlarmGetVO">
+
+        SELECT
+        NAG.ID,
+        NAG.DAM_ID,
+        NAG.POINT_ID,
+        NAG.TYPE,
+        (
+        CASE
+        WHEN NAG.TYPE=1 THEN '渗压'
+        WHEN NAG.TYPE=2 THEN '渗流'
+        WHEN (NAG.TYPE=3 OR NAG.TYPE=4 OR NAG.TYPE=5) THEN '位移'
+        END) AS typeName,
+        NAG.TIME,
+        NAG.VALUE,
+        NAG."DESC",
+        NAG.CREATE_TIME,
+        NAG.TASK_CATEGORY,
+        NAG.LEVEL,
+        NAG.BAOJINGZHI,
+        NAG.ORIGIN_ID,
+        NAG.FORWARD,
+        NAG."REVERSE",
+        NAG.RATIO,
+        NAG.STATUS,
+        province."guid" as provinceCode,
+        province."ad_name" as provinceName,
+        city."guid" as cityCode,
+        city."ad_name" as cityName,
+        county."guid" as countyCode,
+        county."ad_name" as countyName,
+
+        arb."name" as reservoirName,
+        awcb."cd_nm" as cdName
+
+        FROM 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"
+
+
+        LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = NAG.DAM_ID
+
+        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 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>
+
+        <if test="vo.startTime != null and vo.startTime != ''">
+            AND DATE_FORMAT(NAG.time,'%Y-%m-%d')  &gt;= #{vo.startTime}
+        </if>
+
+        <if test="vo.endTime != null and vo.endTime !='' ">
+            AND DATE_FORMAT(NAG.time,'%Y-%m-%d') &lt;= #{vo.endTime}
+        </if>
+
+        <if test="vo.level != null and vo.level !='' ">
+            AND NAG.level = #{vo.level}
+        </if>
+
+        <if test="vo.status != null and vo.status !='' ">
+            AND NAG.status = #{vo.status}
+        </if>
+        <if test="vo.type != null and vo.type !='' and vo.type == 3">
+            AND (NAG.type = '3' or NAG.type = '4' or NAG.type = '5')
+        </if>
+
+        <if test="vo.pointId != null and vo.pointId !='' ">
+            AND NAG.POINT_id = #{vo.pointId}
+        </if>
+
+        <if test="vo.basGuids != null and vo.basGuids !='' ">
+            AND(
+            abb."code" in
+            <foreach collection="vo.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or pabb."code" in
+            <foreach collection="vo.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
+
+        <if test="vo.labels != null and vo.labels != '' ">
+            AND( 1!=1
+            <foreach collection="vo.labels.split(',')" item="item" open="" separator="" close="" index="index">
+                OR  #{item}  in (arb."label")
+            </foreach>
+            )
+        </if>
+
+        <if test="vo.engScal != null and vo.engScal !='' ">
+            AND arb."eng_scal" = #{vo.engScal}
+        </if>
+
+        <if test="vo.resCds != null and vo.resCds != ''">
+            AND NAG.dam_id in
+            <foreach collection="vo.resCds.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        ORDER BY NAG.TIME DESC
+
+    </select>
+
+
+
+    <select id="levelMonitorPie" resultType="cn.gistack.sm.damSecurity.vo.LevelPo">
+
+    </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 "res_cd", COUNT(*) syStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spprmp" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+        WHERE 1=1
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+        ) resList
+        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 "res_cd", COUNT(*) syStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spprmp" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+        WHERE 1=1
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+        ) resList
+        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.countyCode as adCode,
+        r.countyName as adName,
+        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 "res_cd", COUNT(*) syStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spprmp" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+        WHERE 1=1
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+        ) resList
+        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
+
+
+    </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
+            "res_cd",
+            COUNT(*) slStation
+            FROM (
+            SELECT
+            b."guid" as "res_cd",
+            'sl' as "sys_resource"
+            FROM sjzt_ods."dsm_spg_spqn" a
+            LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+            WHERE
+            b."guid" IS NOT NULL
+            AND a."mstm" &gt;=now()-30 and a."mstm"&lt;= now()
+
+
+            group by b."guid"
+            ) temp
+            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."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"
+            <if test=" dam.adCode!= null and dam.adCode !='' ">
+                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+            </if>
+            GROUP BY "res_cd"
+
+
+            ) resList
+            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
+        "res_cd",
+        COUNT(*) slStation
+        FROM (
+        SELECT
+        b."guid" as "res_cd",
+        'sl' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spqn" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE
+        b."guid" IS NOT NULL
+        AND a."mstm" &gt;=now()-30 and a."mstm"&lt;= now()
+
+
+        group by b."guid"
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."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"
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+        ) resList
+        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.countyCode as adCode,
+        r.countyName as adName,
+        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
+        "res_cd",
+        COUNT(*) slStation
+        FROM (
+        SELECT
+        b."guid" as "res_cd",
+        'sl' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spqn" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE
+        b."guid" IS NOT NULL
+        AND a."mstm" &gt;=now()-30 and a."mstm"&lt;= now()
+
+
+        group by b."guid"
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."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"
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+        ) resList
+        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
+    </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 "res_cd",COUNT(*) wyStation
+            FROM
+            (
+            SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+            FROM
+            (
+            SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
+            ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
+            where b."guid" is not null
+            ) temp
+            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+            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
+            <if test=" dam.adCode!= null and dam.adCode !='' ">
+                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+            </if>
+            GROUP BY "res_cd"
+
+
+            ) resList
+            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 "res_cd",COUNT(*) wyStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+        FROM
+        (
+        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
+        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
+        where b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        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
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+        ) resList
+        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.countyCode as adCode,
+        r.countyName as adName,
+        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 "res_cd",COUNT(*) wyStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+        FROM
+        (
+        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
+        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
+        where b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        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
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+        ) resList
+        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
+    </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.countyCode as adCode,
+        r.countyName as adName,
+        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
+
+
+
+    </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 "res_cd", COUNT(*) syStation
+            FROM
+            (
+            SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+            FROM sjzt_ods."dsm_spg_spprmp" a
+            LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+            WHERE b."guid" is not null
+            ) temp
+            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+            WHERE 1=1
+            <if test=" dam.adCode!= null and dam.adCode !='' ">
+                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+            </if>
+            GROUP BY "res_cd"
+
+
+
+                ) allList LEFT JOIN
+
+                (
+                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 "res_cd", COUNT(*) syStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spprmp" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+        WHERE 1=1
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+        ) allList LEFT JOIN
+
+        (
+        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.countyCode as adCode,
+        r.countyName as adName,
+        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 "res_cd", COUNT(*) syStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spprmp" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+        WHERE 1=1
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+        ) allList LEFT JOIN
+
+        (
+        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
+
+    </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
+            "res_cd",
+            COUNT(*) slStation
+            FROM (
+            SELECT
+            b."guid" as "res_cd",
+            'sl' as "sys_resource"
+            FROM sjzt_ods."dsm_spg_spqn" a
+            LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+            WHERE
+            b."guid" IS NOT NULL
+            AND a."mstm" &gt;=now()-30 and a."mstm"&lt;= now()
+
+
+            group by b."guid"
+            ) temp
+            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."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"
+            <if test=" dam.adCode!= null and dam.adCode !='' ">
+                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+            </if>
+            GROUP BY "res_cd"
+
+
+
+            ) allList LEFT JOIN
+
+            (
+            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
+        "res_cd",
+        COUNT(*) slStation
+        FROM (
+        SELECT
+        b."guid" as "res_cd",
+        'sl' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spqn" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE
+        b."guid" IS NOT NULL
+        AND a."mstm" &gt;=now()-30 and a."mstm"&lt;= now()
+
+
+        group by b."guid"
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."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"
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+
+        ) allList LEFT JOIN
+
+        (
+        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.countyCode as adCode,
+        r.countyName as adName,
+        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
+        "res_cd",
+        COUNT(*) slStation
+        FROM (
+        SELECT
+        b."guid" as "res_cd",
+        'sl' as "sys_resource"
+        FROM sjzt_ods."dsm_spg_spqn" a
+        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+        WHERE
+        b."guid" IS NOT NULL
+        AND a."mstm" &gt;=now()-30 and a."mstm"&lt;= now()
+
+
+        group by b."guid"
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."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"
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+
+        ) allList LEFT JOIN
+
+        (
+        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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    </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 "res_cd",COUNT(*) wyStation
+            FROM
+            (
+            SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+            FROM
+            (
+            SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
+            ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
+            where b."guid" is not null
+            ) temp
+            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+            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
+            <if test=" dam.adCode!= null and dam.adCode !='' ">
+                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+            </if>
+            GROUP BY "res_cd"
+
+
+
+            ) allList LEFT JOIN
+
+            (
+            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 "res_cd",COUNT(*) wyStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+        FROM
+        (
+        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
+        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
+        where b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        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
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+
+
+        ) allList LEFT JOIN
+
+        (
+        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.countyCode as adCode,
+        r.countyName as adName,
+        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 "res_cd",COUNT(*) wyStation
+        FROM
+        (
+        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+        FROM
+        (
+        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
+        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
+        where b."guid" is not null
+        ) temp
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
+        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
+        <if test=" dam.adCode!= null and dam.adCode !='' ">
+            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+        </if>
+        GROUP BY "res_cd"
+
+
+
+        ) allList LEFT JOIN
+
+        (
+        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
+
+
+
 
     </select>
 

--
Gitblit v1.9.3