aix
2024-07-24 2cba01a6b6f67cfa97d0c4e0cc589302fab817ba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.resource.mapper.TextualResearchAttachMapper">
 
    <!--自定义分页列表查询-->
    <select id="selectTextualResearchAttachPage" resultType="cn.gistack.resource.vo.TextualResearchAttachVO">
        select * from sm_textual_research_attach
        where 1=1
        <if test="textualResearchAttach.resGuid!=null and textualResearchAttach.resGuid!=''">
            and res_guid = #{textualResearchAttach.resGuid}
        </if>
        <if test="textualResearchAttach.type!=null">
            and type = #{textualResearchAttach.type}
        </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"/>
        <result property="type" column="type"/>
    </resultMap>
 
 
    <select id="getSyLackAlertList" resultMap="vo">
        SELECT info.res_cd,
               info.res_nm,
               info.town_cd,
               info.town_nm,
               info.county_cd,
               info.county_nm,
               info.city_cd,
               info.city_nm,
               info.typeList as type
 
        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 (
                 select * from (
                                   select distinct "res_cd" from sjzt_md."att_wy_cd_base" awcb
                               ) a
                                   left join sjzt_md."att_res_base" arb on (a."res_cd" = arb."guid")
             ) 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>