xuhy
2025-09-29 14e060206ec8445daf6f72081d7aaf7b4fc85cf5
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
<?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.ruoyi.system.mapper.TMissionMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TMission">
        <id column="id" property="id" />
        <result column="urgency_level" property="urgencyLevel" />
        <result column="address" property="address" />
        <result column="mission_lon" property="missionLon" />
        <result column="mission_lat" property="missionLat" />
        <result column="mission_content" property="missionContent" />
        <result column="mission_audio" property="missionAudio" />
        <result column="mission_pictures" property="missionPictures" />
        <result column="mission_electronic" property="missionElectronic" />
        <result column="status" property="status" />
        <result column="mission_type_id" property="missionTypeId" />
        <result column="commit_user_name" property="commitUserName" />
        <result column="commit_time" property="commitTime" />
        <result column="commit_user_id" property="commitUserId" />
        <result column="commit_type" property="commitType" />
        <result column="address_score" property="addressScore" />
        <result column="time_score" property="timeScore" />
        <result column="person_count_score" property="personCountScore" />
        <result column="equipment_score" property="equipmentScore" />
        <result column="attempt_score" property="attemptScore" />
        <result column="assign_time" property="assignTime" />
        <result column="receive_time" property="receiveTime" />
        <result column="finish_time" property="finishTime" />
        <result column="is_mission_pool" property="isMissionPool" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, urgency_level, address, mission_lon, mission_lat, mission_content, mission_audio, mission_pictures,
          mission_electronic, status, mission_type_id, commit_user_name, commit_time, commit_user_id, commit_type,
          address_score, time_score, person_count_score, equipment_score, attempt_score,assign_time,receive_time,
          finish_time,is_mission_pool, create_time,update_time, create_by, update_by, disabled
    </sql>
    <select id="pageListAssigned" resultType="com.ruoyi.system.vo.TMissionVO">
        select tm.id, tm.urgency_level, tm.address, tm.mission_lon, tm.mission_lat, tm.mission_content, tm.mission_audio, tm.mission_pictures,
               tm.mission_electronic, tm.status, tm.mission_type_id, tm.assign_time,tm.receive_time,tm.finish_time,tmu.app_user_id,
               tau.nick_name as chargePerson,(tm.address_score, tm.time_score, tm.person_count_score, tm.equipment_score, tm.attempt_score) as missionScore
        from t_mission tm
        left join t_mission_user tmu on tm.id = tmu.mission_id and tmu.user_type = 1
        left join t_app_user tau on tau.id = tmu.app_user_id
        <where>
            <if test="query.urgencyLevel != null">
                and tm.urgency_level = #{query.urgencyLevel}
            </if>
            <if test="query.missionContent != null and query.missionContent != ''">
                and tm.mission_content like concat('%',#{query.missionContent},'%')
            </if>
            <if test="query.chargePerson != null and query.chargePerson != ''">
                and tau.nick_name like concat('%',#{query.chargePerson},'%')
            </if>
            <if test="query.status != null">
                and tm.status = #{query.status}
            </if>
            AND tm.is_mission_pool = 0
            AND tm.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by tm.create_time desc
    </select>
    <select id="pageListReassignAudit" resultType="com.ruoyi.system.vo.TMissionReassignVO">
        select
        tmr.id, tmr.mission_id, tmr.support_person_count, tmr.remark,tmr.reassign_type, tm.urgency_level, tm.mission_content, tm.mission_audio,
        tm.mission_pictures,tm.status, tmu.app_user_id,tau.nick_name as chargePerson
        from t_mission_reassign tmr
        left join t_mission tm on tmr.mission_id = tm.id
        left join t_mission_user tmu on tm.id = tmu.mission_id and tmu.user_type = 1
        left join t_app_user tau on tau.id = tmu.app_user_id
        <where>
            <if test="query.urgencyLevel != null">
                and tm.urgency_level = #{query.urgencyLevel}
            </if>
            <if test="query.missionContent != null and query.missionContent != ''">
                and tm.mission_content like concat('%',#{query.missionContent},'%')
            </if>
            <if test="query.chargePerson != null and query.chargePerson != ''">
                and tau.nick_name like concat('%',#{query.chargePerson},'%')
            </if>
            <if test="query.status != null">
                and tm.status = #{query.status}
            </if>
            <if test="query.reassignType != null">
                and tmr.reassign_type = #{query.reassignType}
            </if>
            AND tm.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by tmr.commit_time desc
    </select>
    <select id="pageListMissionPool" resultType="com.ruoyi.system.vo.TMissionVO">
        select tm.id, tm.urgency_level, tm.address, tm.mission_lon, tm.mission_lat, tm.mission_content, tm.mission_audio, tm.mission_pictures,
        tm.mission_electronic, tm.status, tm.mission_type_id, tm.assign_time,tm.receive_time,tm.finish_time,tmu.app_user_id,
        tau.nick_name as chargePerson,(tm.address_score, tm.time_score, tm.person_count_score, tm.equipment_score, tm.attempt_score) as missionScore
        from t_mission tm
        left join t_mission_user tmu on tm.id = tmu.mission_id and tmu.user_type = 1
        left join t_app_user tau on tau.id = tmu.app_user_id
        <where>
            <if test="query.urgencyLevel != null">
                and tm.urgency_level = #{query.urgencyLevel}
            </if>
            <if test="query.missionContent != null and query.missionContent != ''">
                and tm.mission_content like concat('%',#{query.missionContent},'%')
            </if>
            <if test="query.chargePerson != null and query.chargePerson != ''">
                and tau.nick_name like concat('%',#{query.chargePerson},'%')
            </if>
            <if test="query.status != null">
                and tm.status = #{query.status}
            </if>
            and tm.status in (1,2)
            AND tm.is_mission_pool = 1
            AND tm.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by tm.create_time desc
    </select>
 
</mapper>