EmpUserDao.xml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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.jeesite.modules.sys.dao.EmpUserDao">
  4. <!-- 查询数据 -->
  5. <select id="findList" resultType="EmpUser">
  6. SELECT ${sqlMap.column.toSql()}
  7. FROM ${sqlMap.table.toSql()}
  8. <if test="roleCode != null and roleCode != ''">
  9. JOIN ${_prefix}sys_user_role ur2 ON ur2.user_code = a.user_code
  10. </if>
  11. <if test="employee.postCode != null and employee.postCode != ''">
  12. JOIN ${_prefix}sys_employee_post ep ON e.emp_code = ep.emp_code
  13. </if>
  14. <where>
  15. ${sqlMap.where.toSql()}
  16. <if test="roleCode != null and roleCode != ''">
  17. AND ur2.role_code = #{roleCode}
  18. </if>
  19. <if test="employee.postCode != null and employee.postCode != ''">
  20. AND (
  21. ep.post_code = #{employee.postCode}
  22. OR EXISTS (
  23. SELECT 1 FROM ${_prefix}sys_employee_office
  24. WHERE emp_code = e.emp_code
  25. AND post_code = #{employee.postCode}
  26. )
  27. )
  28. </if>
  29. <!-- 附属部门查询,根据业务需要添加查询条件
  30. <if test="employee.office.officeCode != null and employee.office.officeCode != ''">
  31. OR EXISTS (
  32. SELECT 1 FROM ${_prefix}sys_employee_office
  33. WHERE emp_code = e.emp_code
  34. AND office_code = #{employee.office.officeCode}
  35. )
  36. </if> -->
  37. </where>
  38. ORDER BY ${sqlMap.order.toSql()}
  39. </select>
  40. <sql id="userColumns">
  41. a.user_code as "userCode",
  42. a.user_name as "userName"
  43. </sql>
  44. <!-- 查询全部用户,仅返回基本信息 -->
  45. <select id="findUserList" resultType="EmpUser">
  46. SELECT
  47. <include refid="userColumns"/>
  48. FROM ${_prefix}sys_user a
  49. WHERE a.status = #{STATUS_NORMAL}
  50. AND a.user_type = #{USER_TYPE_EMPLOYEE}
  51. <if test="global.useCorpModel">
  52. AND a.corp_code = #{corpCode}
  53. </if>
  54. </select>
  55. <!-- 根据部门编码查询用户,仅返回基本信息 -->
  56. <select id="findUserListByOfficeCodes" resultType="EmpUser">
  57. SELECT
  58. <include refid="userColumns"/>
  59. FROM ${_prefix}sys_user a
  60. JOIN ${_prefix}sys_employee e ON e.emp_code = a.ref_code
  61. JOIN ${_prefix}sys_office o ON o.office_code = e.office_code
  62. WHERE a.status = #{STATUS_NORMAL}
  63. AND a.user_type = #{USER_TYPE_EMPLOYEE}
  64. <if test="global.useCorpModel">
  65. AND a.corp_code = #{corpCode}
  66. </if>
  67. AND e.status = #{STATUS_NORMAL}
  68. AND o.status = #{STATUS_NORMAL}
  69. AND o.office_code IN
  70. <foreach item="code" index="index" collection="codes" open="(" separator="," close=")">
  71. #{code}
  72. </foreach>
  73. </select>
  74. <!-- 根据角色编码查询用户,仅返回基本信息 -->
  75. <select id="findUserListByRoleCodes" resultType="EmpUser">
  76. SELECT
  77. <include refid="userColumns"/>
  78. FROM ${_prefix}sys_user a
  79. JOIN ${_prefix}sys_user_role ur2 ON ur2.user_code = a.user_code
  80. JOIN ${_prefix}sys_role r ON r.role_code = ur2.role_code
  81. WHERE a.status = #{STATUS_NORMAL}
  82. AND a.user_type = #{USER_TYPE_EMPLOYEE}
  83. <if test="global.useCorpModel">
  84. AND a.corp_code = #{corpCode}
  85. </if>
  86. AND r.status = #{STATUS_NORMAL}
  87. AND r.role_code IN
  88. <foreach item="code" index="index" collection="codes" open="(" separator="," close=")">
  89. #{code}
  90. </foreach>
  91. </select>
  92. <!-- 根据岗位编码查询用户,仅返回基本信息 -->
  93. <select id="findUserListByPostCodes" resultType="EmpUser">
  94. SELECT
  95. <include refid="userColumns"/>
  96. FROM ${_prefix}sys_user a
  97. JOIN ${_prefix}sys_employee e ON e.emp_code = a.ref_code
  98. JOIN ${_prefix}sys_employee_post ep ON ep.emp_code = e.emp_code
  99. JOIN ${_prefix}sys_post p ON p.post_code = ep.post_code
  100. WHERE a.status = #{STATUS_NORMAL}
  101. AND a.user_type = #{USER_TYPE_EMPLOYEE}
  102. <if test="global.useCorpModel">
  103. AND a.corp_code = #{corpCode}
  104. </if>
  105. AND e.status = #{STATUS_NORMAL}
  106. AND p.status = #{STATUS_NORMAL}
  107. AND p.post_code IN
  108. <foreach item="code" index="index" collection="codes" open="(" separator="," close=")">
  109. #{code}
  110. </foreach>
  111. </select>
  112. </mapper>