招聘业务三表-投递面试录用.sql 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. -- ============================================================
  2. -- 湛江市智慧人社运营运维(2025-2027年)项目
  3. -- 就业一湛通服务平台 - 招聘业务三表(投递/面试/录用)
  4. -- 达梦(DM)数据库建表脚本
  5. --
  6. -- 说明:打通"投递→筛选→面试→录用"完整招聘链路
  7. -- 关联表:PERSONAL_INFO, RESUME_INFO, ENTERPRISE_INFO, POST_INFO
  8. -- 数据库:达梦数据库 (DM8)
  9. -- 创建日期:2026-06-15
  10. -- ============================================================
  11. -- ============================================================
  12. -- 1. 简历投递记录表 JOB_APPLICATION
  13. -- ============================================================
  14. CREATE TABLE IF NOT EXISTS JOB_APPLICATION (
  15. ID VARCHAR(36) NOT NULL,
  16. PERSONAL_ID VARCHAR(36) NOT NULL,
  17. RESUME_ID VARCHAR(36),
  18. ENTERPRISE_ID VARCHAR(36) NOT NULL,
  19. POST_ID VARCHAR(36) NOT NULL,
  20. POST_NAME VARCHAR(200),
  21. ENTERPRISE_NAME VARCHAR(200),
  22. PERSONAL_NAME VARCHAR(100),
  23. APPLY_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  24. STATUS VARCHAR(10) DEFAULT '0',
  25. REMARK VARCHAR(500),
  26. CREATE_BY VARCHAR(50),
  27. CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  28. UPDATE_BY VARCHAR(50),
  29. UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  30. SYS_ORG_CODE VARCHAR(64),
  31. PRIMARY KEY (ID)
  32. );
  33. COMMENT ON TABLE JOB_APPLICATION IS '简历投递记录表';
  34. COMMENT ON COLUMN JOB_APPLICATION.ID IS '主键ID';
  35. COMMENT ON COLUMN JOB_APPLICATION.PERSONAL_ID IS '投递人ID(关联PERSONAL_INFO)';
  36. COMMENT ON COLUMN JOB_APPLICATION.RESUME_ID IS '投递的简历ID(关联RESUME_INFO)';
  37. COMMENT ON COLUMN JOB_APPLICATION.ENTERPRISE_ID IS '投递的企业ID(关联ENTERPRISE_INFO)';
  38. COMMENT ON COLUMN JOB_APPLICATION.POST_ID IS '投递的岗位ID(关联POST_INFO)';
  39. COMMENT ON COLUMN JOB_APPLICATION.POST_NAME IS '岗位名称(冗余)';
  40. COMMENT ON COLUMN JOB_APPLICATION.ENTERPRISE_NAME IS '企业名称(冗余)';
  41. COMMENT ON COLUMN JOB_APPLICATION.PERSONAL_NAME IS '求职者姓名(冗余)';
  42. COMMENT ON COLUMN JOB_APPLICATION.APPLY_TIME IS '投递时间';
  43. COMMENT ON COLUMN JOB_APPLICATION.STATUS IS '投递状态:0-待查看,1-筛选通过,2-筛选不通过,3-已邀请面试,4-已取消';
  44. COMMENT ON COLUMN JOB_APPLICATION.REMARK IS '企业备注';
  45. COMMENT ON COLUMN JOB_APPLICATION.CREATE_BY IS '创建人';
  46. COMMENT ON COLUMN JOB_APPLICATION.CREATE_TIME IS '创建时间';
  47. COMMENT ON COLUMN JOB_APPLICATION.UPDATE_BY IS '修改人';
  48. COMMENT ON COLUMN JOB_APPLICATION.UPDATE_TIME IS '修改时间';
  49. COMMENT ON COLUMN JOB_APPLICATION.SYS_ORG_CODE IS '组织机构编号';
  50. CREATE INDEX IDX_JA_PERSONAL_ID ON JOB_APPLICATION(PERSONAL_ID);
  51. CREATE INDEX IDX_JA_ENTERPRISE_ID ON JOB_APPLICATION(ENTERPRISE_ID);
  52. CREATE INDEX IDX_JA_POST_ID ON JOB_APPLICATION(POST_ID);
  53. CREATE INDEX IDX_JA_STATUS ON JOB_APPLICATION(STATUS);
  54. -- ============================================================
  55. -- 2. 面试记录表 INTERVIEW_RECORD
  56. -- ============================================================
  57. CREATE TABLE IF NOT EXISTS INTERVIEW_RECORD (
  58. ID VARCHAR(36) NOT NULL,
  59. APPLICATION_ID VARCHAR(36) NOT NULL,
  60. PERSONAL_ID VARCHAR(36) NOT NULL,
  61. ENTERPRISE_ID VARCHAR(36) NOT NULL,
  62. POST_ID VARCHAR(36) NOT NULL,
  63. RESUME_ID VARCHAR(36),
  64. PERSONAL_NAME VARCHAR(100),
  65. ENTERPRISE_NAME VARCHAR(200),
  66. POST_NAME VARCHAR(200),
  67. INTERVIEW_TIME TIMESTAMP,
  68. INTERVIEW_METHOD VARCHAR(50),
  69. INTERVIEW_ADDRESS VARCHAR(500),
  70. ONLINE_LINK VARCHAR(500),
  71. CONTACT_PERSON VARCHAR(100),
  72. CONTACT_PHONE VARCHAR(20),
  73. INTERVIEW_RESULT VARCHAR(10) DEFAULT '0',
  74. RESULT_REMARK VARCHAR(500),
  75. CREATE_BY VARCHAR(50),
  76. CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  77. UPDATE_BY VARCHAR(50),
  78. UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  79. SYS_ORG_CODE VARCHAR(64),
  80. PRIMARY KEY (ID)
  81. );
  82. COMMENT ON TABLE INTERVIEW_RECORD IS '面试记录表';
  83. COMMENT ON COLUMN INTERVIEW_RECORD.ID IS '主键ID';
  84. COMMENT ON COLUMN INTERVIEW_RECORD.APPLICATION_ID IS '关联投递记录ID(关联JOB_APPLICATION)';
  85. COMMENT ON COLUMN INTERVIEW_RECORD.PERSONAL_ID IS '求职者ID(关联PERSONAL_INFO)';
  86. COMMENT ON COLUMN INTERVIEW_RECORD.ENTERPRISE_ID IS '企业ID(关联ENTERPRISE_INFO)';
  87. COMMENT ON COLUMN INTERVIEW_RECORD.POST_ID IS '岗位ID(关联POST_INFO)';
  88. COMMENT ON COLUMN INTERVIEW_RECORD.RESUME_ID IS '简历ID(关联RESUME_INFO)';
  89. COMMENT ON COLUMN INTERVIEW_RECORD.PERSONAL_NAME IS '求职者姓名(冗余)';
  90. COMMENT ON COLUMN INTERVIEW_RECORD.ENTERPRISE_NAME IS '企业名称(冗余)';
  91. COMMENT ON COLUMN INTERVIEW_RECORD.POST_NAME IS '岗位名称(冗余)';
  92. COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_TIME IS '面试时间';
  93. COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_METHOD IS '面试方式(字典interview_method)';
  94. COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_ADDRESS IS '面试地点';
  95. COMMENT ON COLUMN INTERVIEW_RECORD.ONLINE_LINK IS '线上面试链接';
  96. COMMENT ON COLUMN INTERVIEW_RECORD.CONTACT_PERSON IS '面试联系人';
  97. COMMENT ON COLUMN INTERVIEW_RECORD.CONTACT_PHONE IS '联系电话';
  98. COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_RESULT IS '面试结果:0-待面试,1-面试通过,2-面试不通过';
  99. COMMENT ON COLUMN INTERVIEW_RECORD.RESULT_REMARK IS '面试结果备注';
  100. COMMENT ON COLUMN INTERVIEW_RECORD.CREATE_BY IS '创建人';
  101. COMMENT ON COLUMN INTERVIEW_RECORD.CREATE_TIME IS '创建时间';
  102. COMMENT ON COLUMN INTERVIEW_RECORD.UPDATE_BY IS '修改人';
  103. COMMENT ON COLUMN INTERVIEW_RECORD.UPDATE_TIME IS '修改时间';
  104. COMMENT ON COLUMN INTERVIEW_RECORD.SYS_ORG_CODE IS '组织机构编号';
  105. CREATE INDEX IDX_IR_APPLICATION_ID ON INTERVIEW_RECORD(APPLICATION_ID);
  106. CREATE INDEX IDX_IR_PERSONAL_ID ON INTERVIEW_RECORD(PERSONAL_ID);
  107. CREATE INDEX IDX_IR_ENTERPRISE_ID ON INTERVIEW_RECORD(ENTERPRISE_ID);
  108. CREATE INDEX IDX_IR_RESULT ON INTERVIEW_RECORD(INTERVIEW_RESULT);
  109. -- ============================================================
  110. -- 3. 录用记录表 EMPLOYMENT_OFFER
  111. -- ============================================================
  112. CREATE TABLE IF NOT EXISTS EMPLOYMENT_OFFER (
  113. ID VARCHAR(36) NOT NULL,
  114. INTERVIEW_ID VARCHAR(36) NOT NULL,
  115. APPLICATION_ID VARCHAR(36) NOT NULL,
  116. PERSONAL_ID VARCHAR(36) NOT NULL,
  117. ENTERPRISE_ID VARCHAR(36) NOT NULL,
  118. POST_ID VARCHAR(36) NOT NULL,
  119. PERSONAL_NAME VARCHAR(100),
  120. ENTERPRISE_NAME VARCHAR(200),
  121. POST_NAME VARCHAR(200),
  122. OFFER_SALARY DECIMAL(12,2),
  123. ENTRY_DATE DATE,
  124. CONTRACT_PERIOD VARCHAR(50),
  125. OFFER_REMARK VARCHAR(500),
  126. STATUS VARCHAR(10) DEFAULT '0',
  127. CREATE_BY VARCHAR(50),
  128. CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  129. UPDATE_BY VARCHAR(50),
  130. UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  131. SYS_ORG_CODE VARCHAR(64),
  132. PRIMARY KEY (ID)
  133. );
  134. COMMENT ON TABLE EMPLOYMENT_OFFER IS '录用记录表';
  135. COMMENT ON COLUMN EMPLOYMENT_OFFER.ID IS '主键ID';
  136. COMMENT ON COLUMN EMPLOYMENT_OFFER.INTERVIEW_ID IS '关联面试记录ID(关联INTERVIEW_RECORD)';
  137. COMMENT ON COLUMN EMPLOYMENT_OFFER.APPLICATION_ID IS '关联投递记录ID(关联JOB_APPLICATION)';
  138. COMMENT ON COLUMN EMPLOYMENT_OFFER.PERSONAL_ID IS '求职者ID(关联PERSONAL_INFO)';
  139. COMMENT ON COLUMN EMPLOYMENT_OFFER.ENTERPRISE_ID IS '企业ID(关联ENTERPRISE_INFO)';
  140. COMMENT ON COLUMN EMPLOYMENT_OFFER.POST_ID IS '岗位ID(关联POST_INFO)';
  141. COMMENT ON COLUMN EMPLOYMENT_OFFER.PERSONAL_NAME IS '求职者姓名(冗余)';
  142. COMMENT ON COLUMN EMPLOYMENT_OFFER.ENTERPRISE_NAME IS '企业名称(冗余)';
  143. COMMENT ON COLUMN EMPLOYMENT_OFFER.POST_NAME IS '岗位名称(冗余)';
  144. COMMENT ON COLUMN EMPLOYMENT_OFFER.OFFER_SALARY IS '录用薪资';
  145. COMMENT ON COLUMN EMPLOYMENT_OFFER.ENTRY_DATE IS '预计入职日期';
  146. COMMENT ON COLUMN EMPLOYMENT_OFFER.CONTRACT_PERIOD IS '合同期限';
  147. COMMENT ON COLUMN EMPLOYMENT_OFFER.OFFER_REMARK IS '录用备注';
  148. COMMENT ON COLUMN EMPLOYMENT_OFFER.STATUS IS '录用状态:0-待签约,1-签订中,2-已签约,3-已结束,4-已拒绝';
  149. COMMENT ON COLUMN EMPLOYMENT_OFFER.CREATE_BY IS '创建人';
  150. COMMENT ON COLUMN EMPLOYMENT_OFFER.CREATE_TIME IS '创建时间';
  151. COMMENT ON COLUMN EMPLOYMENT_OFFER.UPDATE_BY IS '修改人';
  152. COMMENT ON COLUMN EMPLOYMENT_OFFER.UPDATE_TIME IS '修改时间';
  153. COMMENT ON COLUMN EMPLOYMENT_OFFER.SYS_ORG_CODE IS '组织机构编号';
  154. CREATE INDEX IDX_EO_INTERVIEW_ID ON EMPLOYMENT_OFFER(INTERVIEW_ID);
  155. CREATE INDEX IDX_EO_PERSONAL_ID ON EMPLOYMENT_OFFER(PERSONAL_ID);
  156. CREATE INDEX IDX_EO_ENTERPRISE_ID ON EMPLOYMENT_OFFER(ENTERPRISE_ID);
  157. CREATE INDEX IDX_EO_STATUS ON EMPLOYMENT_OFFER(STATUS);
  158. -- ============================================================
  159. -- 4. 字典数据 - 投递状态 (application_status)
  160. -- ============================================================
  161. INSERT INTO "DICTIONARY" VALUES ('application_status', '投递状态', 38, 1, 0);
  162. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000111', '', 'application_status', 0, '待查看', 1, 1, 1, NULL);
  163. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000112', '', 'application_status', 1, '筛选通过', 2, 1, 1, NULL);
  164. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000113', '', 'application_status', 2, '筛选不通过', 3, 1, 1, NULL);
  165. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000114', '', 'application_status', 3, '已邀请面试', 4, 1, 1, NULL);
  166. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000115', '', 'application_status', 4, '已取消', 5, 1, 1, NULL);
  167. -- ============================================================
  168. -- 5. 字典数据 - 面试方式 (interview_method)
  169. -- ============================================================
  170. INSERT INTO "DICTIONARY" VALUES ('interview_method', '面试方式', 39, 1, 0);
  171. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000121', '', 'interview_method', 1, '现场面试', 1, 1, 1, NULL);
  172. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000122', '', 'interview_method', 2, '视频面试', 2, 1, 1, NULL);
  173. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000123', '', 'interview_method', 3, '电话面试', 3, 1, 1, NULL);
  174. -- ============================================================
  175. -- 6. 字典数据 - 面试结果 (interview_result)
  176. -- ============================================================
  177. INSERT INTO "DICTIONARY" VALUES ('interview_result', '面试结果', 40, 1, 0);
  178. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000131', '', 'interview_result', 0, '待面试', 1, 1, 1, NULL);
  179. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000132', '', 'interview_result', 1, '面试通过', 2, 1, 1, NULL);
  180. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000133', '', 'interview_result', 2, '面试不通过', 3, 1, 1, NULL);
  181. -- ============================================================
  182. -- 7. 字典数据 - 录用状态 (offer_status)
  183. -- ============================================================
  184. INSERT INTO "DICTIONARY" VALUES ('offer_status', '录用状态', 41, 1, 0);
  185. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000141', '', 'offer_status', 0, '待签约', 1, 1, 1, NULL);
  186. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000142', '', 'offer_status', 1, '签订中', 2, 1, 1, NULL);
  187. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000143', '', 'offer_status', 2, '已签约', 3, 1, 1, NULL);
  188. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000144', '', 'offer_status', 3, '已结束', 4, 1, 1, NULL);
  189. INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000145', '', 'offer_status', 4, '已拒绝', 5, 1, 1, NULL);