guoshilong
2023-08-11 1fee64c10ffa5961f6970378d66a56e9b9f095f3
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
@@ -771,4 +771,221 @@
    </select>
    <select id="getSyList" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
        SELECT
            DISTINCT arb."guid" AS resCd,
            arb."name" AS resName,
            arb."center_long" AS longitude,
            arb."center_lat" AS latitude
        FROM(
            SELECT
                b."guid" as "res_cd",
                'sy' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid"  IS NOT NULL
          <if test="status ==2">
              AND b."guid"  NOT IN  (
              ifnull(
              (
              SELECT wm_concat(temp.resCd)
              FROM (
              SELECT DISTINCT arb."guid" 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 NAG.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>
              ) temp),'')
              )
          </if>
        <if test="status == 3">
            AND b."guid"   IN  (
            ifnull(
            (
            SELECT wm_concat(temp.resCd)
            FROM (
            SELECT DISTINCT arb."guid" 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 NAG.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>
            ) temp),'')
            )
        </if>
        ) baseRes
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseRes."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        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=" adCode != null and adCode !='' ">
            AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
    </select>
    <select id="getSlList" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
        SELECT
        DISTINCT arb."guid" AS resCd,
        arb."name" AS resName,
        arb."center_long" AS longitude,
        arb."center_lat" AS latitude
        FROM (SELECT b."guid" as "res_cd",'sl' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spqnmp" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid"  IS NOT NULL
          <if test="status == 2">
              AND b."guid"  NOT IN (
              ifnull(
              (SELECT wm_concat(temp.resCd) FROM
              (
              SELECT DISTINCT arb."guid" 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 NAG.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>
              ) temp),''
              )
              )
          </if>
        <if test="status == 3">
            AND b."guid"  IN (
            ifnull(
            (SELECT wm_concat(temp.resCd) FROM
            (
            SELECT DISTINCT arb."guid" 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 NAG.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>
            ) temp),''
            )
            )
        </if>
        group by b."guid" ) baseRes
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseRes."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        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=" adCode != null and adCode !='' ">
            AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
    </select>
    <select id="getWyList" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
        SELECT
        DISTINCT arb."guid" AS resCd,
        arb."name" AS resName,
        arb."center_long" AS longitude,
        arb."center_lat" AS latitude
        FROM (
        SELECT
        b."guid" as "res_cd",
        'wy' as "sys_resource"
        FROM (
        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
        WHERE
        b."guid"  IS NOT NULL
          <if test="status == 2">
              and b."guid" NOT IN  (
              ifnull(
              (
              SELECT wm_concat(temp.resCd) FROM(
              SELECT DISTINCT arb."guid" 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
              DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
              AND (NAG.TYPE = 3 OR NAG.TYPE = 4 OR NAG.TYPE = 5)
              <if test=" adCode != null and adCode !='' ">
                  AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
              </if>
              ) temp),'')
              )
          </if>
            <if test="status == 3">
                and b."guid"  IN  (
                ifnull(
                (
                SELECT wm_concat(temp.resCd) FROM(
                SELECT DISTINCT arb."guid" 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
                DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
                AND (NAG.TYPE = 3 OR NAG.TYPE = 4 OR NAG.TYPE = 5)
                <if test=" adCode != null and adCode !='' ">
                    AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
                </if>
                ) temp),'')
                )
            </if>
        ) baseRes
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseRes."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        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=" adCode != null and adCode !='' ">
            AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
    </select>
</mapper>