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
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
120
121
122
123
124
125
126
127
128
129
130
131
<?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.reportFlood.mapper.ReportFloodRecordMapper">
    <resultMap id="vo" type="cn.gistack.sm.reportFlood.vo.ReportFloodRecordVO">
        <id property="id" column="id"/>
        <result property="reservoirName" column="reservoirName"/>
        <result property="updateTime" column="update_time"/>
        <result property="content" column="content"/>
        <result property="isDeleted" column="is_deleted"/>
        <result property="status" column="status"/>
        <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result property="videos" column="videos" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result property="curDrp" column="cur_drp"/>
        <result property="gateStatus" column="gate_status"/>
        <result property="isOver" column="is_over"/>
        <result property="lkOverZ" column="lk_over_z"/>
        <result property="lkRz" column="lk_rz"/>
        <result property="wlwOverZ" column="wlw_over_z"/>
        <result property="wlwRz" column="wlw_rz"/>
        <result property="personOverZ" column="person_over_z"/>
        <result property="personRz" column="person_rz"/>
        <result property="adCode" column="ad_code"/>
        <result property="isAudit" column="is_audit"/>
 
        <result property="reservoirId" column="reservoir_id"/>
        <result property="createDept" column="create_dept"/>
        <result property="createUser" column="create_user"/>
        <result property="updateUser" column="update_user"/>
        <result property="createTime" column="create_time"/>
 
        <result property="cityCode" column="cityCode"/>
        <result property="cityName" column="cityName"/>
        <result property="countyCode" column="countyCode"/>
        <result property="countyName" column="countyName"/>
        <result property="townCode" column="townCode"/>
        <result property="townName" column="townName"/>
 
        <result property="engScal" column="engScal"/>
        <result property="resRegCode" column="resRegCode"/>
        <result property="lon" column="lon"/>
        <result property="lat" column="lat"/>
 
    </resultMap>
 
 
    <select id="selectReportFloodRecordPages" resultMap="vo">
        SELECT R.*,
        arb."name" reservoirName ,
 
        arb."res_reg_code" as resRegCode,
        arb."eng_scal" as engScal,
        arb."center_long" lon,
        arb."center_lat" lat,
 
        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 SM_REPORT_FLOOD_RECORD r
        LEFT JOIN "SJZT_MD"."att_res_base" arb on arb."guid" = r.reservoir_id
 
        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"
 
        WHERE r.is_deleted = 0
        <if test=" reportFloodRecord.adCode!= null and reportFloodRecord.adCode !='' ">
            AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{reportFloodRecord.adCode},'%')
        </if>
        <if test="reportFloodRecord.reservoirName != null and reportFloodRecord.reservoirName !=''">
            AND arb."name" LIKE CONCAT('%',#{reportFloodRecord.reservoirName},'%')
        </if>
        <if test="reportFloodRecord.isAudit != null and reportFloodRecord.isAudit !=''">
            AND r.is_audit = #{reportFloodRecord.isAudit}
        </if>
        <if test="reportFloodRecord.reservoirId !=null and reportFloodRecord.reservoirId !=''">
            AND r.reservoir_id = #{reportFloodRecord.reservoirId}
        </if>
        <if test="reportFloodRecord.startTime !=null and reportFloodRecord.startTime !=''">
            AND DATE_FORMAT(r.create_time,'%Y-%m-%d') &gt;= #{reportFloodRecord.startTime}
        </if>
        <if test="reportFloodRecord.endTime !=null and reportFloodRecord.endTime !=''">
            AND DATE_FORMAT(r.create_time,'%Y-%m-%d') &lt;= #{reportFloodRecord.endTime}
        </if>
        <if test="reportFloodRecord.createUser !=null and reportFloodRecord.createUser !=''">
            AND r.create_user = #{reportFloodRecord.createUser}
        </if>
 
        <if test="reportFloodRecord.resRegCode != null and reportFloodRecord.resRegCode != ''">
            AND arb."res_reg_code" LIKE CONCAT('%',#{reportFloodRecord.resRegCode},'%')
        </if>
        <if test="reportFloodRecord.reservoirId != null and reportFloodRecord.reservoirId != ''">
            AND r.reservoir_id LIKE CONCAT('%',#{reportFloodRecord.reservoirId},'%')
        </if>
        <if test="reportFloodRecord.engScal != null and reportFloodRecord.engScal != ''">
            AND arb."eng_scal" = #{reportFloodRecord.engScal}
        </if>
 
 
        ORDER BY CREATE_TIME DESC
    </select>
    <select id="customizeGetDetail" resultMap="vo">
 
    </select>
    <select id="getLatestRecord" resultType="cn.gistack.sm.reportFlood.entity.ReportFloodRecord">
        SELECT * FROM SM_REPORT_FLOOD_RECORD
        WHERE IS_DELETED = 0 AND IS_AUDIT = 20
        AND reservoir_id = #{reservoirId}
        ORDER BY UPDATE_TIME DESC LIMIT 1
    </select>
 
    <select id="getDetailVO"  resultMap="vo">
        SELECT R.*,arb."name" reservoirName FROM SM_REPORT_FLOOD_RECORD r
        LEFT JOIN "SJZT_MD"."att_res_base" arb on arb."guid" = r.reservoir_id
        WHERE r.is_deleted = 0 AND r.id = #{id}
    </select>
</mapper>