见习人员管理_全部重建.sql 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. -- ============================================================
  2. -- 湛江市智慧人社运营运维(2025-2027年)项目
  3. -- 就业一湛通服务平台 - 见习人员管理 全部表重建脚本
  4. --
  5. -- 说明:删除并重建所有见习人员相关表和视图,包含最新字段
  6. -- 数据库:达梦数据库 (DM8) 兼容
  7. -- 创建日期:2026-06-04
  8. -- 注意:此脚本需手动执行,不在Flyway中自动运行
  9. -- ============================================================
  10. -- ============================================================
  11. -- 第1步:删除视图和表(按依赖顺序)
  12. -- 达梦数据库 DROP ... IF EXISTS 语法
  13. -- ============================================================
  14. DROP VIEW IF EXISTS v_internship_personnel_list;
  15. DROP TABLE IF EXISTS internship_personnel_service_follow;
  16. DROP TABLE IF EXISTS internship_personnel;
  17. -- ============================================================
  18. -- 第2步:创建见习人员信息表
  19. -- 达梦兼容:COMMENT 不内联,使用 COMMENT ON COLUMN 单独语句
  20. -- ============================================================
  21. CREATE TABLE INTERNSHIP_PERSONNEL
  22. (
  23. ID VARCHAR(36) NOT NULL,
  24. PERSONAL_ID VARCHAR(36) NOT NULL,
  25. INTERNSHIP_POST_ID VARCHAR(36),
  26. INTERNSHIP_STATUS VARCHAR(50),
  27. START_DATE DATE,
  28. END_DATE DATE,
  29. AUDIT_STATUS VARCHAR(50) DEFAULT '待审核',
  30. AUDIT_OPINION VARCHAR(500),
  31. MAJOR_TAG VARCHAR(50),
  32. MINOR_TAG VARCHAR(200),
  33. CUSTOM_TAG VARCHAR(500),
  34. PRIMARY KEY (ID)
  35. );
  36. COMMENT ON TABLE INTERNSHIP_PERSONNEL IS '见习人员信息表';
  37. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.ID IS '主键ID';
  38. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.PERSONAL_ID IS '关联个人信息ID';
  39. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.INTERNSHIP_POST_ID IS '关联见习岗位ID';
  40. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.INTERNSHIP_STATUS IS '见习状态(见习中/已期满/已退出)';
  41. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.START_DATE IS '见习开始日期';
  42. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.END_DATE IS '见习结束日期';
  43. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.AUDIT_STATUS IS '审核状态(待审核/已通过/未通过)';
  44. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.AUDIT_OPINION IS '审核意见';
  45. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.MAJOR_TAG IS '人员大类标签(见习人员)';
  46. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.MINOR_TAG IS '人员小类标签';
  47. COMMENT ON COLUMN INTERNSHIP_PERSONNEL.CUSTOM_TAG IS '自定义标签(逗号分隔,字典编码:internship_custom_tag)';
  48. -- ============================================================
  49. -- 第3步:创建见习人员服务跟进记录表
  50. -- ============================================================
  51. CREATE TABLE INTERNSHIP_PERSONNEL_SERVICE_FOLLOW
  52. (
  53. ID VARCHAR(36) NOT NULL,
  54. INTERNSHIP_PERSONNEL_ID VARCHAR(36) NOT NULL,
  55. SERVICE_CONTENT VARCHAR(2000),
  56. SERVICE_TIME DATETIME,
  57. SERVICE_PROVIDER VARCHAR(100),
  58. CREATE_BY VARCHAR(50),
  59. CREATE_TIME DATETIME,
  60. UPDATE_BY VARCHAR(50),
  61. UPDATE_TIME DATETIME,
  62. DEL_FLAG INT DEFAULT 0,
  63. PRIMARY KEY (ID)
  64. );
  65. COMMENT ON TABLE INTERNSHIP_PERSONNEL_SERVICE_FOLLOW IS '见习人员服务跟进记录表';
  66. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.ID IS '主键ID';
  67. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.INTERNSHIP_PERSONNEL_ID IS '关联见习人员ID';
  68. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.SERVICE_CONTENT IS '服务内容';
  69. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.SERVICE_TIME IS '服务时间';
  70. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.SERVICE_PROVIDER IS '服务人员';
  71. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.CREATE_BY IS '创建人';
  72. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.CREATE_TIME IS '创建时间';
  73. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.UPDATE_BY IS '更新人';
  74. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.UPDATE_TIME IS '更新时间';
  75. COMMENT ON COLUMN INTERNSHIP_PERSONNEL_SERVICE_FOLLOW.DEL_FLAG IS '删除标识(0未删除,1已删除)';
  76. -- ============================================================
  77. -- 第4步:创建见习人员列表视图
  78. -- 达梦兼容:使用 MONTHS_BETWEEN + FLOOR 替代 TIMESTAMPDIFF
  79. -- 使用 CURRENT_DATE 替代 CURDATE()
  80. -- ============================================================
  81. CREATE VIEW v_internship_personnel_list AS
  82. SELECT
  83. internship_personnel.id,
  84. internship_personnel.personal_id,
  85. internship_personnel.internship_post_id,
  86. internship_personnel.internship_status,
  87. internship_personnel.start_date,
  88. internship_personnel.end_date,
  89. internship_personnel.audit_status,
  90. internship_personnel.audit_opinion,
  91. internship_personnel.major_tag,
  92. internship_personnel.minor_tag,
  93. internship_personnel.custom_tag,
  94. personal_info.full_name,
  95. personal_info.gender,
  96. FLOOR(MONTHS_BETWEEN(CURRENT_DATE, personal_info.birth_date) / 12) AS age,
  97. personal_info.contact_phone,
  98. personal_info.education,
  99. personal_info.id_number,
  100. personal_info.household_location,
  101. personal_info.current_residence,
  102. personal_info.job_seeker_category,
  103. personal_info.job_search_status,
  104. internship_post.post_name,
  105. internship_post.company_name
  106. FROM internship_personnel
  107. LEFT JOIN personal_info ON internship_personnel.personal_id = personal_info.id
  108. LEFT JOIN internship_post ON internship_personnel.internship_post_id = internship_post.id;
  109. -- ============================================================
  110. -- 第5步:插入测试数据
  111. -- 关联规则:
  112. -- 周九(206, 应届高校毕业生) → 软件测试见习生(恒兴科技)
  113. -- 吴十(207, 新成长失业青年) → 行政文员见习生(博文教育)
  114. -- 郑十一(208, 农村转移就业劳动者) → 机械维修见习生(港湾实业)
  115. -- 周九(206) → 农业技术见习生(绿源农业)
  116. -- 吴十(207) → 物业管理见习生(阳光物业, 待审核)
  117. -- ============================================================
  118. INSERT INTO internship_personnel (ID, PERSONAL_ID, INTERNSHIP_POST_ID, INTERNSHIP_STATUS, START_DATE, END_DATE, AUDIT_STATUS, AUDIT_OPINION, MAJOR_TAG, MINOR_TAG, CUSTOM_TAG) VALUES (178060100000330, 178060100000206, 178060100000320, '见习中', '2026-04-01', '2026-09-30', '已通过', '符合见习条件,审核通过', '1', '1', NULL);
  119. INSERT INTO internship_personnel (ID, PERSONAL_ID, INTERNSHIP_POST_ID, INTERNSHIP_STATUS, START_DATE, END_DATE, AUDIT_STATUS, AUDIT_OPINION, MAJOR_TAG, MINOR_TAG, CUSTOM_TAG) VALUES (178060100000331, 178060100000207, 178060100000322, '见习中', '2026-05-01', '2026-07-31', '已通过', '符合见习条件,审核通过', '1', '2', NULL);
  120. INSERT INTO internship_personnel (ID, PERSONAL_ID, INTERNSHIP_POST_ID, INTERNSHIP_STATUS, START_DATE, END_DATE, AUDIT_STATUS, AUDIT_OPINION, MAJOR_TAG, MINOR_TAG, CUSTOM_TAG) VALUES (178060100000332, 178060100000208, 178060100000321, '已期满', '2025-12-01', '2026-05-31', '已通过', '符合见习条件,审核通过', '1', '1', NULL);
  121. INSERT INTO internship_personnel (ID, PERSONAL_ID, INTERNSHIP_POST_ID, INTERNSHIP_STATUS, START_DATE, END_DATE, AUDIT_STATUS, AUDIT_OPINION, MAJOR_TAG, MINOR_TAG, CUSTOM_TAG) VALUES (178060100000333, 178060100000206, 178060100000323, '见习中', '2026-03-15', '2026-09-14', '已通过', '计算机专业背景,推荐到软件测试岗位见习', '1', '1', NULL);
  122. INSERT INTO internship_personnel (ID, PERSONAL_ID, INTERNSHIP_POST_ID, INTERNSHIP_STATUS, START_DATE, END_DATE, AUDIT_STATUS, AUDIT_OPINION, MAJOR_TAG, MINOR_TAG, CUSTOM_TAG) VALUES (178060100000334, 178060100000207, 178060100000324, '待审核', NULL, NULL, '待审核', NULL, '1', '2', NULL);