吉安感知网项目-后端
rain
2026-01-22 72b7d2c5ea19ed2047ee896b7f36da20d04bcea6
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
<?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="org.sxkj.gd.workorder.mapper.GdClueEventMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="gdClueEventResultMap" type="org.sxkj.gd.workorder.entity.GdClueEventEntity">
        <result column="id" property="id"/>
        <result column="result_id" property="resultId"/>
        <result column="work_order_id" property="workOrderId"/>
        <result column="dispose_user" property="disposeUser"/>
        <result column="dispose_dept" property="disposeDept"/>
        <result column="longitude" property="longitude"/>
        <result column="latitude" property="latitude"/>
        <result column="event_status" property="eventStatus"/>
        <result column="area_code" property="areaCode"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
 
    <resultMap id="gdClueEventVoResultMap" type="org.sxkj.gd.workorder.vo.GdClueEventVO">
        <result column="id" property="id"/>
        <result column="result_id" property="resultId"/>
        <result column="work_order_id" property="workOrderId"/>
        <result column="dispose_user" property="disposeUser"/>
        <result column="dispose_dept" property="disposeDept"/>
        <result column="dispose_user_name" property="disposeUserName"/>
        <result column="dispose_dept_name" property="disposeDeptName"/>
        <result column="longitude" property="longitude"/>
        <result column="latitude" property="latitude"/>
        <result column="event_status" property="eventStatus"/>
        <result column="area_code" property="areaCode"/>
        <result column="event_code" property="eventCode"/>
        <result column="event_location" property="eventLocation"/>
        <result column="shoot_time" property="shootTime"/>
        <result column="event_image_url" property="eventImageUrl"/>
        <result column="distribute_user_name" property="distributeUserName"/>
        <result column="distribute_dept_name" property="distributeDeptName"/>
        <result column="distribute_time" property="distributeTime"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
 
    <resultMap id="gdClueEventListVoResultMap" type="org.sxkj.gd.workorder.vo.GdClueEventListVO">
        <result column="id" property="id"/>
        <result column="event_image_url" property="eventImageUrl"/>
        <result column="create_time" property="createTime"/>
    </resultMap>
 
    <resultMap id="gdClueEventCountVoResultMap" type="org.sxkj.gd.workorder.vo.GdClueEventCountVO">
        <result column="total_count" property="totalCount"/>
        <result column="my_count" property="myCount"/>
    </resultMap>
 
    <sql id="gdClueEventDeptWhere">
        where ce.is_deleted = 0
        and ce.dispose_dept = #{deptId}
    </sql>
 
    <resultMap id="gdClueEventExcelResultMap" type="org.sxkj.gd.workorder.excel.GdClueEventExcel">
        <result column="result_id" property="resultId"/>
        <result column="work_order_id" property="workOrderId"/>
        <result column="dispose_user" property="disposeUser"/>
        <result column="dispose_dept" property="disposeDept"/>
        <result column="longitude" property="longitude"/>
        <result column="latitude" property="latitude"/>
        <result column="event_status" property="eventStatus"/>
        <result column="area_code" property="areaCode"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
 
    <select id="selectGdClueEventPage" resultMap="gdClueEventResultMap">
        select * from ja_gd_clue_event where is_deleted = 0
    </select>
 
    <select id="selectGdClueEventList" resultMap="gdClueEventVoResultMap">
        select ce.*,
        ifnull(bu.real_name, bu.name) as dispose_user_name,
        bd.dept_name as dispose_dept_name
        from (select * from ja_gd_clue_event ${ew.customSqlSegment}) ce
        left join blade_user bu on bu.id = ce.dispose_user and bu.is_deleted = 0
        left join blade_dept bd on bd.id = ce.dispose_dept and bd.is_deleted = 0
    </select>
 
    <select id="selectGdClueEventSimpleList" resultMap="gdClueEventListVoResultMap">
        select ce.id as id,
        tr.result_url as event_image_url,
        ce.create_time as create_time
        from ja_gd_clue_event ce
        left join ja_gd_task_result tr on tr.id = ce.result_id and tr.is_deleted = 0
        <include refid="gdClueEventDeptWhere"/>
        <if test="onlyMine != null and onlyMine == 1">
            and ce.dispose_user = #{userId}
        </if>
    </select>
 
    <select id="selectGdClueEventDetailById" resultMap="gdClueEventVoResultMap">
        select ce.*,
        ifnull(bu.real_name, bu.name) as dispose_user_name,
        bd.dept_name as dispose_dept_name,
        ifnull(cu.real_name, cu.name) as distribute_user_name,
        cd.dept_name as distribute_dept_name,
        ce.create_time as distribute_time,
        concat(ce.longitude, ',', ce.latitude) as event_location,
        tr.result_code as event_code,
        tr.shoot_time as shoot_time,
        tr.result_url as event_image_url
        from ja_gd_clue_event ce
        left join blade_user bu on bu.id = ce.dispose_user and bu.is_deleted = 0
        left join blade_dept bd on bd.id = ce.dispose_dept and bd.is_deleted = 0
        left join blade_user cu on cu.id = ce.create_user and cu.is_deleted = 0
        left join blade_dept cd on cd.id = ce.create_dept and cd.is_deleted = 0
        left join ja_gd_task_result tr on tr.id = ce.result_id and tr.is_deleted = 0
        <include refid="gdClueEventDeptWhere"/>
        and ce.id = #{id}
    </select>
 
    <select id="selectGdClueEventCount" resultMap="gdClueEventCountVoResultMap">
        select count(1) as total_count,
        ifnull(sum(case when ce.dispose_user = #{userId} then 1 else 0 end), 0) as my_count
        from ja_gd_clue_event ce
        <include refid="gdClueEventDeptWhere"/>
    </select>
 
 
    <select id="exportGdClueEvent" resultMap="gdClueEventExcelResultMap">
        SELECT * FROM ja_gd_clue_event ${ew.customSqlSegment}
    </select>
 
</mapper>