xieb
2024-05-07 5e972eb9928c39b5abbdfd35e2a0aeff40876e7d
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
<?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.sm.constructionReport.mapper.ConstructionReportMapper">
 
    <sql id="resBaseInfo">
                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
    </sql>
 
    <select id="getPage" resultType="cn.gistack.sm.constructionReport.vo.ConstructionReportVO">
        SELECT
            scr.id,
            scr.res_name,
            scr.res_guid,
            scr.lon,
            scr.lat,
            scr.description,
            scr.image_urls,
            arb."eng_scal",
            arb."res_reg_code",
            bu.real_name reportUserName,
            scr.create_time,
            <include refid="resBaseInfo"/>
        FROM SM_CONSTRUCTION_REPORT SCR
        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = scr.res_guid
        LEFT JOIN SJZT_MD."att_ad_base"town ON arb."interior_ad_guid" = town."guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON town."p_ad_code" = county."guid"
        LEFT JOIN SJZT_MD."att_ad_base" city ON county."p_ad_code" = city."guid"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        LEFT JOIN BLADE_USER BU ON BU.ID = SCR.CREATE_USER
        where scr.is_deleted  = 0
          <if test="vo.adCode != null and vo.adCode !=''">
            AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{vo.adCode},'%')
        </if>
        <if test="vo.engScal != null and vo.engScal !=''">
            AND arb."eng_scal" = #{vo.engScal}
        </if>
        <if test="vo.resName != null and vo.resName !=''">
            AND scr.res_name LIKE CONCAT('%',#{vo.resName},'%')
        </if>
        <if test="vo.resGuid != null and vo.resGuid !=''">
            AND scr.res_guid LIKE CONCAT('%',#{vo.resGuid},'%')
        </if>
        <if test="vo.resRegCode != null and vo.resRegCode !=''">
            AND arb."res_reg_code" LIKE CONCAT('%',#{vo.resRegCode},'%')
        </if>
        <if test="vo.startTime != null and vo.startTime != ''">
            AND scr.create_time &gt;= #{dam.startTime}
        </if>
        <if test="vo.endTime != null and vo.endTime !='' ">
            AND scr.create_time &lt;= #{dam.endTime}
        </if>
    </select>
</mapper>