-- ============================================================
-- 表1：个人基本信息表
-- 说明：存储求职者个人基本信息
-- ============================================================
CREATE TABLE PERSONAL_INFO
(
    ID                  VARCHAR(36)  NOT NULL COMMENT '主键ID',
    ID_TYPE             VARCHAR(50)  NOT NULL COMMENT '证件类型（居民身份证/户口簿）',
    ID_NUMBER           VARCHAR(50)  NOT NULL COMMENT '证件号码（脱敏显示）',
    FULL_NAME           VARCHAR(100) NOT NULL COMMENT '姓名',
    GENDER              VARCHAR(10)  NOT NULL COMMENT '性别（男性/女性）',
    BIRTH_DATE          DATE         NOT NULL COMMENT '出生日期',
    NATION              VARCHAR(50)  NOT NULL COMMENT '民族（参考省一体化平台字典）',
    NATIONALITY         VARCHAR(50)  NOT NULL COMMENT '国籍（参考省一体化平台字典，默认中国）',
    MARITAL_STATUS      VARCHAR(50) COMMENT '婚姻状况（未婚/已婚/丧偶/离婚/未说明的婚姻状况）',
    EDUCATION           VARCHAR(50)  NOT NULL COMMENT '学历（参考省一体化平台字典）',
    GRADUATION_DATE     DATE         NOT NULL COMMENT '毕业日期',
    GRADUATE_SCHOOL     VARCHAR(200) NOT NULL COMMENT '毕业院校',
    MAJOR               VARCHAR(200) COMMENT '专业',
    POLITICAL_STATUS    VARCHAR(100) COMMENT '政治面貌（中共党员/中共预备党员/共青团员等）',
    WORK_EXPERIENCE     VARCHAR(50)  NOT NULL COMMENT '工作经验（无经验/1年以下/1-3年/3-5年/5-10年/10年以上）',
    HOUSEHOLD_TYPE      VARCHAR(100) COMMENT '户口性质（非农业户口(城镇)/农业户口(农村)等）',
    HOUSEHOLD_LOCATION  VARCHAR(200) NOT NULL COMMENT '户口所在地（参考省一体化平台字典）',
    CURRENT_RESIDENCE   VARCHAR(200) NOT NULL COMMENT '现居住地（参考省一体化平台字典）',
    CURRENT_ADDRESS     VARCHAR(500) COMMENT '现居住地址',
    JOB_SEEKER_CATEGORY VARCHAR(100) NOT NULL COMMENT '求职人员类别（新成长失业青年/应届高校毕业生等）',
    CONTACT_PHONE       VARCHAR(20)  NOT NULL COMMENT '联系电话',
    EMAIL               VARCHAR(100) COMMENT '邮箱',
    QQ_NUMBER           VARCHAR(30) COMMENT 'QQ号码',
    WECHAT_ID           VARCHAR(50) COMMENT '微信号',
    IS_OVERSEAS_TALENT  VARCHAR(10)  NOT NULL COMMENT '是否留学人才（是/否）',
    SKILL_LEVEL         VARCHAR(100) COMMENT '职业技能等级',
    JOB_SEARCH_STATUS   VARCHAR(50)  NOT NULL COMMENT '求职状态（离职-随时到岗/在职-月内到岗等）',
    ACCEPT_RECOMMEND    VARCHAR(10)  NOT NULL COMMENT '是否接受公共就业服务机构推荐职位（是/否）',
    AVATAR_PATH         VARCHAR(500) COMMENT '个人头像（图片文件路径，支持jpg/gif/png，不超过5M）',
    DATA_SOURCE         VARCHAR(50)  NOT NULL COMMENT '数据来源（省系统/市系统/其他）',
    CREATE_BY           VARCHAR(50) COMMENT '创建人',
    CREATE_TIME         DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY           VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME         DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE        VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE PERSONAL_INFO IS '个人基本信息表';

-- ----------------------------
-- ALTER: 为户口所在地和现居住地新增完整路径字段
-- 用于 JTreeSelect 组件选择行政区域时存储完整路径文本
-- HOUSEHOLD_LOCATION / CURRENT_RESIDENCE 列存叶子代码（如 '440802'）
-- *_AREA_NAME 列存完整路径（如 '广东省/湛江市/赤坎区'）
-- ----------------------------
ALTER TABLE PERSONAL_INFO ADD HOUSEHOLD_AREA_NAME VARCHAR(500);
COMMENT ON COLUMN PERSONAL_INFO.HOUSEHOLD_AREA_NAME IS '户口所在地完整路径（如：广东省/湛江市/赤坎区）';
ALTER TABLE PERSONAL_INFO ADD RESIDENCE_AREA_NAME VARCHAR(500);
COMMENT ON COLUMN PERSONAL_INFO.RESIDENCE_AREA_NAME IS '现居住地完整路径（如：广东省/湛江市/赤坎区）';

-- ============================================================
-- 表2：简历信息表（主表）
-- 说明：存储求职者的简历基本信息，含个人优势、证书及求职意向信息
-- ============================================================
CREATE TABLE RESUME_INFO
(
    ID                 VARCHAR(36) NOT NULL COMMENT '主键ID',
    PERSONAL_ID        VARCHAR(36) NOT NULL COMMENT '关联个人基本信息ID',
    RESUME_NAME        VARCHAR(200) COMMENT '简历名称',
    IS_PUBLIC          VARCHAR(10) COMMENT '是否公开',
    VALID_DATE         DATE COMMENT '有效期',
    IS_DEFAULT         VARCHAR(10) COMMENT '是否默认简历',
    PERSONAL_ADVANTAGE TEXT COMMENT '个人优势（500字内）',
    OTHER_CERTIFICATE  VARCHAR(200) COMMENT '其他证书（30字内）',
    EXPECTED_INDUSTRY VARCHAR(200) COMMENT '期望行业（参考省一体化平台字典）',
    EXPECTED_POSITION VARCHAR(200)   NOT NULL COMMENT '期望职位（参考省一体化平台字典）',
    POSITION_NAME     VARCHAR(200)   NOT NULL COMMENT '职位名称',
    EXPECTED_SALARY   DECIMAL(12, 2) NOT NULL COMMENT '期望薪酬（元）',
    WORK_LOCATION     VARCHAR(200)   NOT NULL COMMENT '工作地点（参考省一体化平台字典）',
    WORK_NATURE       VARCHAR(50)    NOT NULL COMMENT '工作性质（全职/实习）',
    CREATE_BY         VARCHAR(50) COMMENT '创建人',
    CREATE_TIME       DATETIME       NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY         VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME       DATETIME       NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE      VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_INFO IS '简历信息表（主表）';

-- 新增字段：是否附件简历（1-是，0-否）
ALTER TABLE RESUME_INFO ADD IS_ATTACHMENT_RESUME VARCHAR(10) DEFAULT '0';
COMMENT ON COLUMN RESUME_INFO.IS_ATTACHMENT_RESUME IS '是否附件简历（1-是，0-否）';

-- 新增字段：附件文件地址
ALTER TABLE RESUME_INFO ADD ATTACHMENT_FILE_URL VARCHAR(500);
COMMENT ON COLUMN RESUME_INFO.ATTACHMENT_FILE_URL IS '附件文件地址';

-- ============================================================
-- 表4：简历信息 - 工作经历表（子表）
-- 说明：存储求职者的工作经历信息
-- ============================================================
CREATE TABLE RESUME_WORK_EXP
(
    ID                  VARCHAR(36)  NOT NULL COMMENT '主键ID',
    RESUME_ID           VARCHAR(36)  NOT NULL COMMENT '关联简历ID',
    COMPANY_NAME        VARCHAR(200) NOT NULL COMMENT '工作单位',
    POSITION            VARCHAR(200) NOT NULL COMMENT '所在职位',
    START_DATE          DATE         NOT NULL COMMENT '开始时间（年-月）',
    END_DATE            DATE COMMENT '结束时间（年-月，不选则为至今）',
    INDUSTRY            VARCHAR(200) COMMENT '所属行业（参考省一体化平台字典）',
    COMPANY_TYPE        VARCHAR(200) COMMENT '单位类型（企业/机关/事业单位等）',
    ECONOMY_TYPE        VARCHAR(200) COMMENT '经济类型（参考省一体化平台字典）',
    COMPANY_SIZE        VARCHAR(50) COMMENT '人员规模（49人及以下/50-99人等）',
    WORK_RESPONSIBILITY TEXT         NOT NULL COMMENT '工作职责（1000字以内）',
    WORK_ACHIEVEMENT    TEXT         NOT NULL COMMENT '工作业绩（1000字以内）',
    CREATE_BY           VARCHAR(50) COMMENT '创建人',
    CREATE_TIME         DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY           VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME         DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE        VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_WORK_EXP IS '简历信息-工作经历表';


-- ============================================================
-- 表5：简历信息 - 教育经历表（子表）
-- 说明：存储求职者的教育经历信息
-- ============================================================
CREATE TABLE RESUME_EDUCATION
(
    ID           VARCHAR(36)  NOT NULL COMMENT '主键ID',
    RESUME_ID    VARCHAR(36)  NOT NULL COMMENT '关联简历ID',
    START_DATE   DATE         NOT NULL COMMENT '开始时间（年-月）',
    END_DATE     DATE         NOT NULL COMMENT '结束时间（年-月）',
    SCHOOL_NAME  VARCHAR(200) NOT NULL COMMENT '毕业院校',
    MAJOR        VARCHAR(200) COMMENT '所学专业',
    EDUCATION    VARCHAR(50)  NOT NULL COMMENT '学历（博士研究生/硕士研究生/大学本科等）',
    DEGREE       VARCHAR(100) COMMENT '学位（博士及以上学位/硕士学位/双学士学位等）',
    EDU_SYSTEM   VARCHAR(50) COMMENT '学制（二年制/三年制/四年制/五年制）',
    CREATE_BY    VARCHAR(50) COMMENT '创建人',
    CREATE_TIME  DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY    VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME  DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_EDUCATION IS '简历信息-教育经历表';


-- ============================================================
-- 表6：简历信息 - 培训经历表（子表）
-- 说明：存储求职者的培训经历信息
-- ============================================================
CREATE TABLE RESUME_TRAINING
(
    ID                   VARCHAR(36)  NOT NULL COMMENT '主键ID',
    RESUME_ID            VARCHAR(36)  NOT NULL COMMENT '关联简历ID',
    TRAINING_INSTITUTION VARCHAR(200) NOT NULL COMMENT '培训机构',
    TRAINING_COURSE      VARCHAR(200) NOT NULL COMMENT '培训课程',
    START_DATE           DATE         NOT NULL COMMENT '开始时间（年-月）',
    END_DATE             DATE         NOT NULL COMMENT '结束时间（年-月）',
    CERTIFICATE_NO       VARCHAR(100) COMMENT '资格证书号',
    CREATE_BY            VARCHAR(50) COMMENT '创建人',
    CREATE_TIME          DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY            VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME          DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE         VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_TRAINING IS '简历信息-培训经历表';


-- ============================================================
-- 表7：简历信息 - 职业技能表（子表）
-- 说明：存储求职者的职业技能信息
-- ============================================================
CREATE TABLE RESUME_SKILL
(
    ID                 VARCHAR(36)  NOT NULL COMMENT '主键ID',
    RESUME_ID          VARCHAR(36)  NOT NULL COMMENT '关联简历ID',
    PROFESSION_NAME    VARCHAR(200) NOT NULL COMMENT '职业名称',
    WORK_TYPE          VARCHAR(200) NOT NULL COMMENT '工种/职业方向',
    SKILL_LEVEL        VARCHAR(100) COMMENT '技能等级（职业资格一级(高级技师)/二级(技师)/三级(高级)/四级(中级)/五级(初级)）',
    ISSUE_DATE         DATE COMMENT '发证日期（年-月-日）',
    ISSUE_ORGANIZATION VARCHAR(200) COMMENT '发证机构',
    CERTIFICATE_NO     VARCHAR(100) COMMENT '证书编号',
    CREATE_BY          VARCHAR(50) COMMENT '创建人',
    CREATE_TIME        DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY          VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME        DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE       VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_SKILL IS '简历信息-职业技能表';


-- ============================================================
-- 表8：简历信息 - 职称情况表（子表）
-- 说明：存储求职者的职称信息
-- ============================================================
CREATE TABLE RESUME_TITLE
(
    ID             VARCHAR(36)  NOT NULL COMMENT '主键ID',
    RESUME_ID      VARCHAR(36)  NOT NULL COMMENT '关联简历ID',
    TITLE_NAME     VARCHAR(200) NOT NULL COMMENT '职称名称',
    PROFESSION     VARCHAR(200) NOT NULL COMMENT '专业',
    LEVEL          VARCHAR(50)  NOT NULL COMMENT '级别（正高级/副高级/中级/助理级/员级）',
    ISSUE_DATE     DATE COMMENT '发证日期（年-月-日）',
    ISSUE_UNIT     VARCHAR(200) COMMENT '发证单位',
    CERTIFICATE_NO VARCHAR(100) COMMENT '证书编号',
    CREATE_BY      VARCHAR(50) COMMENT '创建人',
    CREATE_TIME    DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY      VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME    DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE   VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_TITLE IS '简历信息-职称情况表';


-- ============================================================
-- 表9：简历信息 - 获奖情况表（子表）
-- 说明：存储求职者的获奖情况信息
-- ============================================================
CREATE TABLE RESUME_AWARD
(
    ID                 VARCHAR(36)  NOT NULL COMMENT '主键ID',
    RESUME_ID          VARCHAR(36)  NOT NULL COMMENT '关联简历ID',
    CERTIFICATE_NAME   VARCHAR(200) NOT NULL COMMENT '证书名称',
    ISSUE_DATE         DATE         NOT NULL COMMENT '发证日期（年-月-日）',
    AWARD_ORGANIZATION VARCHAR(200) COMMENT '颁奖机构',
    ROLE               VARCHAR(200) COMMENT '角色',
    ACHIEVEMENT_NAME   VARCHAR(200) COMMENT '成果名称',
    ACHIEVEMENT_DESC   VARCHAR(500) COMMENT '成果说明',
    OTHER_DESC         VARCHAR(500) COMMENT '其他说明（100字内）',
    CREATE_BY          VARCHAR(50) COMMENT '创建人',
    CREATE_TIME        DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY          VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME        DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE       VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_AWARD IS '简历信息-获奖情况表';


-- ============================================================
-- 表10：简历信息 - 留学经历表（子表）
-- 说明：存储求职者的留学经历信息
-- ============================================================
CREATE TABLE RESUME_STUDY_ABROAD
(
    ID              VARCHAR(36)  NOT NULL COMMENT '主键ID',
    RESUME_ID       VARCHAR(36)  NOT NULL COMMENT '关联简历ID',
    SCHOOL_NAME     VARCHAR(200) NOT NULL COMMENT '院校名称',
    COUNTRY_REGION  VARCHAR(200) NOT NULL COMMENT '国家或地区（参考省一体化平台字典）',
    MAJOR           VARCHAR(200) NOT NULL COMMENT '留学专业',
    IS_GRADUATED    VARCHAR(10)  NOT NULL COMMENT '是否毕业',
    START_DATE      DATE         NOT NULL COMMENT '开始时间（年-月）',
    END_DATE        DATE         NOT NULL COMMENT '结束时间（年-月）',
    DIPLOMA_CERT_NO VARCHAR(100) COMMENT '海外学历认证书编号',
    CREATE_BY       VARCHAR(50) COMMENT '创建人',
    CREATE_TIME     DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY       VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME     DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE    VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE RESUME_STUDY_ABROAD IS '简历信息-留学经历表';

-- ============================================================
-- 表11：个人-岗位/企业收藏表
-- 说明：存储求职者收藏的岗位或企业信息
-- ============================================================
CREATE TABLE PERSONAL_FAVORITE
(
    ID          VARCHAR(36)  NOT NULL COMMENT '主键ID',
    PERSON_ID   VARCHAR(36)  NOT NULL COMMENT '人员ID',
    DATA_ID     VARCHAR(36)  NOT NULL COMMENT '数据ID（岗位或企业ID）',
    DATA_TYPE   VARCHAR(10)  NOT NULL COMMENT '数据类型（1-岗位，2-企业）',
    CREATE_BY   VARCHAR(50) COMMENT '创建人',
    CREATE_TIME DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    UPDATE_BY   VARCHAR(50) COMMENT '修改人',
    UPDATE_TIME DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    SYS_ORG_CODE VARCHAR(50) COMMENT '组织机构编号',
    PRIMARY KEY (ID)
);
COMMENT
ON TABLE PERSONAL_FAVORITE IS '个人-岗位/企业收藏表';
