jiangping
2023-09-27 54a32ffec350618ddb98fd430a9eecc2f395f958
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
<?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.doumee.dao.system.SystemPositionMapper">
 
  <!-- 查询岗位列表 -->
  <resultMap id="SystemPositionListVO" type="com.doumee.dao.system.vo.SystemPositionListVO" autoMapping="true">
    <id column="id" property="id"/>
    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
      <result column="create_user_id" property="id"/>
      <result column="create_user_name" property="username"/>
    </association>
    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
      <result column="update_user_id" property="id"/>
      <result column="update_user_name" property="username"/>
    </association>
  </resultMap>
  <select id="selectManageList" resultMap="SystemPositionListVO">
    select
      posi.id, posi.parent_id, posi.code, posi.name, posi.create_time, posi.update_time, posi.create_user, posi.update_user,
      create_user.id create_user_id, create_user.username create_user_name,
      update_user.id updete_user_id, update_user.username update_user_name,
      count(usr.id) user_count
    from system_position posi
    left join system_position_user spu on spu.position_id = posi.id and spu.deleted = 0
    left join "system_user" usr on usr.id = spu.user_id and usr.deleted = 0
    left join "system_user" create_user on create_user.id = posi.create_user
    left join "system_user" update_user on update_user.id = posi.update_user
    <where>
      posi.deleted = 0
      <if test="name != null and name != ''">
        and posi.name like '%'||#{name}||'%'
      </if>
    </where>
    group by posi.id
  </select>
 
  <!-- 查询用户岗位列表 -->
  <select id="selectByUserId"  resultType="com.doumee.dao.system.model.SystemPosition">
    select
      sp.id, sp.parent_id, sp.code, sp.name
    from system_position sp
    inner join system_position_user spu on spu.position_id = sp.id and spu.deleted = 0
    inner join "system_user" su on su.id = spu.user_id
    <where>
      sp.deleted = 0
      and spu.user_id = #{userid}
    </where>
  </select>
</mapper>