LaborManagementMapper.xml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.xjrsoft.module.personnel.mapper.LaborManagementMapper">
  6. <select id="getPage" parameterType="com.xjrsoft.module.personnel.dto.LaborManagementPageDto" resultType="com.xjrsoft.module.personnel.vo.LaborManagementPageVo">
  7. SELECT t.id,
  8. t.user_name,
  9. t.name,
  10. t1.name AS gender,
  11. t2.start_work_time,
  12. t3.name AS jobState,
  13. t4.name as nature_organization,
  14. t5.name,
  15. t9.name AS job
  16. FROM xjr_user t
  17. inner JOIN base_teacher t2 ON t2.user_id = t.id
  18. LEFT JOIN xjr_dictionary_detail t1
  19. ON t1.item_id = (SELECT id FROM xjr_dictionary_item WHERE code = 'gender') AND
  20. t1.code = (CASE t.gender
  21. WHEN 1 THEN 'SB10001'
  22. WHEN 2 THEN 'SB10002'
  23. WHEN 3 THEN 'SB10003'
  24. ELSE t.gender END)
  25. LEFT JOIN xjr_dictionary_detail t3
  26. ON t3.item_id = (SELECT id FROM xjr_dictionary_item WHERE code = 'job_state') AND
  27. t3.value = t2.job_state
  28. LEFT JOIN xjr_dictionary_detail t4 ON t4.code = t2.employ_way
  29. LEFT JOIN xjr_user_dept_relation t7 ON t7.user_id = t.id
  30. LEFT JOIN xjr_department t5 ON t5.id = t7.dept_id
  31. LEFT JOIN xjr_user_post_relation t8 ON t8.user_id = t.id
  32. LEFT JOIN xjr_post t9 ON t9.id = t8.post_id
  33. WHERE t.delete_mark = 0
  34. <if test="dto.userName != null">
  35. AND t.user_name = #{dto.userName}
  36. </if>
  37. <if test="dto.name != null">
  38. AND t.name = #{dto.name}
  39. </if>
  40. <if test="dto.gender != null">
  41. AND t1.code =
  42. <choose>
  43. <when test="dto.gender == 1">
  44. 'SB10001'
  45. </when>
  46. <when test="dto.gender == 2">
  47. 'SB10002'
  48. </when>
  49. <when test="dto.gender == 3">
  50. 'SB10003'
  51. </when>
  52. <otherwise>
  53. #{dto.gender}
  54. </otherwise>
  55. </choose>
  56. </if>
  57. <if test="dto.startWorkTime != null and dto.endWorkTime != null">
  58. AND t2.start_work_time BETWEEN #{dto.startWorkTime} AND #{dto.endWorkTime}
  59. </if>
  60. <if test="dto.jobState != null">
  61. and t2.job_state = #{dto.jobState}
  62. </if>
  63. <if test="dto.natureOrganization != null">
  64. and t4.nature_organization = #{dto.natureOrganization}
  65. </if>
  66. <if test="dto.job != null">
  67. and t4.job = #{dto.job}
  68. </if>
  69. ORDER BY t.id;
  70. </select>
  71. <select id="listLaborManagementPageVo" resultType="com.xjrsoft.module.personnel.vo.LaborManagementPageVo">
  72. SELECT t.id,
  73. t.user_name,
  74. t.name,
  75. t1.name AS gender,
  76. t2.start_work_time,
  77. t3.name AS jobState,
  78. t4.name as nature_organization,
  79. t5.name,
  80. t9.name AS job
  81. FROM xjr_user t
  82. inner JOIN base_teacher t2 ON t2.user_id = t.id
  83. LEFT JOIN xjr_dictionary_detail t1
  84. ON t1.item_id = (SELECT id FROM xjr_dictionary_item WHERE code = 'gender') AND
  85. t1.code = (CASE t.gender
  86. WHEN 1 THEN 'SB10001'
  87. WHEN 2 THEN 'SB10002'
  88. WHEN 3 THEN 'SB10003'
  89. ELSE t.gender END)
  90. LEFT JOIN xjr_dictionary_detail t3
  91. ON t3.item_id = (SELECT id FROM xjr_dictionary_item WHERE code = 'job_state') AND
  92. t3.value = t2.job_state
  93. LEFT JOIN xjr_dictionary_detail t4 ON t4.code = t2.employ_way
  94. LEFT JOIN xjr_user_dept_relation t7 ON t7.user_id = t.id
  95. LEFT JOIN xjr_department t5 ON t5.id = t7.dept_id
  96. LEFT JOIN xjr_user_post_relation t8 ON t8.user_id = t.id
  97. LEFT JOIN xjr_post t9 ON t9.id = t8.post_id
  98. WHERE t.delete_mark = 0
  99. ORDER BY t.id;
  100. </select>
  101. <!--
  102. 工号:xjruser-username;
  103. 姓名:xjruser-name;
  104. 性别:xjruser-gender->xjritem;
  105. 性别id->sjrdition-itemid-code;
  106. 入职时间:baseteacher-startworktime;
  107. 在职状态:baseteacher-jobstate;
  108. 人员类别:wf_teacher_depart-natureorigan;
  109. 任职部门:wf_teacher_depart-deptname-xjrdepart->name;
  110. 工作岗位:wf_teacher_depart-job;
  111. -->
  112. </mapper>