guoshilong
2024-04-09 45992c87647bf954f9363aa3cbeec68f466458d9
skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/mapper/TextualResearchAttachMapper.xml
@@ -14,4 +14,94 @@
        </if>
    </select>
    <resultMap id="vo" type="cn.gistack.resource.vo.AlertTextualResearchAttachVO">
        <result property="res_nm" column="res_nm"/>
        <result property="res_cd" column="res_cd"/>
        <result property="town_cd" column="town_cd"/>
        <result property="town_nm" column="town_nm"/>
        <result property="county_cd" column="county_cd"/>
        <result property="county_nm" column="county_nm"/>
        <result property="city_cd" column="city_cd"/>
        <result property="city_nm" column="city_nm"/>
    </resultMap>
    <select id="getSyLackAlertList" resultMap="vo">
        SELECT * FROM (
                          SELECT
                                 basic."guid" res_cd,
                                 basic."name" res_nm,
                                 basic.townCode town_cd,
                                 basic.townName town_nm,
                                 basic.countyCode county_cd,
                                 basic.countyName county_nm,
                                 basic.cityCode city_cd,
                                 basic.cityName city_nm,
                                 LISTAGG(basic.type, ',') WITHIN GROUP (ORDER BY basic.type ASC) typeList from (
                                  SELECT
                                  distinct
                                  arb."guid",arb."name",
                                  stra.type,
                                  case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
                                  case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
                                  case
                                  when town."ad_grad" = 3 THEN town."ad_code"
                                  when county."ad_grad" = 3 THEN county."ad_code" END        AS countyCode,
                                  case
                                  when town."ad_grad" = 3 THEN town."ad_name"
                                  when county."ad_grad" = 3 THEN county."ad_name" END        AS countyName,
                                  case
                                  when town."ad_grad" = 2 THEN town."ad_code"
                                  when county."ad_grad" = 2 THEN county."ad_code"
                                  ELSE city."ad_code" END                                    AS cityCode,
                                  case
                                  when town."ad_grad" = 2 THEN town."ad_name"
                                  when county."ad_grad" = 2 THEN county."ad_name"
                                  ELSE city."ad_name" END                                    AS cityName
                                  FROM SJZT_MD."att_res_base" arb
                                  LEFT JOIN SJZT_MD."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
                                  LEFT JOIN SJZT_MD."att_ad_base" county ON county."ad_code" = town."p_ad_code"
                                  LEFT JOIN SJZT_MD."att_ad_base" city ON city."ad_code" = county."p_ad_code"
                                  LEFT JOIN YWXT.SM_TEXTUAL_RESEARCH_ATTACH STRA ON STRA.RES_GUID = arb."guid" and (stra.type = 2 or stra.type = 3 or stra.type = 8 or stra.type = 11 or stra.type = 12)
                              )basic
                          group by basic."guid",basic."name",
                              basic.townCode,basic.townName,
                              basic.countyCode,basic.countyName,
                              basic.cityCode,basic.cityName
                      )info
        where info.typeList != '2,3,8,11,12' or info.typeList is null
    </select>
    <select id="getWyLackAlertList" resultMap="vo">
        SELECT
            distinct
            arb."guid" res_cd,
            arb."name"  res_nm,
            case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS town_cd,
            case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS town_nm,
            case
                when town."ad_grad" = 3 THEN town."ad_code"
                when county."ad_grad" = 3 THEN county."ad_code" END        AS county_cd,
            case
                when town."ad_grad" = 3 THEN town."ad_name"
                when county."ad_grad" = 3 THEN county."ad_name" END        AS county_nm,
            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 city_cd,
            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 city_nm,
            stra.type
        from sjzt_md."att_res_base" arb
                 LEFT JOIN SJZT_MD."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
                 LEFT JOIN SJZT_MD."att_ad_base" county ON county."ad_code" = town."p_ad_code"
                 LEFT JOIN SJZT_MD."att_ad_base" city ON city."ad_code" = county."p_ad_code"
                 LEFT JOIN YWXT.SM_TEXTUAL_RESEARCH_ATTACH STRA ON STRA.RES_GUID = arb."guid" and stra.type = 1
        where stra.type != 1 or stra.type is null
    </select>
</mapper>