feat(aihr): add position qualification schema contract

This commit is contained in:
2026-07-15 02:04:05 +08:00
parent 27fe838225
commit d44e9440ce
7 changed files with 200 additions and 6 deletions
@@ -0,0 +1,79 @@
-- AIHR 岗位职责、SOP 适用范围、入职任务和上岗资格门禁结构迁移(MySQL 8.x)
-- 只补正式数据契约,不写入岗位、员工、课程或资格业务数据;可重复执行。
-- sop_id/course_id 不加外键:正式 SOP/course 主表尚未纳入阶段一,先保留跨模块引用。
CREATE TABLE IF NOT EXISTS `aihr_position_responsibility` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`position_code` varchar(80) NOT NULL COMMENT '岗位编码',
`responsibility_text` varchar(1000) NOT NULL COMMENT '岗位职责',
`sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)',
`sop_code` varchar(100) DEFAULT NULL COMMENT '关联SOP编码',
`enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用',
`effective_from` date DEFAULT NULL COMMENT '生效日期',
`effective_thru` date DEFAULT NULL COMMENT '失效日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_aihr_position_responsibility` (`tenant_id`, `position_code`, `sop_code`),
KEY `idx_aihr_position_responsibility_status` (`tenant_id`, `position_code`, `enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='AI HR 岗位职责与SOP挂载';
CREATE TABLE IF NOT EXISTS `aihr_sop_applicability` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)',
`sop_code` varchar(100) DEFAULT NULL COMMENT '关联SOP编码',
`project_type` varchar(80) DEFAULT NULL COMMENT '项目类型:住宅/公建/景区等',
`industry` varchar(80) DEFAULT NULL COMMENT '行业分类',
`org_scope` varchar(500) DEFAULT NULL COMMENT '适用组织/项目范围编码,不存展示姓名',
`enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用',
`effective_from` date DEFAULT NULL COMMENT '生效日期',
`effective_thru` date DEFAULT NULL COMMENT '失效日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_aihr_sop_applicability_sop` (`tenant_id`, `sop_id`, `sop_code`),
KEY `idx_aihr_sop_applicability_scope` (`tenant_id`, `project_type`, `industry`, `enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='AI HR SOP适用范围';
CREATE TABLE IF NOT EXISTS `aihr_onboard_task` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名',
`project_code` varchar(100) DEFAULT NULL COMMENT '项目编码',
`position_code` varchar(80) DEFAULT NULL COMMENT '岗位编码',
`sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)',
`course_id` bigint DEFAULT NULL COMMENT '关联课程主键(跨模块引用)',
`task_type` varchar(20) NOT NULL COMMENT '任务类型:岗前/入职',
`status` varchar(30) NOT NULL DEFAULT '待完成' COMMENT '待完成/进行中/已完成/已取消',
`assign_by` varchar(100) DEFAULT NULL COMMENT '派发人外部主体或系统标识',
`assigned_time` datetime DEFAULT NULL COMMENT '派发时间',
`due_time` datetime DEFAULT NULL COMMENT '截止时间',
`completed_time` datetime DEFAULT NULL COMMENT '完成时间',
`evidence_ref` varchar(500) DEFAULT NULL COMMENT '完成证据引用',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_aihr_onboard_task_party` (`tenant_id`, `ext_party_id`, `status`, `create_time`),
KEY `idx_aihr_onboard_task_scope` (`tenant_id`, `project_code`, `position_code`, `task_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='AI HR 岗前/入职培训任务';
CREATE TABLE IF NOT EXISTS `aihr_qualification_gate` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名',
`project_code` varchar(100) DEFAULT NULL COMMENT '项目编码',
`position_code` varchar(80) NOT NULL COMMENT '岗位编码',
`cert_id` varchar(100) NOT NULL COMMENT '资格/证书编码',
`passed` tinyint NOT NULL DEFAULT 0 COMMENT '是否通过',
`valid_thru` date DEFAULT NULL COMMENT '有效期至',
`evidence_ref` varchar(500) DEFAULT NULL COMMENT '资格证据引用',
`reviewer` varchar(100) DEFAULT NULL COMMENT '复核人外部主体或系统标识',
`reviewed_time` datetime DEFAULT NULL COMMENT '复核时间',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_aihr_qualification_gate` (`tenant_id`, `ext_party_id`, `project_code`, `position_code`, `cert_id`),
KEY `idx_aihr_qualification_gate_status` (`tenant_id`, `position_code`, `passed`, `valid_thru`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='AI HR 上岗资格门禁';