<?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> 
 |