-- 员工档案表(租户端 OA 人事档案) -- 在租户业务库执行以下语句创建表结构。 -- 数据按租户 tid 隔离;档案与员工(yz_backend_employee)一对一, -- 子记录表统一存放教育经历 / 工作经历 / 合同信息 / 证照附件。 -- --------------------------------------------------------------------------- -- 1. 员工档案主表 -- --------------------------------------------------------------------------- CREATE TABLE `yz_backend_employee_file` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `tid` int NOT NULL DEFAULT '0' COMMENT '租户ID', `employee_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '员工ID(yz_backend_employee.id)', `file_no` varchar(50) NOT NULL DEFAULT '' COMMENT '档案编号(留空自动生成EF+时间戳)', `id_card` varchar(30) NOT NULL DEFAULT '' COMMENT '身份证号', `id_card_front` varchar(500) NOT NULL DEFAULT '' COMMENT '身份证正面(人像面)图片URL', `id_card_back` varchar(500) NOT NULL DEFAULT '' COMMENT '身份证反面(国徽面)图片URL', `education_photo` varchar(500) NOT NULL DEFAULT '' COMMENT '学历照片URL', `political_status` varchar(30) NOT NULL DEFAULT '' COMMENT '政治面貌', `marital_status` tinyint NOT NULL DEFAULT '0' COMMENT '婚姻状况 0-未知 1-未婚 2-已婚 3-离异 4-丧偶', `native_place` varchar(100) NOT NULL DEFAULT '' COMMENT '籍贯', `household_address` varchar(255) NOT NULL DEFAULT '' COMMENT '户籍地址', `current_address` varchar(255) NOT NULL DEFAULT '' COMMENT '现居住址', `emergency_contact` varchar(50) NOT NULL DEFAULT '' COMMENT '紧急联系人', `emergency_phone` varchar(20) NOT NULL DEFAULT '' COMMENT '紧急联系电话', `emergency_relation` varchar(30) NOT NULL DEFAULT '' COMMENT '与本人关系', `work_email` varchar(100) NOT NULL DEFAULT '' COMMENT '工作邮箱', `hire_date` date DEFAULT NULL COMMENT '入职日期', `regular_date` date DEFAULT NULL COMMENT '转正日期', `leave_date` date DEFAULT NULL COMMENT '离职日期', `employment_status` tinyint NOT NULL DEFAULT '2' COMMENT '在职状态 1-试用 2-正式 3-离职', `remark` text NULL COMMENT '备注', `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除 0-否 1-是', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_tid_employee` (`tid`,`employee_id`), KEY `idx_file_no` (`file_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='员工档案主表'; -- --------------------------------------------------------------------------- -- 2. 员工档案子记录表(教育经历/工作经历/合同信息/证照附件) -- type 字段区分记录类型,title/sub_title/extra 的语义随类型变化: -- 教育经历(1):title=学校 sub_title=专业 extra=学历 -- 工作经历(2):title=公司 sub_title=职位 extra=所在部门 -- 合同信息(3):title=合同名称 sub_title=合同类型 extra=签订主体 -- 证照附件(4):title=证照名称 sub_title=证件号码 extra='' -- --------------------------------------------------------------------------- CREATE TABLE `yz_backend_employee_file_record` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `tid` int NOT NULL DEFAULT '0' COMMENT '租户ID', `employee_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '员工ID(yz_backend_employee.id)', `type` tinyint NOT NULL DEFAULT '1' COMMENT '记录类型 1-教育经历 2-工作经历 3-合同信息 4-证照附件', `title` varchar(100) NOT NULL DEFAULT '' COMMENT '名称(学校/公司/合同/证照)', `sub_title` varchar(100) NOT NULL DEFAULT '' COMMENT '次级信息(专业/职位/合同类型/证件号码)', `extra` varchar(100) NOT NULL DEFAULT '' COMMENT '附加信息(学历/部门/签订主体)', `start_date` date DEFAULT NULL COMMENT '开始日期', `end_date` date DEFAULT NULL COMMENT '结束日期', `description` text NULL COMMENT '描述', `attachment_url` varchar(500) NOT NULL DEFAULT '' COMMENT '附件地址(证照图片等)', `sort` int NOT NULL DEFAULT '0' COMMENT '排序(越小越靠前)', `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除 0-否 1-是', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', PRIMARY KEY (`id`), KEY `idx_tid_employee_type` (`tid`,`employee_id`,`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='员工档案子记录表';