huminmin
2026-05-11 bd424ceae9e38a0a50418f71093becd1430cc83b
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
<?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.production.mapper.ProductionTeamMapper">
 
    <resultMap id="TeamDetailMap" type="com.ruoyi.production.bean.vo.ProductionTeamVo">
        <id property="id" column="id"/>
        <result property="teamName" column="team_name"/>
        <result property="leaderId" column="leader_id"/>
        <result property="leaderName" column="leader_name"/>
        <result property="remark" column="remark"/>
        <result property="createTime" column="create_time"/>
    </resultMap>
 
    <select id="selectTeamDetail" resultMap="TeamDetailMap">
        SELECT
        t.id,
        t.team_name,
        leader.sys_user_id as leader_id,
        u.nick_name as leader_name,
        t.remark,
        t.create_time
        FROM production_team t
        LEFT JOIN production_team_user_rel leader ON t.id = leader.production_team_id AND leader.is_leader = 1
        LEFT JOIN sys_user u ON leader.sys_user_id = u.user_id
        WHERE t.id = #{id}
    </select>
 
    <select id="selectTeamMembers" resultType="com.ruoyi.production.bean.vo.ProductionTeamVo$MemberVo">
        SELECT
        rel.sys_user_id as userId,
        u.nick_name as nickName,
        rel.is_leader as isLeader
        FROM production_team_user_rel rel
        LEFT JOIN sys_user u ON rel.sys_user_id = u.user_id
        WHERE rel.production_team_id = #{teamId}
        ORDER BY rel.is_leader DESC
    </select>
 
    <select id="selectTeamList" resultMap="TeamDetailMap">
        SELECT
        t.id,
        t.team_name,
        leader.sys_user_id as leader_id,
        u.nick_name as leader_name,
        t.remark,
        t.create_time
        FROM production_team t
        LEFT JOIN production_team_user_rel leader ON t.id = leader.production_team_id AND leader.is_leader = 1
        LEFT JOIN sys_user u ON leader.sys_user_id = u.user_id
        <where>
            <if test="dto.teamName != null and dto.teamName != ''">
                AND t.team_name LIKE CONCAT('%', #{dto.teamName}, '%')
            </if>
        </where>
        ORDER BY t.create_time DESC
    </select>
 
    <select id="selectTeamPage" resultMap="TeamDetailMap">
        SELECT
        t.id,
        t.team_name,
        leader.sys_user_id as leader_id,
        u.nick_name as leader_name,
        t.remark,
        t.create_time
        FROM production_team t
        LEFT JOIN production_team_user_rel leader ON t.id = leader.production_team_id AND leader.is_leader = 1
        LEFT JOIN sys_user u ON leader.sys_user_id = u.user_id
        <where>
            <if test="dto.teamName != null and dto.teamName != ''">
                AND t.team_name LIKE CONCAT('%', #{dto.teamName}, '%')
            </if>
        </where>
        ORDER BY t.create_time DESC
    </select>
</mapper>