xieb
2024-01-24 aa2004ef65a3d8c8e15ec1689fc4f8e1b8d91c59
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
@@ -1488,24 +1488,21 @@
        FROM(
        SELECT "res_cd", COUNT(*) syStation
        SELECT
        distinct (dri."res_cd")
        FROM
        (
        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spprmp" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        sjzt_dw."dim_res_info_a" dri
        LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) resList
@@ -1557,24 +1554,21 @@
        FROM(
        SELECT "res_cd", COUNT(*) syStation
        SELECT
        distinct (dri."res_cd")
        FROM
        (
        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spprmp" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        sjzt_dw."dim_res_info_a" dri
        LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) resList
@@ -1595,8 +1589,8 @@
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.countyCode as adCode,
        r.countyName as adName,
        r.countyCode as adCode,
        count(*) as total,
        '3' AS adGrad
        FROM (
@@ -1625,24 +1619,21 @@
        FROM(
        SELECT "res_cd", COUNT(*) syStation
        SELECT
        distinct (dri."res_cd")
        FROM
        (
        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spprmp" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        sjzt_dw."dim_res_info_a" dri
        LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) resList
@@ -1653,6 +1644,71 @@
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.countyCode,r.countyName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
    UNION ALL
    SELECT
    tmp.*,
    'sy' as type,
    parent."p_ad_code" pAdCode,
    parent."p_ad_name" pAdName
    FROM(
    SELECT
    r.townName as adName,
    r.townCode as adCode,
    count(*) as total,
    '4' AS adGrad
    FROM (
    SELECT
    resList."res_cd",
    case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
    case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
    case when town."ad_grad" = 3 THEN town."ad_code"
    when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
    case when town."ad_grad" = 3 THEN town."ad_name"
    when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
    case when town."ad_grad" = 2 THEN town."ad_code"
    when county."ad_grad" = 2 THEN county."ad_code"
    ELSE city."ad_code" END AS cityCode,
    case when town."ad_grad" = 2 THEN town."ad_name"
    when county."ad_grad" = 2 THEN county."ad_name"
    ELSE city."ad_name" END AS cityName,
    case when town."ad_grad" = 1 THEN town."ad_code"
    when county."ad_grad" = 1 THEN county."ad_code"
    when city."ad_grad" = 1 THEN city."ad_code"
    ELSE province."ad_code" END AS provinceCode,
    case when town."ad_grad" = 1 THEN town."ad_name"
    when county."ad_grad" = 1 THEN county."ad_name"
    when city."ad_grad" = 1 THEN city."ad_name"
    ELSE province."ad_name" END AS provinceName
    FROM(
        SELECT
        distinct (dri."res_cd")
        FROM
        sjzt_dw."dim_res_info_a" dri
        LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
    ) resList
    LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList."res_cd"
    LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
    LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
    LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
    LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
    group by r.townName, r.townCode)TMP
    LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
    </select>
@@ -1695,31 +1751,18 @@
            FROM(
            SELECT
            "res_cd",
            COUNT(*) slStation
            FROM (
            SELECT
            b."guid" as "res_cd",
            'sl' as "sys_resource"
            FROM sjzt_ods."dsm_spg_spqn" a
            LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
            WHERE
            b."guid" IS NOT NULL
            AND a."mstm" &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"
            SELECT distinct(dri."res_cd")
            from sjzt_dw."dim_res_info_a" dri
            left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            where dss."rscd" is not null
            <if test=" dam.adCode!= null and dam.adCode !='' ">
                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
            </if>
            GROUP BY "res_cd"
            ) resList
@@ -1771,31 +1814,18 @@
        FROM(
        SELECT
        "res_cd",
        COUNT(*) slStation
        FROM (
        SELECT
        b."guid" as "res_cd",
        'sl' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spqn" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE
        b."guid" IS NOT NULL
        AND a."mstm" &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"
        SELECT distinct(dri."res_cd")
        from sjzt_dw."dim_res_info_a" dri
        left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) resList
@@ -1816,8 +1846,8 @@
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.countyCode as adCode,
        r.countyName as adName,
        r.countyCode as adCode,
        count(*) as total,
        '3' AS adGrad
        FROM (
@@ -1846,32 +1876,18 @@
        FROM(
        SELECT
        "res_cd",
        COUNT(*) slStation
        FROM (
        SELECT
        b."guid" as "res_cd",
        'sl' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spqn" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE
        b."guid" IS NOT NULL
        AND a."mstm" &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"
        SELECT distinct(dri."res_cd")
        from sjzt_dw."dim_res_info_a" dri
        left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) resList
@@ -1881,6 +1897,68 @@
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.countyCode,r.countyName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
        UNION ALL
        SELECT
        tmp.*,
        'sl' as type,
        parent."p_ad_code" pAdCode,
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.townName as adName,
        r.townCode as adCode,
        count(*) as total,
        '4' AS adGrad
        FROM (
        SELECT
        resList."res_cd",
        case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
        case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
        case when town."ad_grad" = 3 THEN town."ad_code"
        when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
        case when town."ad_grad" = 3 THEN town."ad_name"
        when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
        case when town."ad_grad" = 2 THEN town."ad_code"
        when county."ad_grad" = 2 THEN county."ad_code"
        ELSE city."ad_code" END AS cityCode,
        case when town."ad_grad" = 2 THEN town."ad_name"
        when county."ad_grad" = 2 THEN county."ad_name"
        ELSE city."ad_name" END AS cityName,
        case when town."ad_grad" = 1 THEN town."ad_code"
        when county."ad_grad" = 1 THEN county."ad_code"
        when city."ad_grad" = 1 THEN city."ad_code"
        ELSE province."ad_code" END AS provinceCode,
        case when town."ad_grad" = 1 THEN town."ad_name"
        when county."ad_grad" = 1 THEN county."ad_name"
        when city."ad_grad" = 1 THEN city."ad_name"
        ELSE province."ad_name" END AS provinceName
        FROM(
        SELECT distinct(dri."res_cd")
        from sjzt_dw."dim_res_info_a" dri
        left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        ) resList
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.townCode,r.townName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
    </select>
@@ -1923,26 +2001,16 @@
            FROM(
            SELECT "res_cd",COUNT(*) wyStation
            FROM
            (
            SELECT b."guid" as "res_cd",'wy' as "sys_resource"
            FROM
            (
            SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
            ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
            where b."guid" is not null
            ) temp
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
            SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            WHERE 1= 1
            where awcb."cd" != '00'
            <if test=" dam.adCode!= null and dam.adCode !='' ">
                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
            </if>
            GROUP BY "res_cd"
            ) resList
@@ -1994,26 +2062,16 @@
        FROM(
        SELECT "res_cd",COUNT(*) wyStation
        FROM
        (
        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
        FROM
        (
        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
        where b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1
        where awcb."cd" != '00'
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) resList
@@ -2034,8 +2092,8 @@
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.countyCode as adCode,
        r.countyName as adName,
        r.countyCode as adCode,
        count(*) as total,
        '3' AS adGrad
        FROM (
@@ -2065,26 +2123,16 @@
        SELECT "res_cd",COUNT(*) wyStation
        FROM
        (
        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
        FROM
        (
        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
        where b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1
        where awcb."cd" != '00'
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) resList
@@ -2094,6 +2142,67 @@
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.countyCode,r.countyName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
        UNION ALL
        SELECT
        tmp.*,
        'wy' as type,
        parent."p_ad_code" pAdCode,
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.townName as adName,
        r.townCode as adCode,
        count(*) as total,
        '4' AS adGrad
        FROM (
        SELECT
        resList."res_cd",
        case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
        case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
        case when town."ad_grad" = 3 THEN town."ad_code"
        when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
        case when town."ad_grad" = 3 THEN town."ad_name"
        when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
        case when town."ad_grad" = 2 THEN town."ad_code"
        when county."ad_grad" = 2 THEN county."ad_code"
        ELSE city."ad_code" END AS cityCode,
        case when town."ad_grad" = 2 THEN town."ad_name"
        when county."ad_grad" = 2 THEN county."ad_name"
        ELSE city."ad_name" END AS cityName,
        case when town."ad_grad" = 1 THEN town."ad_code"
        when county."ad_grad" = 1 THEN county."ad_code"
        when city."ad_grad" = 1 THEN city."ad_code"
        ELSE province."ad_code" END AS provinceCode,
        case when town."ad_grad" = 1 THEN town."ad_name"
        when county."ad_grad" = 1 THEN county."ad_name"
        when city."ad_grad" = 1 THEN city."ad_name"
        ELSE province."ad_name" END AS provinceName
        FROM(
        SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where awcb."cd" != '00'
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        ) resList
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.townCode,r.townName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
    </select>
@@ -2248,8 +2357,9 @@
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.countyCode as adCode,
        r.countyName as adName,
        r.countyCode as adCode,
        count(*) as total,
        '3' AS adGrad
        FROM (
@@ -2307,6 +2417,74 @@
        group by r.countyCode,r.countyName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
        UNION ALL
        SELECT
        tmp.*,
        parent."p_ad_code" pAdCode,
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.townName as adName,
        r.townCode as adCode,
        count(*) as total,
        '4' AS adGrad
        FROM (
        SELECT
        resList.resCd,
        case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
        case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
        case when town."ad_grad" = 3 THEN town."ad_code"
        when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
        case when town."ad_grad" = 3 THEN town."ad_name"
        when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
        case when town."ad_grad" = 2 THEN town."ad_code"
        when county."ad_grad" = 2 THEN county."ad_code"
        ELSE city."ad_code" END AS cityCode,
        case when town."ad_grad" = 2 THEN town."ad_name"
        when county."ad_grad" = 2 THEN county."ad_name"
        ELSE city."ad_name" END AS cityName,
        case when town."ad_grad" = 1 THEN town."ad_code"
        when county."ad_grad" = 1 THEN county."ad_code"
        when city."ad_grad" = 1 THEN city."ad_code"
        ELSE province."ad_code" END AS provinceCode,
        case when town."ad_grad" = 1 THEN town."ad_name"
        when county."ad_grad" = 1 THEN county."ad_name"
        when city."ad_grad" = 1 THEN city."ad_name"
        ELSE province."ad_name" END AS provinceName
        FROM(
        SELECT DAM_ID as resCd FROM YWXT.NKY_ALARM_GET NAG
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        <if test="dam.type =='sy' ">
            AND NAG.type = '1'
        </if>
        <if test="dam.type =='sl' ">
            AND NAG.type = '2'
        </if>
        <if test="dam.type =='wy' ">
            AND (NAG.type = '3'  or NAG.type ='4' or NAG.type ='5' )
        </if>
        GROUP BY DAM_ID
        ) resList
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.townCode,r.townName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
    </select>
@@ -2354,24 +2532,21 @@
            SELECT "res_cd", COUNT(*) syStation
            SELECT
            distinct (dri."res_cd")
            FROM
            (
            SELECT b."guid" as "res_cd",'sy' as "sys_resource"
            FROM sjzt_ods."dsm_spg_spprmp" a
            LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
            WHERE b."guid" is not null
            ) temp
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
            sjzt_dw."dim_res_info_a" dri
            LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            WHERE 1=1
            where dss."rscd" is not null
            <if test=" dam.adCode!= null and dam.adCode !='' ">
                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
            </if>
            GROUP BY "res_cd"
@@ -2453,24 +2628,26 @@
        SELECT normalList."res_cd" as resCd FROM (
        SELECT allList."res_cd",errorList."name" FROM (
        SELECT "res_cd", COUNT(*) syStation
        SELECT
        distinct (dri."res_cd")
        FROM
        (
        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spprmp" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        sjzt_dw."dim_res_info_a" dri
        LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) allList LEFT JOIN
        (
@@ -2518,8 +2695,8 @@
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.countyCode as adCode,
        r.countyName as adName,
        r.countyCode as adCode,
        count(*) as total,
        '3' AS adGrad
        FROM (
@@ -2549,24 +2726,29 @@
        SELECT normalList."res_cd" as resCd FROM (
        SELECT allList."res_cd",errorList."name" FROM (
        SELECT "res_cd", COUNT(*) syStation
        SELECT
        distinct (dri."res_cd")
        FROM
        (
        SELECT b."guid" as "res_cd",'sy' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spprmp" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        sjzt_dw."dim_res_info_a" dri
        LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
        ) allList LEFT JOIN
        (
@@ -2604,16 +2786,107 @@
        group by r.countyCode,r.countyName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
        UNION ALL
        SELECT
        tmp.*,
        parent."p_ad_code" pAdCode,
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.townName as adName,
        r.townCode as adCode,
        count(*) as total,
        '4' AS adGrad
        FROM (
        SELECT
        resList.resCd,
        case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
        case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
        case when town."ad_grad" = 3 THEN town."ad_code"
        when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
        case when town."ad_grad" = 3 THEN town."ad_name"
        when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
        case when town."ad_grad" = 2 THEN town."ad_code"
        when county."ad_grad" = 2 THEN county."ad_code"
        ELSE city."ad_code" END AS cityCode,
        case when town."ad_grad" = 2 THEN town."ad_name"
        when county."ad_grad" = 2 THEN county."ad_name"
        ELSE city."ad_name" END AS cityName,
        case when town."ad_grad" = 1 THEN town."ad_code"
        when county."ad_grad" = 1 THEN county."ad_code"
        when city."ad_grad" = 1 THEN city."ad_code"
        ELSE province."ad_code" END AS provinceCode,
        case when town."ad_grad" = 1 THEN town."ad_name"
        when county."ad_grad" = 1 THEN county."ad_name"
        when city."ad_grad" = 1 THEN city."ad_name"
        ELSE province."ad_name" END AS provinceName
        FROM(
        SELECT normalList."res_cd" as resCd FROM (
        SELECT allList."res_cd",errorList."name" FROM (
        SELECT
        distinct (dri."res_cd")
        FROM
        sjzt_dw."dim_res_info_a" dri
        LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        ) allList LEFT JOIN
        (
        SELECT DAM_ID as resCd,arb."name" FROM YWXT.NKY_ALARM_GET NAG
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        <if test="dam.type =='sy' ">
            AND NAG.type = '1'
        </if>
        <if test="dam.type =='sl' ">
            AND NAG.type = '2'
        </if>
        <if test="dam.type =='wy' ">
            AND (NAG.type = '3'  or NAG.type ='4' or NAG.type ='5' )
        </if>
        GROUP BY DAM_ID,arb."name"
        ) errorList ON allList."res_cd" = errorList.resCd
        )normalList where normalList."name" is null
        ) resList
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.townCode,r.townName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
    </select>
    <select id="getDamSlRegionNormal" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRegion">
        <if test="dam.adCode == '420000000000'">
            SELECT
            tmp.*,
@@ -2656,31 +2929,18 @@
            SELECT
            "res_cd",
            COUNT(*) slStation
            FROM (
            SELECT
            b."guid" as "res_cd",
            'sl' as "sys_resource"
            FROM sjzt_ods."dsm_spg_spqn" a
            LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
            WHERE
            b."guid" IS NOT NULL
            AND a."mstm" &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"
            SELECT distinct(dri."res_cd")
            from sjzt_dw."dim_res_info_a" dri
            left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            where dss."rscd" is not null
            <if test=" dam.adCode!= null and dam.adCode !='' ">
                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
            </if>
            GROUP BY "res_cd"
@@ -2766,31 +3026,18 @@
        SELECT
        "res_cd",
        COUNT(*) slStation
        FROM (
        SELECT
        b."guid" as "res_cd",
        'sl' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spqn" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE
        b."guid" IS NOT NULL
        AND a."mstm" &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"
        SELECT distinct(dri."res_cd")
        from sjzt_dw."dim_res_info_a" dri
        left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
@@ -2841,8 +3088,8 @@
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.countyCode as adCode,
        r.countyName as adName,
        r.countyCode as adCode,
        count(*) as total,
        '3' AS adGrad
        FROM (
@@ -2875,31 +3122,18 @@
        SELECT
        "res_cd",
        COUNT(*) slStation
        FROM (
        SELECT
        b."guid" as "res_cd",
        'sl' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spqn" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE
        b."guid" IS NOT NULL
        AND a."mstm" &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"
        SELECT distinct(dri."res_cd")
        from sjzt_dw."dim_res_info_a" dri
        left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
@@ -2940,21 +3174,99 @@
        group by r.countyCode,r.countyName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
        UNION ALL
        SELECT
        tmp.*,
        parent."p_ad_code" pAdCode,
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.townName as adName,
        r.townCode as adCode,
        count(*) as total,
        '4' AS adGrad
        FROM (
        SELECT
        resList.resCd,
        case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
        case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
        case when town."ad_grad" = 3 THEN town."ad_code"
        when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
        case when town."ad_grad" = 3 THEN town."ad_name"
        when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
        case when town."ad_grad" = 2 THEN town."ad_code"
        when county."ad_grad" = 2 THEN county."ad_code"
        ELSE city."ad_code" END AS cityCode,
        case when town."ad_grad" = 2 THEN town."ad_name"
        when county."ad_grad" = 2 THEN county."ad_name"
        ELSE city."ad_name" END AS cityName,
        case when town."ad_grad" = 1 THEN town."ad_code"
        when county."ad_grad" = 1 THEN county."ad_code"
        when city."ad_grad" = 1 THEN city."ad_code"
        ELSE province."ad_code" END AS provinceCode,
        case when town."ad_grad" = 1 THEN town."ad_name"
        when county."ad_grad" = 1 THEN county."ad_name"
        when city."ad_grad" = 1 THEN city."ad_name"
        ELSE province."ad_name" END AS provinceName
        FROM(
        SELECT normalList."res_cd" as resCd FROM (
        SELECT allList."res_cd",errorList."name" FROM (
        SELECT distinct(dri."res_cd")
        from sjzt_dw."dim_res_info_a" dri
        left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where dss."rscd" is not null
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        ) allList LEFT JOIN
        (
        SELECT DAM_ID as resCd,arb."name" FROM YWXT.NKY_ALARM_GET NAG
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        <if test="dam.type =='sy' ">
            AND NAG.type = '1'
        </if>
        <if test="dam.type =='sl' ">
            AND NAG.type = '2'
        </if>
        <if test="dam.type =='wy' ">
            AND (NAG.type = '3'  or NAG.type ='4' or NAG.type ='5' )
        </if>
        GROUP BY DAM_ID,arb."name"
        ) errorList ON allList."res_cd" = errorList.resCd
        )normalList where normalList."name" is null
        ) resList
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.townCode,r.townName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
@@ -3007,26 +3319,16 @@
            SELECT "res_cd",COUNT(*) wyStation
            FROM
            (
            SELECT b."guid" as "res_cd",'wy' as "sys_resource"
            FROM
            (
            SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
            ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
            where b."guid" is not null
            ) temp
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
            SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            WHERE 1= 1
            where awcb."cd" != '00'
            <if test=" dam.adCode!= null and dam.adCode !='' ">
                AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
            </if>
            GROUP BY "res_cd"
@@ -3112,26 +3414,16 @@
        SELECT "res_cd",COUNT(*) wyStation
        FROM
        (
        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
        FROM
        (
        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
        where b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1
        where awcb."cd" != '00'
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
@@ -3183,8 +3475,8 @@
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.countyCode as adCode,
        r.countyName as adName,
        r.countyCode as adCode,
        count(*) as total,
        '3' AS adGrad
        FROM (
@@ -3218,26 +3510,16 @@
        SELECT "res_cd",COUNT(*) wyStation
        FROM
        (
        SELECT b."guid" as "res_cd",'wy' as "sys_resource"
        FROM
        (
        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
        where b."guid" is not null
        ) temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp."res_cd"
        SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1
        where awcb."cd" != '00'
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        GROUP BY "res_cd"
@@ -3278,7 +3560,247 @@
        group by r.countyCode,r.countyName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
        UNION ALL
        SELECT
        tmp.*,
        parent."p_ad_code" pAdCode,
        parent."p_ad_name" pAdName
        FROM(
        SELECT
        r.townName as adName,
        r.townCode as adCode,
        count(*) as total,
        '4' AS adGrad
        FROM (
        SELECT
        resList.resCd,
        case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
        case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
        case when town."ad_grad" = 3 THEN town."ad_code"
        when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
        case when town."ad_grad" = 3 THEN town."ad_name"
        when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
        case when town."ad_grad" = 2 THEN town."ad_code"
        when county."ad_grad" = 2 THEN county."ad_code"
        ELSE city."ad_code" END AS cityCode,
        case when town."ad_grad" = 2 THEN town."ad_name"
        when county."ad_grad" = 2 THEN county."ad_name"
        ELSE city."ad_name" END AS cityName,
        case when town."ad_grad" = 1 THEN town."ad_code"
        when county."ad_grad" = 1 THEN county."ad_code"
        when city."ad_grad" = 1 THEN city."ad_code"
        ELSE province."ad_code" END AS provinceCode,
        case when town."ad_grad" = 1 THEN town."ad_name"
        when county."ad_grad" = 1 THEN county."ad_name"
        when city."ad_grad" = 1 THEN city."ad_name"
        ELSE province."ad_name" END AS provinceName
        FROM(
        SELECT normalList."res_cd" as resCd FROM (
        SELECT allList."res_cd",errorList."name" FROM (
        SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where awcb."cd" != '00'
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        ) allList LEFT JOIN
        (
        SELECT DAM_ID as resCd,arb."name" FROM YWXT.NKY_ALARM_GET NAG
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1= 1 AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
        <if test=" dam.adCode!= null and dam.adCode !='' ">
            AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
        </if>
        <if test="dam.type =='sy' ">
            AND NAG.type = '1'
        </if>
        <if test="dam.type =='sl' ">
            AND NAG.type = '2'
        </if>
        <if test="dam.type =='wy' ">
            AND (NAG.type = '3'  or NAG.type ='4' or NAG.type ='5' )
        </if>
        GROUP BY DAM_ID,arb."name"
        ) errorList ON allList."res_cd" = errorList.resCd
        )normalList where normalList."name" is null
        ) resList
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = resList.resCd
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code" )r
        group by r.townCode,r.townName)TMP
        LEFT JOIN SJZT_MD."att_ad_base" parent ON parent."guid" = tmp.adCode
    </select>
    <select id="damResInfoCountSy" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
        SELECT
            base.total,
            base.errorNum,
            (base.total-base.errorNum) as normalNum,
            base.typeName,
            base.type FROM (
                SELECT
                COUNT(*) total,
                '渗压' AS typeName ,
                '1' AS type,
                (SELECT COUNT(*) FROM
                (
                SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
                LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.dam_id
                LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
                LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
                LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
                LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
                WHERE
                TYPE = 1
                AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
                <if test=" adCode!= null and adCode !='' ">
                    AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
                </if>
                GROUP BY DAM_ID
                )
                ) errorNum
                FROM
                (
                SELECT
                distinct (dri."res_cd")
                FROM
                sjzt_dw."dim_res_info_a" dri
                LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
                LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
                LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
                LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
                LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
                LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
                where dss."rscd" is not null
                <if test=" adCode!= null and adCode !='' ">
                    AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
                </if>
                )
        )base
    </select>
    <select id="damResInfoCountSl" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
        SELECT
        base.total,
        base.errorNum,
        (base.total-base.errorNum) as normalNum,
        base.typeName,
        base.type FROM (
            SELECT
            COUNT(*) total,
            '渗流' AS typeName ,
            '2' AS type,
            (SELECT COUNT(*) FROM
            (
            SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.dam_id
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            WHERE
            TYPE = 2
            AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
            <if test=" adCode!= null and adCode !='' ">
                AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
            </if>
            GROUP BY DAM_ID
            )
            ) errorNum
            FROM
            (
            select distinct(dri."res_cd")
            from sjzt_dw."dim_res_info_a" dri
            left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            where dss."rscd" is not null
            <if test=" adCode!= null and adCode !='' ">
                AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
            </if>
            )
        )base
    </select>
    <select id="damResInfoCountWy" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
        SELECT
        base.total,
        base.errorNum,
        (base.total-base.errorNum) as normalNum,
        base.typeName,
        base.type FROM (
        SELECT
        COUNT(*) total,
        '位移' AS typeName ,
        '3' AS type,
        (SELECT COUNT(*) FROM
        (
        SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.dam_id
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE
        (TYPE = 3 or type = 4 or type = 5)
        AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
        <if test=" adCode!= null and adCode !='' ">
            AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
        GROUP BY DAM_ID
        )
        ) errorNum
        FROM
        (
        select distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        where awcb."cd" != '00'
        <if test=" adCode!= null and adCode !='' ">
            AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
        )
        )base
    </select>