-- =============================================
-- 员工调动记录表
-- 表名: ccdi_staff_transfer
-- 说明: 记录员工的调动信息,包括调动前后的部门、职级、岗位、薪酬等级等信息
-- 作者: ruoyi
-- 日期: 2026-02-10
-- =============================================

DROP TABLE IF EXISTS `ccdi_staff_transfer`;

CREATE TABLE `ccdi_staff_transfer`
(
    `id`                  bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `staff_id`            bigint(20) NOT NULL COMMENT '员工ID,关联ccdi_base_staff.staff_id',
    `transfer_type`       varchar(50)  DEFAULT NULL COMMENT '调动类型:PROMOTION-升职,DEMOPTION-降职,LATERAL-平调,ROTATION-轮岗,SECONDMENT-借调,DEPARTMENT_CHANGE-部门调动,POSITION_CHANGE-职位调整,RETURN-返岗,TERMINATION-离职,OTHER-其他',
    `transfer_sub_type`   varchar(100) DEFAULT NULL COMMENT '调动子类型,双聘调动、临时调动等',
    `dept_id_before`      bigint(20) DEFAULT NULL COMMENT '调动前部门ID',
    `dept_name_before`    varchar(200) DEFAULT NULL COMMENT '调动前部门',
    `grade_before`        varchar(50)  DEFAULT NULL COMMENT '调动前职级',
    `position_before`     varchar(100) DEFAULT NULL COMMENT '调动前岗位',
    `salary_level_before` varchar(50)  DEFAULT NULL COMMENT '调动前薪酬等级',
    `dept_id_after`       bigint(20) DEFAULT NULL COMMENT '调动后部门ID',
    `dept_name_after`     varchar(200) DEFAULT NULL COMMENT '调动后部门',
    `grade_after`         varchar(50)  DEFAULT NULL COMMENT '调动后职级',
    `position_after`      varchar(100) DEFAULT NULL COMMENT '调动后岗位',
    `salary_level_after`  varchar(50)  DEFAULT NULL COMMENT '调动后薪酬等级',
    `transfer_date`       date         DEFAULT NULL COMMENT '调动日期',
    `create_time`         datetime     DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time`         datetime     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    `created_by`          varchar(100) NOT NULL COMMENT '创建人',
    `updated_by`          varchar(100) DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`),
    KEY                   `idx_staff_id` (`staff_id`) USING BTREE,
    KEY                   `idx_transfer_type` (`transfer_type`) USING BTREE,
    KEY                   `idx_transfer_date` (`transfer_date`) USING BTREE,
    KEY                   `idx_dept_before` (`dept_id_before`) USING BTREE,
    KEY                   `idx_dept_after` (`dept_id_after`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工调动记录表';
