政策推送和岗位信息变动推送-视图.sql 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. -- ============================================================
  2. -- 政策推送和岗位信息变动推送 - 视图SQL(达梦DM8)
  3. -- ============================================================
  4. -- ============================================================
  5. -- 画像变动管理视图
  6. -- 从个人信息、简历、失败诊断、就业登记、失业登记聚合计算画像状态
  7. -- 注:无独立物理表,自定义标签/通知时间与个人就业状态感知共用 PERSONAL_STATUS_LOCAL
  8. -- ============================================================
  9. CREATE OR REPLACE VIEW V_PROFILE_CHANGE AS
  10. SELECT
  11. pi.ID AS PERSONAL_ID,
  12. pi.ID_NUMBER,
  13. pi.FULL_NAME,
  14. pi.HOUSEHOLD_LOCATION AS HOUSEHOLD_DISTRICT,
  15. pi.GENDER,
  16. pi.EDUCATION,
  17. FLOOR(MONTHS_BETWEEN(SYSDATE, pi.BIRTH_DATE) / 12) AS AGE,
  18. CASE
  19. WHEN pi.JOB_SEARCH_STATUS IN ('离职-随时到岗','在职-月内到岗','在职-考虑机会','应届毕业生')
  20. AND (r.ID IS NULL OR (r.VALID_DATE IS NOT NULL AND r.VALID_DATE < SYSDATE))
  21. THEN '求职信息不完善'
  22. WHEN fd.ID IS NOT NULL THEN '求职失败'
  23. WHEN er.PERSONAL_ID IS NOT NULL THEN '就业登记'
  24. WHEN ur.PERSONAL_ID IS NOT NULL THEN '失业登记'
  25. ELSE '求职信息不完善'
  26. END AS PROFILE_STATUS,
  27. CASE
  28. WHEN pi.JOB_SEARCH_STATUS IN ('离职-随时到岗','在职-月内到岗','在职-考虑机会','应届毕业生')
  29. AND r.ID IS NULL
  30. THEN '无简历'
  31. WHEN pi.JOB_SEARCH_STATUS IN ('离职-随时到岗','在职-月内到岗','在职-考虑机会','应届毕业生')
  32. AND r.VALID_DATE IS NOT NULL AND r.VALID_DATE < SYSDATE
  33. THEN '简历过期'
  34. WHEN fd.ID IS NOT NULL THEN fd.LOCAL_TAGS
  35. WHEN er.PERSONAL_ID IS NOT NULL THEN '就业中'
  36. WHEN ur.PERSONAL_ID IS NOT NULL THEN '失业中'
  37. ELSE ''
  38. END AS STATUS_DESC,
  39. COALESCE(fd.UPDATE_TIME, er.CREATE_TIME, ur.CREATE_TIME, pi.UPDATE_TIME) AS DATA_DATE,
  40. psl.CUSTOM_TAGS,
  41. psl.LAST_NOTICE_TIME,
  42. pi.CREATE_BY,
  43. pi.CREATE_TIME,
  44. pi.UPDATE_BY,
  45. pi.UPDATE_TIME,
  46. pi.SYS_ORG_CODE
  47. FROM PERSONAL_INFO pi
  48. LEFT JOIN RESUME_INFO r ON pi.ID = r.PERSONAL_ID AND (r.IS_DEFAULT IS NULL OR r.IS_DEFAULT = '是')
  49. LEFT JOIN INTERVIEW_FAIL_DIAGNOSIS fd ON pi.ID = fd.PERSONAL_ID
  50. LEFT JOIN (
  51. SELECT PERSONAL_ID, COUNT(*) AS EMPLOY_COUNT, MIN(CREATE_TIME) AS CREATE_TIME
  52. FROM EMPLOYMENT_RECORD
  53. GROUP BY PERSONAL_ID
  54. ) er ON pi.ID = er.PERSONAL_ID
  55. LEFT JOIN (
  56. SELECT PERSONAL_ID, COUNT(*) AS UNEMPLOY_COUNT, MIN(CREATE_TIME) AS CREATE_TIME
  57. FROM UNEMPLOYMENT_RECORD
  58. GROUP BY PERSONAL_ID
  59. ) ur ON pi.ID = ur.PERSONAL_ID
  60. LEFT JOIN PERSONAL_STATUS_LOCAL psl ON pi.ID = psl.PERSONAL_ID;
  61. COMMENT ON VIEW V_PROFILE_CHANGE IS '画像变动管理视图';