DepartmentMapper.xml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.dayou.mapper.DepartmentMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.Department">
  6. <result column="id" property="id" />
  7. <result column="deleted" property="deleted" />
  8. <result column="created" property="created" />
  9. <result column="modified" property="modified" />
  10. <result column="parent_id" property="parentId" />
  11. <result column="name" property="name" />
  12. <result column="leader_id" property="leaderId" />
  13. <result column="phone" property="phone" />
  14. </resultMap>
  15. <!-- 通用查询结果列 -->
  16. <sql id="Base_Column_List">
  17. id,
  18. deleted,
  19. created,
  20. modified,
  21. parent_id, name, leader_id, phone
  22. </sql>
  23. <select id="xPage" parameterType="com.dayou.entity.Department" resultType="com.dayou.vo.DepartmentVO">
  24. SELECT d.id,d.parent_id,d.name,d.leader_id,d.phone,d.deleted,d.created,d.modified,
  25. ( SELECT NAME FROM department WHERE id = d.parent_id ) AS parentName ,
  26. (select count(distinct user_id) from user_post where post_id in ((select id from post where department_id = d.id and user_post.deleted = 0))) as peopleNum
  27. FROM
  28. department d where d.deleted = 0
  29. <if test="department!=null and department.departmentIds!=null and department.departmentIds.size!=0">
  30. and d.id in
  31. <foreach collection="department.departmentIds" open="(" close=")" separator="," item="departmentId">
  32. #{departmentId}
  33. </foreach>
  34. </if>
  35. order by d.id DESC
  36. </select>
  37. </mapper>