wl
2022-10-31 f12cbc3122950bcff273a9697e5159c0387520e5
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?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="com.ycl.mapper.caseHandler.BaseCaseMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.entity.caseHandler.BaseCase">
        <id column="id" property="id"/>
        <result column="code" property="code"/>
        <result column="event_source" property="eventSource"/>
        <result column="category" property="category"/>
        <result column="street_id" property="streetId"/>
        <result column="community_id" property="communityId"/>
        <result column="site" property="site"/>
        <result column="longitude" property="longitude"/>
        <result column="latitude" property="latitude"/>
        <result column="alarm_time" property="alarmTime"/>
        <result column="create_user" property="createUser"/>
        <result column="state" property="state"/>
        <result column="handling_opinion" property="handlingOpinion"/>
        <result column="remark" property="remark"/>
        <result column="audit_opinion" property="auditOpinion"/>
        <result column="final_opinion" property="finalOpinion"/>
        <result column="create_time" property="createTime"/>
    </resultMap>
    <resultMap type="com.ycl.entity.caseHandler.BaseCase" id="CondMapResultMap" extends="BaseResultMap">
        <result column="category_text" property="categoryText"/>
        <result column="street_text" property="streetText"/>
        <result column="community_text" property="communityText"/>
        <result column="create_user_text" property="createUserText"/>
    </resultMap>
 
    <!-- 通用查询映射结果 -->
    <resultMap id="settingsResultMap" type="com.ycl.vo.IllegalBuildingSettingVO">
        <id column="number" property="number"/>
        <result column="type" property="type"/>
        <result column="typeFirst" property="typeFirst"/>
        <result column="typeSecond" property="typeSecond"/>
        <result column="typeThird" property="typeThird"/>
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id
        , code, event_source, category, street_id, community_id, site, longitude, latitude, alarm_time, create_user, state, handling_opinion, remark, audit_opinion, final_opinion, create_time
    </sql>
 
    <select id="listViolationsPage" resultType="com.ycl.vo.casePool.CasePoolViolationVO">
        SELECT
        ubc.`id`,
        ubc.`code`,
        ubc.event_source,
        uv.action_cause,
        t3.name as category,
        t4.name as type,
        t5.region_name as street,
        ubc.site,
        ubc.alarm_time,
        ubc.close_time
        FROM
        `ums_base_case` AS ubc
        JOIN ums_violations AS uv ON ubc.id = uv.id
        LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
        LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
        LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
        <where>
            <if test="state!=null">
                ubc.state=#{state}
            </if>
            <if test="resource!=null">
                and ubc.event_source=#{resource}
            </if>
            <if test="type!=null">
                and ubc.category=#{type}
            </if>
        </where>
 
    </select>
 
    <select id="listIllegalBuildingsPage" resultType="com.ycl.vo.casePool.CasePoolIllegalBuildingVO">
        SELECT
        ubc.`id`,
        ubc.`code`,
        ubc.event_source,
        t1.name as category,
        ubc.site,
        t2.region_name as community,
        uib.building_high,
        uib.building_width,
        uib.building_length,
        uib.building_area,
        uib.materials
        FROM
        `ums_base_case` AS ubc
        left JOIN ums_illegal_building AS uib ON ubc.id = uib.base_case_id
        left JOIN ums_data_dictionary AS t1 ON uib.category_id = t1.id
        left JOIN ums_sccg_region t2 ON ubc.community_id = t2.id
        <where>
            <if test="state!=null">
                ubc.state=#{state}
            </if>
            <if test="resource!=null">
                and ubc.event_source=#{resource}
            </if>
            <if test="type!=null">
                and ubc.category=#{type}
            </if>
        </where>
 
    </select>
 
 
    <select id="selectCondMap" parameterType="map" resultMap="CondMapResultMap">
        SELECT ubc.*,
               udd.name         category_text,
               usr.region_name  street_text,
               usr2.region_name community_text,
               ua.username      create_user_text
        FROM ums_base_case ubc
                 LEFT JOIN ums_data_dictionary udd on ubc.category = udd.id
                 LEFT JOIN ums_sccg_region usr on ubc.street_id = usr.id
                 LEFT JOIN ums_sccg_region usr2 on ubc.community_id = usr2.id
                 LEFT JOIN ums_admin ua on ubc.create_user = ua.id
        WHERE ubc.`code` = #{code}
    </select>
 
    <select id="selectBaseCasePage" resultType="com.ycl.entity.caseHandler.BaseCase">
        select t1.*,
        t2.name category_text,
        t3.region_name community_text
        from ums_base_case t1
        left join ums_data_dictionary t2 on t1.category = t2.id
        left join ums_sccg_region t3 on t1.community_id=t3.id
        <where>
            <if test="category != null">
                category = #{categories}
            </if>>
            <if test="community_id != null">
                and community_id = #{communityId}
            </if>
            <if test="code != null and code !=''">
                and code like contact('%',#{code},'%')
            </if>
            <if test="site != null and site!=''">
                and site like contact('%',#{site},'%')
            </if>
            <if test="startTime !='' and endTime !=''">
                and create_time between #{startTime} and #{endTime}
            </if>
        </where>
    </select>
</mapper>