|
|
@@ -0,0 +1,202 @@
|
|
|
+-- ============================================================
|
|
|
+-- 湛江市智慧人社运营运维(2025-2027年)项目
|
|
|
+-- 就业一湛通服务平台 - 招聘业务三表(投递/面试/录用)
|
|
|
+-- 达梦(DM)数据库建表脚本
|
|
|
+--
|
|
|
+-- 说明:打通"投递→筛选→面试→录用"完整招聘链路
|
|
|
+-- 关联表:PERSONAL_INFO, RESUME_INFO, ENTERPRISE_INFO, POST_INFO
|
|
|
+-- 数据库:达梦数据库 (DM8)
|
|
|
+-- 创建日期:2026-06-15
|
|
|
+-- ============================================================
|
|
|
+
|
|
|
+-- ============================================================
|
|
|
+-- 1. 简历投递记录表 JOB_APPLICATION
|
|
|
+-- ============================================================
|
|
|
+CREATE TABLE IF NOT EXISTS JOB_APPLICATION (
|
|
|
+ ID VARCHAR(36) NOT NULL,
|
|
|
+ PERSONAL_ID VARCHAR(36) NOT NULL,
|
|
|
+ RESUME_ID VARCHAR(36),
|
|
|
+ ENTERPRISE_ID VARCHAR(36) NOT NULL,
|
|
|
+ POST_ID VARCHAR(36) NOT NULL,
|
|
|
+ POST_NAME VARCHAR(200),
|
|
|
+ ENTERPRISE_NAME VARCHAR(200),
|
|
|
+ PERSONAL_NAME VARCHAR(100),
|
|
|
+ APPLY_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ STATUS VARCHAR(10) DEFAULT '0',
|
|
|
+ REMARK VARCHAR(500),
|
|
|
+ CREATE_BY VARCHAR(50),
|
|
|
+ CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ UPDATE_BY VARCHAR(50),
|
|
|
+ UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ SYS_ORG_CODE VARCHAR(64),
|
|
|
+ PRIMARY KEY (ID)
|
|
|
+);
|
|
|
+
|
|
|
+COMMENT ON TABLE JOB_APPLICATION IS '简历投递记录表';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.ID IS '主键ID';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.PERSONAL_ID IS '投递人ID(关联PERSONAL_INFO)';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.RESUME_ID IS '投递的简历ID(关联RESUME_INFO)';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.ENTERPRISE_ID IS '投递的企业ID(关联ENTERPRISE_INFO)';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.POST_ID IS '投递的岗位ID(关联POST_INFO)';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.POST_NAME IS '岗位名称(冗余)';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.ENTERPRISE_NAME IS '企业名称(冗余)';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.PERSONAL_NAME IS '求职者姓名(冗余)';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.APPLY_TIME IS '投递时间';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.STATUS IS '投递状态:0-待查看,1-筛选通过,2-筛选不通过,3-已邀请面试,4-已取消';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.REMARK IS '企业备注';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.CREATE_BY IS '创建人';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.CREATE_TIME IS '创建时间';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.UPDATE_BY IS '修改人';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.UPDATE_TIME IS '修改时间';
|
|
|
+COMMENT ON COLUMN JOB_APPLICATION.SYS_ORG_CODE IS '组织机构编号';
|
|
|
+
|
|
|
+CREATE INDEX IDX_JA_PERSONAL_ID ON JOB_APPLICATION(PERSONAL_ID);
|
|
|
+CREATE INDEX IDX_JA_ENTERPRISE_ID ON JOB_APPLICATION(ENTERPRISE_ID);
|
|
|
+CREATE INDEX IDX_JA_POST_ID ON JOB_APPLICATION(POST_ID);
|
|
|
+CREATE INDEX IDX_JA_STATUS ON JOB_APPLICATION(STATUS);
|
|
|
+
|
|
|
+-- ============================================================
|
|
|
+-- 2. 面试记录表 INTERVIEW_RECORD
|
|
|
+-- ============================================================
|
|
|
+CREATE TABLE IF NOT EXISTS INTERVIEW_RECORD (
|
|
|
+ ID VARCHAR(36) NOT NULL,
|
|
|
+ APPLICATION_ID VARCHAR(36) NOT NULL,
|
|
|
+ PERSONAL_ID VARCHAR(36) NOT NULL,
|
|
|
+ ENTERPRISE_ID VARCHAR(36) NOT NULL,
|
|
|
+ POST_ID VARCHAR(36) NOT NULL,
|
|
|
+ RESUME_ID VARCHAR(36),
|
|
|
+ PERSONAL_NAME VARCHAR(100),
|
|
|
+ ENTERPRISE_NAME VARCHAR(200),
|
|
|
+ POST_NAME VARCHAR(200),
|
|
|
+ INTERVIEW_TIME TIMESTAMP,
|
|
|
+ INTERVIEW_METHOD VARCHAR(50),
|
|
|
+ INTERVIEW_ADDRESS VARCHAR(500),
|
|
|
+ ONLINE_LINK VARCHAR(500),
|
|
|
+ CONTACT_PERSON VARCHAR(100),
|
|
|
+ CONTACT_PHONE VARCHAR(20),
|
|
|
+ INTERVIEW_RESULT VARCHAR(10) DEFAULT '0',
|
|
|
+ RESULT_REMARK VARCHAR(500),
|
|
|
+ CREATE_BY VARCHAR(50),
|
|
|
+ CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ UPDATE_BY VARCHAR(50),
|
|
|
+ UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ SYS_ORG_CODE VARCHAR(64),
|
|
|
+ PRIMARY KEY (ID)
|
|
|
+);
|
|
|
+
|
|
|
+COMMENT ON TABLE INTERVIEW_RECORD IS '面试记录表';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.ID IS '主键ID';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.APPLICATION_ID IS '关联投递记录ID(关联JOB_APPLICATION)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.PERSONAL_ID IS '求职者ID(关联PERSONAL_INFO)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.ENTERPRISE_ID IS '企业ID(关联ENTERPRISE_INFO)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.POST_ID IS '岗位ID(关联POST_INFO)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.RESUME_ID IS '简历ID(关联RESUME_INFO)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.PERSONAL_NAME IS '求职者姓名(冗余)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.ENTERPRISE_NAME IS '企业名称(冗余)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.POST_NAME IS '岗位名称(冗余)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_TIME IS '面试时间';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_METHOD IS '面试方式(字典interview_method)';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_ADDRESS IS '面试地点';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.ONLINE_LINK IS '线上面试链接';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.CONTACT_PERSON IS '面试联系人';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.CONTACT_PHONE IS '联系电话';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.INTERVIEW_RESULT IS '面试结果:0-待面试,1-面试通过,2-面试不通过';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.RESULT_REMARK IS '面试结果备注';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.CREATE_BY IS '创建人';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.CREATE_TIME IS '创建时间';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.UPDATE_BY IS '修改人';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.UPDATE_TIME IS '修改时间';
|
|
|
+COMMENT ON COLUMN INTERVIEW_RECORD.SYS_ORG_CODE IS '组织机构编号';
|
|
|
+
|
|
|
+CREATE INDEX IDX_IR_APPLICATION_ID ON INTERVIEW_RECORD(APPLICATION_ID);
|
|
|
+CREATE INDEX IDX_IR_PERSONAL_ID ON INTERVIEW_RECORD(PERSONAL_ID);
|
|
|
+CREATE INDEX IDX_IR_ENTERPRISE_ID ON INTERVIEW_RECORD(ENTERPRISE_ID);
|
|
|
+CREATE INDEX IDX_IR_RESULT ON INTERVIEW_RECORD(INTERVIEW_RESULT);
|
|
|
+
|
|
|
+-- ============================================================
|
|
|
+-- 3. 录用记录表 EMPLOYMENT_OFFER
|
|
|
+-- ============================================================
|
|
|
+CREATE TABLE IF NOT EXISTS EMPLOYMENT_OFFER (
|
|
|
+ ID VARCHAR(36) NOT NULL,
|
|
|
+ INTERVIEW_ID VARCHAR(36) NOT NULL,
|
|
|
+ APPLICATION_ID VARCHAR(36) NOT NULL,
|
|
|
+ PERSONAL_ID VARCHAR(36) NOT NULL,
|
|
|
+ ENTERPRISE_ID VARCHAR(36) NOT NULL,
|
|
|
+ POST_ID VARCHAR(36) NOT NULL,
|
|
|
+ PERSONAL_NAME VARCHAR(100),
|
|
|
+ ENTERPRISE_NAME VARCHAR(200),
|
|
|
+ POST_NAME VARCHAR(200),
|
|
|
+ OFFER_SALARY DECIMAL(12,2),
|
|
|
+ ENTRY_DATE DATE,
|
|
|
+ CONTRACT_PERIOD VARCHAR(50),
|
|
|
+ OFFER_REMARK VARCHAR(500),
|
|
|
+ STATUS VARCHAR(10) DEFAULT '0',
|
|
|
+ CREATE_BY VARCHAR(50),
|
|
|
+ CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ UPDATE_BY VARCHAR(50),
|
|
|
+ UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ SYS_ORG_CODE VARCHAR(64),
|
|
|
+ PRIMARY KEY (ID)
|
|
|
+);
|
|
|
+
|
|
|
+COMMENT ON TABLE EMPLOYMENT_OFFER IS '录用记录表';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.ID IS '主键ID';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.INTERVIEW_ID IS '关联面试记录ID(关联INTERVIEW_RECORD)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.APPLICATION_ID IS '关联投递记录ID(关联JOB_APPLICATION)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.PERSONAL_ID IS '求职者ID(关联PERSONAL_INFO)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.ENTERPRISE_ID IS '企业ID(关联ENTERPRISE_INFO)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.POST_ID IS '岗位ID(关联POST_INFO)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.PERSONAL_NAME IS '求职者姓名(冗余)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.ENTERPRISE_NAME IS '企业名称(冗余)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.POST_NAME IS '岗位名称(冗余)';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.OFFER_SALARY IS '录用薪资';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.ENTRY_DATE IS '预计入职日期';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.CONTRACT_PERIOD IS '合同期限';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.OFFER_REMARK IS '录用备注';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.STATUS IS '录用状态:0-待签约,1-签订中,2-已签约,3-已结束,4-已拒绝';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.CREATE_BY IS '创建人';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.CREATE_TIME IS '创建时间';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.UPDATE_BY IS '修改人';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.UPDATE_TIME IS '修改时间';
|
|
|
+COMMENT ON COLUMN EMPLOYMENT_OFFER.SYS_ORG_CODE IS '组织机构编号';
|
|
|
+
|
|
|
+CREATE INDEX IDX_EO_INTERVIEW_ID ON EMPLOYMENT_OFFER(INTERVIEW_ID);
|
|
|
+CREATE INDEX IDX_EO_PERSONAL_ID ON EMPLOYMENT_OFFER(PERSONAL_ID);
|
|
|
+CREATE INDEX IDX_EO_ENTERPRISE_ID ON EMPLOYMENT_OFFER(ENTERPRISE_ID);
|
|
|
+CREATE INDEX IDX_EO_STATUS ON EMPLOYMENT_OFFER(STATUS);
|
|
|
+
|
|
|
+-- ============================================================
|
|
|
+-- 4. 字典数据 - 投递状态 (application_status)
|
|
|
+-- ============================================================
|
|
|
+INSERT INTO "DICTIONARY" VALUES ('application_status', '投递状态', 38, 1, 0);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000111', '', 'application_status', 0, '待查看', 1, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000112', '', 'application_status', 1, '筛选通过', 2, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000113', '', 'application_status', 2, '筛选不通过', 3, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000114', '', 'application_status', 3, '已邀请面试', 4, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000115', '', 'application_status', 4, '已取消', 5, 1, 1, NULL);
|
|
|
+
|
|
|
+-- ============================================================
|
|
|
+-- 5. 字典数据 - 面试方式 (interview_method)
|
|
|
+-- ============================================================
|
|
|
+INSERT INTO "DICTIONARY" VALUES ('interview_method', '面试方式', 39, 1, 0);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000121', '', 'interview_method', 1, '现场面试', 1, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000122', '', 'interview_method', 2, '视频面试', 2, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000123', '', 'interview_method', 3, '电话面试', 3, 1, 1, NULL);
|
|
|
+
|
|
|
+-- ============================================================
|
|
|
+-- 6. 字典数据 - 面试结果 (interview_result)
|
|
|
+-- ============================================================
|
|
|
+INSERT INTO "DICTIONARY" VALUES ('interview_result', '面试结果', 40, 1, 0);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000131', '', 'interview_result', 0, '待面试', 1, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000132', '', 'interview_result', 1, '面试通过', 2, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000133', '', 'interview_result', 2, '面试不通过', 3, 1, 1, NULL);
|
|
|
+
|
|
|
+-- ============================================================
|
|
|
+-- 7. 字典数据 - 录用状态 (offer_status)
|
|
|
+-- ============================================================
|
|
|
+INSERT INTO "DICTIONARY" VALUES ('offer_status', '录用状态', 41, 1, 0);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000141', '', 'offer_status', 0, '待签约', 1, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000142', '', 'offer_status', 1, '签订中', 2, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000143', '', 'offer_status', 2, '已签约', 3, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000144', '', 'offer_status', 3, '已结束', 4, 1, 1, NULL);
|
|
|
+INSERT INTO "DICTIONARY_ITEM" VALUES ('178060500000145', '', 'offer_status', 4, '已拒绝', 5, 1, 1, NULL);
|