huminmin
2026-05-14 beddea151f8995d56efa0e133ddfa4e567f5a671
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
<?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.ProductionTeamUserRelMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductionTeamUserRel">
        <id column="id" property="id" />
        <result column="production_team_id" property="productionTeamId" />
        <result column="sys_user_id" property="sysUserId" />
        <result column="is_leader" property="isLeader" />
        <result column="tenant_id" property="tenantId" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>
 
    <!-- 查询所有班组长信息 -->
    <select id="selectAllLeaders" resultType="com.ruoyi.production.bean.vo.TeamLeaderVo">
        SELECT
            rel.sys_user_id AS user_id,
            u.nick_name,
            rel.production_team_id,
            t.team_name
        FROM production_team_user_rel rel
        LEFT JOIN sys_user u ON rel.sys_user_id = u.user_id
        LEFT JOIN production_team t ON rel.production_team_id = t.id
        WHERE rel.is_leader = 1
        GROUP BY rel.sys_user_id, rel.production_team_id
    </select>
 
    <!-- 根据班组长用户ID查询班组成员列表 -->
    <select id="selectTeamMembersByLeader" resultType="com.ruoyi.production.bean.vo.ProductionTeamVo$MemberVo">
        SELECT
            rel.sys_user_id AS userId,
            u.nick_name,
            CASE WHEN rel.is_leader = 1 THEN TRUE ELSE FALSE END 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 IN (
            SELECT production_team_id
            FROM production_team_user_rel
            WHERE sys_user_id = #{leaderUserId} AND is_leader = 1
        )
          AND rel.is_leader = 0
    </select>
 
</mapper>