guoshilong
2024-04-24 6aeeb1fbdea6b0f9c36678efd49bd90d2ca2a6dc
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
<?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 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>