JobUserServiceCQuery.xml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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.hz.employmentsite.mapper.cquery.JobUserServiceCQuery">
  4. <select id="getList" resultType="com.hz.employmentsite.vo.jobUserManager.JobUserServiceVo">
  5. SELECT
  6. service.*,
  7. jobUserTemp.`Name` AS jobUserName,
  8. sysUser.`Name` AS serviceUserName
  9. FROM
  10. (
  11. SELECT
  12. ServiceID,
  13. JobUserID,
  14. ServiceContent,
  15. ServiceTime,
  16. ServiceUserID,
  17. 1 AS serviceType
  18. FROM
  19. pc_jobuser_service UNION
  20. SELECT
  21. '' AS ServiceID,
  22. JobUserID,
  23. '登记求职者个人求职信息' AS ServiceContent,
  24. CreateTime AS ServiceTime,
  25. CreateUserID AS ServiceUserID,
  26. 2 AS serviceType
  27. FROM
  28. pc_jobuser UNION
  29. (
  30. SELECT
  31. '' AS ServiceID,
  32. jobUser.JobUserID,
  33. CONCAT(
  34. IF
  35. ( mgt.EntryState = 1, '已入职推荐的', '未入职推荐的' ),
  36. company.CompanyName,
  37. '的',
  38. prof.ProfessionName,
  39. '岗位',
  40. IF
  41. ( mgt.remark IS NOT NULL AND mgt.remark != '', CONCAT( '(', mgt.remark, ')' ), '' )
  42. ) AS ServiceContent,
  43. mgt.ModifyTime AS ServiceTime,
  44. mgt.ModifyUserID AS ServiceUserID,
  45. 2 AS ServiceType
  46. FROM
  47. pc_recommend_mgt mgt
  48. LEFT JOIN pc_post post ON mgt.PostID = post.PostID
  49. LEFT JOIN pc_profession prof ON post.ProfessionID = prof.ProfessionID
  50. LEFT JOIN pc_company company ON post.CompanyID = company.CompanyID
  51. LEFT JOIN pc_jobhunt jobHunt ON mgt.JobHuntID = jobHunt.JobHuntID
  52. LEFT JOIN pc_jobuser jobUser ON jobHunt.JobUserID = jobUser.JobuserID
  53. WHERE
  54. mgt.ModifyTime IS NOT NULL
  55. ) UNION
  56. (
  57. SELECT
  58. '' AS ServiceID,
  59. jobUser.JobUserID,
  60. CONCAT( '已推荐', company.CompanyName, '的', prof.ProfessionName, '岗位' ) AS ServiceContent,
  61. mgt.CreateTime AS ServiceTime,
  62. mgt.CreateUserID AS ServiceUserID,
  63. 2 AS ServiceType
  64. FROM
  65. pc_recommend_mgt mgt
  66. LEFT JOIN pc_post post ON mgt.PostID = post.PostID
  67. LEFT JOIN pc_profession prof ON post.ProfessionID = prof.ProfessionID
  68. LEFT JOIN pc_company company ON post.CompanyID = company.CompanyID
  69. LEFT JOIN pc_jobhunt jobHunt ON mgt.JobHuntID = jobHunt.JobHuntID
  70. LEFT JOIN pc_jobuser jobUser ON jobHunt.JobUserID = jobUser.JobuserID
  71. )
  72. ) AS service
  73. LEFT JOIN pc_jobuser jobUserTemp ON service.JobUserID = jobUserTemp.JobuserID
  74. LEFT JOIN sys_user sysUser ON service.ServiceUserID = sysUser.UserID
  75. WHERE
  76. 1=1
  77. <if test="jobUserID != '' and jobUserID != null">
  78. and service.JobUserID = #{jobUserID}
  79. </if>
  80. <if test="serviceID != '' and serviceID != null">
  81. and service.ServiceID = #{serviceID}
  82. </if>
  83. ORDER BY
  84. service.ServiceTime DESC
  85. </select>
  86. <select id="jobUserMapGetService" resultType="com.hz.employmentsite.vo.jobUserManager.JobUserServiceVo">
  87. SELECT
  88. JobUserID,
  89. ServiceTime
  90. FROM
  91. (
  92. SELECT
  93. JobUserID,
  94. ServiceTime,
  95. ROW_NUMBER() OVER ( PARTITION BY JobUserID ORDER BY ServiceTime DESC ) AS rn
  96. FROM
  97. (
  98. SELECT
  99. JobUserID,
  100. ServiceTime
  101. FROM
  102. pc_jobuser_service UNION
  103. SELECT
  104. JobUserID,
  105. CreateTime AS ServiceTime
  106. FROM
  107. pc_jobuser UNION
  108. SELECT
  109. jobUser.JobUserID,
  110. mgt.ModifyTime AS ServiceTime
  111. FROM
  112. pc_recommend_mgt mgt
  113. LEFT JOIN pc_post post ON mgt.PostID = post.PostID
  114. LEFT JOIN pc_profession prof ON post.ProfessionID = prof.ProfessionID
  115. LEFT JOIN pc_company company ON post.CompanyID = company.CompanyID
  116. LEFT JOIN pc_jobhunt jobHunt ON mgt.JobHuntID = jobHunt.JobHuntID
  117. LEFT JOIN pc_jobuser jobUser ON jobHunt.JobUserID = jobUser.JobuserID
  118. WHERE
  119. mgt.ModifyTime IS NOT NULL UNION
  120. SELECT
  121. jobUser.JobUserID,
  122. mgt.CreateTime AS ServiceTime
  123. FROM
  124. pc_recommend_mgt mgt
  125. LEFT JOIN pc_post post ON mgt.PostID = post.PostID
  126. LEFT JOIN pc_profession prof ON post.ProfessionID = prof.ProfessionID
  127. LEFT JOIN pc_company company ON post.CompanyID = company.CompanyID
  128. LEFT JOIN pc_jobhunt jobHunt ON mgt.JobHuntID = jobHunt.JobHuntID
  129. LEFT JOIN pc_jobuser jobUser ON jobHunt.JobUserID = jobUser.JobuserID
  130. ) AS subquery
  131. ) AS ranked_service
  132. WHERE
  133. rn = 1
  134. <if test="jobUserIDList != '' and jobUserIDList != null">
  135. and jobuserID in (${jobUserIDList})
  136. </if>
  137. </select>
  138. </mapper>