失败诊断模块建表语句.sql 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. -- ============================================================
  2. -- 湛江市智慧人社运营运维(2025-2027年)项目
  3. -- 就业一湛通服务平台 - 失败诊断 达梦数据库建表脚本
  4. --
  5. -- 依据:《需求规格说明书》第3.3节 - 失败诊断
  6. -- 3.3.1 失败原因明细
  7. -- 3.3.2 失败诊断深度分析(含失败诊断、服务跟进、发送消息)
  8. -- 数据库:达梦数据库 (DM8)
  9. -- 创建日期:2025-06-02
  10. -- ============================================================
  11. -- ============================================================
  12. -- 表1:失败原因明细表
  13. -- 说明:记录求职人员的求职失败原因明细数据
  14. -- ============================================================
  15. CREATE TABLE INTERVIEW_FAIL_REASON (
  16. ID VARCHAR(36) NOT NULL,
  17. PERSONAL_ID VARCHAR(36) NOT NULL,
  18. PROVINCE_PERSONAL_ID VARCHAR(36),
  19. ENTERPRISE_NAME VARCHAR(200),
  20. JOB_NAME VARCHAR(200),
  21. INTERVIEW_METHOD VARCHAR(50),
  22. DELIVERY_TIME DATETIME,
  23. INTERVIEW_TIME DATETIME,
  24. FAIL_REASON TEXT,
  25. DATA_SOURCE VARCHAR(50),
  26. CREATE_BY VARCHAR(50),
  27. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  28. UPDATE_BY VARCHAR(50),
  29. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  30. SYS_ORG_CODE VARCHAR(50),
  31. PRIMARY KEY (ID)
  32. );
  33. COMMENT ON TABLE INTERVIEW_FAIL_REASON IS '失败原因明细表';
  34. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.ID IS '主键ID';
  35. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.PERSONAL_ID IS '关联本系统个人基本信息ID(PERSONAL_INFO主键)';
  36. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.PROVINCE_PERSONAL_ID IS '省系统人员表ID';
  37. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.ENTERPRISE_NAME IS '企业名称';
  38. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.JOB_NAME IS '应聘岗位名称';
  39. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.INTERVIEW_METHOD IS '面试方式';
  40. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.DELIVERY_TIME IS '投递时间';
  41. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.INTERVIEW_TIME IS '面试时间';
  42. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.FAIL_REASON IS '面试不通过原因(原始数据回流)';
  43. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.DATA_SOURCE IS '数据来源(省系统/市系统/其他)';
  44. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.CREATE_BY IS '创建人';
  45. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.CREATE_TIME IS '创建时间';
  46. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.UPDATE_BY IS '修改人';
  47. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.UPDATE_TIME IS '更新时间';
  48. COMMENT ON COLUMN INTERVIEW_FAIL_REASON.SYS_ORG_CODE IS '组织机构编号';
  49. CREATE INDEX IDX_INTERVIEW_FAIL_REASON_PERSONAL ON INTERVIEW_FAIL_REASON(PERSONAL_ID);
  50. CREATE INDEX IDX_INTERVIEW_FAIL_REASON_ENTERPRISE ON INTERVIEW_FAIL_REASON(ENTERPRISE_NAME);
  51. -- ============================================================
  52. -- 表2:失败诊断分析表
  53. -- 说明:对求职者的失败原因进行次数汇总统计分析
  54. -- ============================================================
  55. CREATE TABLE INTERVIEW_FAIL_DIAGNOSIS (
  56. ID VARCHAR(36) NOT NULL,
  57. PERSONAL_ID VARCHAR(36) NOT NULL,
  58. PROVINCE_PERSONAL_ID VARCHAR(36),
  59. FAIL_COUNT INTEGER NOT NULL DEFAULT 0,
  60. LOCAL_TAGS VARCHAR(500),
  61. IS_FOLLOWED VARCHAR(10),
  62. LAST_NOTIFY_TIME DATE,
  63. CREATE_BY VARCHAR(50),
  64. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  65. UPDATE_BY VARCHAR(50),
  66. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  67. SYS_ORG_CODE VARCHAR(50),
  68. PRIMARY KEY (ID)
  69. );
  70. COMMENT ON TABLE INTERVIEW_FAIL_DIAGNOSIS IS '失败诊断分析表';
  71. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.ID IS '主键ID';
  72. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.PERSONAL_ID IS '关联本系统个人基本信息ID(PERSONAL_INFO主键)';
  73. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.PROVINCE_PERSONAL_ID IS '省系统人员表ID';
  74. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.FAIL_COUNT IS '面试失败次数(累计次数)';
  75. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.LOCAL_TAGS IS '本地标签(可多个,支持本地修改)';
  76. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.IS_FOLLOWED IS '是否已跟进(有本地服务记录则视为已跟进)';
  77. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.LAST_NOTIFY_TIME IS '最后通知时间';
  78. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.CREATE_BY IS '创建人';
  79. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.CREATE_TIME IS '创建时间';
  80. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.UPDATE_BY IS '修改人';
  81. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.UPDATE_TIME IS '更新时间';
  82. COMMENT ON COLUMN INTERVIEW_FAIL_DIAGNOSIS.SYS_ORG_CODE IS '组织机构编号';
  83. CREATE INDEX IDX_INTERVIEW_FAIL_DIAGNOSIS_PERSONAL ON INTERVIEW_FAIL_DIAGNOSIS(PERSONAL_ID);
  84. CREATE INDEX IDX_INTERVIEW_FAIL_DIAGNOSIS_COUNT ON INTERVIEW_FAIL_DIAGNOSIS(FAIL_COUNT);
  85. -- ============================================================
  86. -- 表3:服务跟进表
  87. -- 说明:记录对求职失败人员的服务跟进情况
  88. -- ============================================================
  89. CREATE TABLE INTERVIEW_FAIL_FOLLOW_UP (
  90. ID VARCHAR(36) NOT NULL,
  91. DIAGNOSIS_ID VARCHAR(36) NOT NULL,
  92. FULL_NAME VARCHAR(100),
  93. SERVICE_CONTENT TEXT NOT NULL,
  94. SERVICE_TIME DATE NOT NULL,
  95. SERVICE_PERSON VARCHAR(100),
  96. CREATE_BY VARCHAR(50),
  97. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  98. UPDATE_BY VARCHAR(50),
  99. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  100. SYS_ORG_CODE VARCHAR(50),
  101. PRIMARY KEY (ID)
  102. );
  103. COMMENT ON TABLE INTERVIEW_FAIL_FOLLOW_UP IS '服务跟进表';
  104. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.ID IS '主键ID';
  105. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.DIAGNOSIS_ID IS '关联失败诊断分析ID(INTERVIEW_FAIL_DIAGNOSIS主键)';
  106. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.FULL_NAME IS '姓名';
  107. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.SERVICE_CONTENT IS '服务内容';
  108. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.SERVICE_TIME IS '服务时间(年月日,默认当天日期,支持修改)';
  109. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.SERVICE_PERSON IS '服务人员(系统自动加载用户姓名)';
  110. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.CREATE_BY IS '创建人';
  111. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.CREATE_TIME IS '创建时间';
  112. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.UPDATE_BY IS '修改人';
  113. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.UPDATE_TIME IS '更新时间';
  114. COMMENT ON COLUMN INTERVIEW_FAIL_FOLLOW_UP.SYS_ORG_CODE IS '组织机构编号';
  115. CREATE INDEX IDX_INTERVIEW_FAIL_FOLLOW_DIAGNOSIS ON INTERVIEW_FAIL_FOLLOW_UP(DIAGNOSIS_ID);
  116. -- ============================================================
  117. -- 表4:发送消息表
  118. -- 说明:记录向求职失败人员发送消息的情况
  119. -- ============================================================
  120. CREATE TABLE INTERVIEW_FAIL_MESSAGE (
  121. ID VARCHAR(36) NOT NULL,
  122. DIAGNOSIS_ID VARCHAR(36) NOT NULL,
  123. MESSAGE_SUBJECT VARCHAR(200) NOT NULL,
  124. MESSAGE_CONTENT TEXT NOT NULL,
  125. SENDER VARCHAR(100),
  126. SEND_TIME DATETIME,
  127. CREATE_BY VARCHAR(50),
  128. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  129. UPDATE_BY VARCHAR(50),
  130. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  131. SYS_ORG_CODE VARCHAR(50),
  132. PRIMARY KEY (ID)
  133. );
  134. COMMENT ON TABLE INTERVIEW_FAIL_MESSAGE IS '发送消息表';
  135. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.ID IS '主键ID';
  136. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.DIAGNOSIS_ID IS '关联失败诊断分析ID(INTERVIEW_FAIL_DIAGNOSIS主键)';
  137. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.MESSAGE_SUBJECT IS '消息主题';
  138. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.MESSAGE_CONTENT IS '消息内容';
  139. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.SENDER IS '推送人(系统自动加载用户姓名)';
  140. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.SEND_TIME IS '推送时间(系统自动记录)';
  141. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.CREATE_BY IS '创建人';
  142. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.CREATE_TIME IS '创建时间';
  143. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.UPDATE_BY IS '修改人';
  144. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.UPDATE_TIME IS '更新时间';
  145. COMMENT ON COLUMN INTERVIEW_FAIL_MESSAGE.SYS_ORG_CODE IS '组织机构编号';
  146. CREATE INDEX IDX_INTERVIEW_FAIL_MESSAGE_DIAGNOSIS ON INTERVIEW_FAIL_MESSAGE(DIAGNOSIS_ID);
  147. -- ============================================================
  148. -- 表5:失败标签配置表
  149. -- 说明:失败原因关键字匹配的本地标签编码映射配置
  150. -- ============================================================
  151. CREATE TABLE INTERVIEW_FAIL_TAG (
  152. ID VARCHAR(36) NOT NULL,
  153. TAG_CODE VARCHAR(20) NOT NULL,
  154. TAG_NAME VARCHAR(200) NOT NULL,
  155. TAG_DESCRIPTION VARCHAR(500),
  156. MATCH_KEYWORDS VARCHAR(1000),
  157. SORT_ORDER INTEGER,
  158. CREATE_BY VARCHAR(50),
  159. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  160. UPDATE_BY VARCHAR(50),
  161. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  162. SYS_ORG_CODE VARCHAR(50),
  163. PRIMARY KEY (ID)
  164. );
  165. COMMENT ON TABLE INTERVIEW_FAIL_TAG IS '失败标签配置表';
  166. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.ID IS '主键ID';
  167. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.TAG_CODE IS '标签编码(FAIL001~FAIL008)';
  168. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.TAG_NAME IS '标签名称';
  169. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.TAG_DESCRIPTION IS '标签说明';
  170. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.MATCH_KEYWORDS IS '关键字匹配规则';
  171. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.SORT_ORDER IS '排序序号';
  172. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.CREATE_BY IS '创建人';
  173. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.CREATE_TIME IS '创建时间';
  174. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.UPDATE_BY IS '修改人';
  175. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.UPDATE_TIME IS '更新时间';
  176. COMMENT ON COLUMN INTERVIEW_FAIL_TAG.SYS_ORG_CODE IS '组织机构编号';
  177. CREATE UNIQUE INDEX IDX_INTERVIEW_FAIL_TAG_CODE ON INTERVIEW_FAIL_TAG(TAG_CODE);
  178. -- ============================================================
  179. -- 初始数据:失败标签配置
  180. -- ============================================================
  181. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  182. ('FT0000000000000000000000000000001', 'FAIL001', '硬性基础条件不符', '企业因年龄/性别/学历等硬性要求拒绝求职者', '年龄,性别,学历,超龄,超岁,岁数,文化程度,文凭', 1);
  183. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  184. ('FT0000000000000000000000000000002', 'FAIL002', '岗位技能证书不足', '企业因求职者操作不熟练/无证书/无行业经验拒绝', '证书,技能,经验,不熟练,无证,没证,不会操作,无经验,经验不足', 2);
  185. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  186. ('FT0000000000000000000000000000003', 'FAIL003', '薪资福利期望不匹配', '企业/求职者因薪资、福利、补贴等未达成一致', '薪资,工资,薪酬,福利,补贴,待遇,钱少,太低,给不起,达不到预期', 3);
  187. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  188. ('FT0000000000000000000000000000004', 'FAIL004', '地域通勤住宿不方便', '企业因求职者嫌距离远/不愿驻外/住宿差等拒绝', '距离,太远,通勤,住宿,宿舍,驻外,外派,交通不便,地点不合适', 4);
  189. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  190. ('FT0000000000000000000000000000005', 'FAIL005', '体检合规背景不通过', '企业因求职者体检不合格/征信/背景审核失败拒绝', '体检,不合格,征信,背景,背调,政审,无犯罪,证明,健康证,不通过', 5);
  191. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  192. ('FT0000000000000000000000000000006', 'FAIL006', '面试沟通形象不合适', '企业因求职者沟通能力/仪容形象等拒绝', '沟通,表达,形象,仪表,气质,谈吐,面试,不合适,不匹配,不符', 6);
  193. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  194. ('FT0000000000000000000000000000007', 'FAIL007', '求职不稳定意愿不足', '企业因求职者短期过渡/拒绝加班倒班等拒绝', '短期,过渡,不稳定,加班,倒班,夜班,两班倒,拒绝加班,不想加班', 7);
  195. INSERT INTO INTERVIEW_FAIL_TAG (ID, TAG_CODE, TAG_NAME, TAG_DESCRIPTION, MATCH_KEYWORDS, SORT_ORDER) VALUES
  196. ('FT0000000000000000000000000000008', 'FAIL008', '其他模糊不明原因', '企业录入内容模糊(如"不合适""不行"),无法归为以上7类的所有情况', '不合适,不行,其他,综合,个人原因,不符合要求', 8);
  197. -- ============================================================
  198. -- 表6:失败诊断分析标签关联表
  199. -- 说明:INTERVIEW_FAIL_DIAGNOSIS 与 INTERVIEW_FAIL_TAG 的多对多关联
  200. -- ============================================================
  201. CREATE TABLE INTERVIEW_FAIL_DIAGNOSIS_TAG (
  202. DIAGNOSIS_ID VARCHAR(36) NOT NULL COMMENT '失败诊断分析ID',
  203. TAG_ID VARCHAR(36) NOT NULL COMMENT '失败标签配置ID',
  204. PRIMARY KEY (DIAGNOSIS_ID, TAG_ID)
  205. );
  206. COMMENT ON TABLE INTERVIEW_FAIL_DIAGNOSIS_TAG IS '失败诊断分析标签关联表';
  207. -- ============================================================
  208. -- 外键约束(可选启用)
  209. -- ============================================================
  210. -- ALTER TABLE INTERVIEW_FAIL_REASON ADD CONSTRAINT FK_INTERVIEW_FAIL_REASON_PERSONAL FOREIGN KEY (PERSONAL_ID) REFERENCES PERSONAL_INFO(ID);
  211. -- ALTER TABLE INTERVIEW_FAIL_DIAGNOSIS ADD CONSTRAINT FK_INTERVIEW_FAIL_DIAGNOSIS_PERSONAL FOREIGN KEY (PERSONAL_ID) REFERENCES PERSONAL_INFO(ID);
  212. -- ALTER TABLE INTERVIEW_FAIL_FOLLOW_UP ADD CONSTRAINT FK_INTERVIEW_FAIL_FOLLOW_DIAGNOSIS FOREIGN KEY (DIAGNOSIS_ID) REFERENCES INTERVIEW_FAIL_DIAGNOSIS(ID);
  213. -- ALTER TABLE INTERVIEW_FAIL_MESSAGE ADD CONSTRAINT FK_INTERVIEW_FAIL_MESSAGE_DIAGNOSIS FOREIGN KEY (DIAGNOSIS_ID) REFERENCES INTERVIEW_FAIL_DIAGNOSIS(ID);