-- 员工招聘：招聘类型与候选人历史工作经历结构变更
-- 说明：
-- 1. 本脚本对应招聘功能正式表结构变更，需要进入代码仓库作为后续部署、测试和合并依据。
-- 2. 当前联调数据库已于 2026-04-20 手工/脚本执行过等价结构变更：
--    - ccdi_staff_recruitment 已存在 recruit_type 字段；
--    - ccdi_staff_recruitment_work 子表已创建。
-- 3. 后续环境执行前请先确认字段和表是否已存在；若已存在，不要重复执行 ALTER ADD COLUMN，避免重复字段报错。
-- 4. 本脚本只负责结构与招聘类型基础回填，不包含演示/联调造数。

ALTER TABLE `ccdi_staff_recruitment`
    ADD COLUMN `recruit_type` VARCHAR(20) NULL COMMENT '招聘类型：SOCIAL-社招，CAMPUS-校招' AFTER `cand_grad`;

UPDATE `ccdi_staff_recruitment`
SET `recruit_type` = CASE
    WHEN `recruit_name` LIKE '%校园%' THEN 'CAMPUS'
    ELSE 'SOCIAL'
END
WHERE `recruit_type` IS NULL
   OR `recruit_type` = '';

ALTER TABLE `ccdi_staff_recruitment`
    MODIFY COLUMN `recruit_type` VARCHAR(20) NOT NULL COMMENT '招聘类型：SOCIAL-社招，CAMPUS-校招';

CREATE TABLE IF NOT EXISTS `ccdi_staff_recruitment_work`
(
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `recruit_id` VARCHAR(32) NOT NULL COMMENT '关联招聘记录编号',
    `sort_order` INT NOT NULL DEFAULT 1 COMMENT '排序号，1 表示最近一段经历',
    `company_name` VARCHAR(200) NOT NULL COMMENT '工作单位',
    `department_name` VARCHAR(100) DEFAULT NULL COMMENT '所属部门',
    `position_name` VARCHAR(100) DEFAULT NULL COMMENT '岗位名称',
    `job_start_month` VARCHAR(7) NOT NULL COMMENT '入职年月，格式 YYYY-MM',
    `job_end_month` VARCHAR(7) DEFAULT NULL COMMENT '离职年月，格式 YYYY-MM',
    `departure_reason` VARCHAR(500) DEFAULT NULL COMMENT '离职原因',
    `work_content` VARCHAR(1000) DEFAULT NULL COMMENT '主要工作内容',
    `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
    `created_by` VARCHAR(20) DEFAULT NULL COMMENT '创建人',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_by` VARCHAR(20) DEFAULT NULL COMMENT '更新人',
    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_recruit_id` (`recruit_id`),
    KEY `idx_recruit_id_sort_order` (`recruit_id`, `sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='招聘信息历史工作经历表';
