safety-eval-service/safety-cedu-service/src/班级管理.sql

241 lines
16 KiB
MySQL
Raw Normal View History

2026-08-19 17:45:49 +08:00
create table class_course
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
class_id bigint not null comment '所属班级ID关联training_class.id',
course_name varchar(200) not null comment '课程名称',
course_id bigint not null comment '课程id',
required_total_hours decimal(10, 2) null comment '要求完成总学时(小时)',
video_duration decimal(10, 2) null comment '视频累计时长(小时)',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
2026-08-20 11:58:34 +08:00
env varchar(50) null comment '环境',
courseware_id text null comment '课件id集合'
2026-08-19 17:45:49 +08:00
)
comment '课程管理表' charset = utf8mb4;
create index idx_class_id
on class_course (class_id);
create table class_management
(
id bigint unsigned zerofill not null comment '主键ID由程序生成不自增'
primary key,
class_code varchar(50) null comment '班级编码(唯一)',
class_name varchar(100) null comment '班级名称',
training_type varchar(50) null comment '培训类型',
unit_type int null comment '参训单位类型1本企业2相关方',
unit_name varchar(100) null comment '参训单位名称',
recorder varchar(50) null comment '记录人员姓名或ID',
assessor varchar(50) null comment '考核人员姓名或ID',
safety_manager varchar(50) null comment '安全管理部门负责人姓名或ID',
start_date datetime null comment '培训开始日期',
end_date datetime null comment '培训结束日期',
open_exam tinyint(1) default 0 null comment '是否开启考试0-否1-是)',
exam_face_recognition tinyint(1) default 0 null comment '考试前人脸识别0-否1-是)',
exam_count int null comment '考试次数',
face_recognition tinyint(1) default 0 null comment '是否人脸识别0-否1-是)',
face_recognition_time int null comment '人脸识别时间分钟可选5/10/20/30',
shuffle_questions tinyint(1) default 0 null comment '是否打乱试题顺序0-否1-是)',
status int default 0 null comment '班级状态0-未申请1-待开班2-培训中3-培训结束',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境',
delay_time datetime null comment '延期时间',
paper_type int null comment '试卷类型1自动生成试卷、2平台组卷等',
exam_minutes int null comment '考试时长(分钟)',
paper_id bigint null comment '试卷id'
)
comment '班级管理表' charset = utf8mb4;
create table class_student
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
class_id bigint not null comment '关联班级IDtraining_class.id',
student_name varchar(50) null comment '姓名',
unit_name varchar(100) null comment '参训单位',
department varchar(100) null comment '部门',
phone varchar(20) null comment '手机号',
file_number varchar(50) null comment '档案编号',
face_auth tinyint(1) default 0 null comment '人脸认证0-未认证1-已认证)',
required_hours decimal(10, 2) null comment '要求学时(小时)',
completed_hours decimal(10, 2) default 0.00 null comment '已完成学时(小时)',
study_status int default 0 null comment '学习状态0-未学习1-学习中2-已学完3-已完成',
exam_status int default 0 null comment '考试状态0-不考试1-待考试2-考试未通过3-考试通过4-未参加',
entry_time datetime null comment '入班时间',
2026-08-24 15:06:50 +08:00
student_id varchar(20) null comment '学员(来源id)',
2026-08-19 17:45:49 +08:00
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境'
)
comment '班级学员学习记录表' charset = utf8mb4;
create index idx_class_id
on class_student (class_id);
create table class_student_exam_record
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
student_id bigint not null comment '学员ID关联class_student.id',
student_name varchar(20) not null comment '学员名称',
class_id bigint not null comment '所属班级ID关联training_class.id',
paper_name varchar(200) not null comment '试卷名称',
2026-08-24 15:16:06 +08:00
paper_exam_id bigint not null comment '考试试卷id关联paper_exam.id',
2026-08-19 17:45:49 +08:00
score decimal(10, 2) null comment '得分',
passed tinyint(1) default 0 null comment '是否通过0-未通过1-通过)',
wrong_count int default 0 null comment '错误题数',
accuracy decimal(5, 2) null comment '正确率(百分比,如 96.66',
start_time datetime null comment '考试开始时间',
end_time datetime null comment '考试结束时间',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境'
)
comment '学员考试记录表' charset = utf8mb4;
create index idx_student_id
on class_student_exam_record (student_id);
create table class_student_learning_record
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
student_id bigint not null comment '学员ID关联class_student.id',
class_id bigint not null comment '所属班级ID关联training_class.id',
course_id bigint not null comment '课程ID关联training_course.id',
course_name varchar(200) not null comment '课程名称',
courseware_name varchar(200) null comment '小节点名称(如章节名、视频文件名)',
study_status int default 0 null comment '学习状态0-未学习1-学习中2-已完成',
learning_progress varchar(50) null comment '学习情况(如进度百分比或简要描述,冗余字段便于展示)',
start_time datetime null comment '开始学习时间(第一次开始观看/学习的时间)',
end_time datetime null comment '完成时间(标记为“已学完”或“已完成”的时间)',
last_watch_time datetime null comment '最近观看时间(最后一条学习行为的时间戳)',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境'
)
comment '学员学习记录表(节点级)' charset = utf8mb4;
create index idx_course_id
on class_student_learning_record (course_id);
create index idx_student_id
on class_student_learning_record (student_id);
create index idx_study_status
on class_student_learning_record (study_status);
2026-08-20 11:58:34 +08:00
create table course_management
(
delete_enum varchar(32) charset utf8mb4 null comment '删除标识true false',
remarks varchar(255) charset utf8mb4 null comment '备注',
create_name varchar(50) charset utf8mb4 null comment '创建人姓名',
update_name varchar(50) charset utf8mb4 null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) charset utf8mb4 null comment '环境',
id bigint not null comment '主键'
primary key,
course_name varchar(200) null comment '课程名称',
training_type varchar(100) null comment '培训类型',
course_description varchar(512) null comment '课称描述',
course_cover varchar(255) null comment '课程封面',
class_hour_duration decimal(5, 1) unsigned default 0.0 null comment '课时时长(小时)',
upload_unit varchar(200) null comment '上传单位',
status int default 0 null comment '状态1启用/0禁用',
used int default 0 null comment '是否已被使用0-未使用1-已使用)',
exam_type int null comment '试卷类型1自动生成试卷、2平台组卷等',
exam_minutes int null comment '考试时长(分钟)',
exam_id bigint not null comment '试卷id'
)
comment '课程管理';
create table course_rel_courseware
(
id bigint not null comment '主键'
primary key,
courseware_name varchar(200) null comment '课件名称',
courseware_document varchar(512) null comment '课件文档(文件名或路径)',
courseware_id bigint null comment '课件id',
course_id bigint null comment '课程id',
sort int null comment '排序',
class_hour_duration_unit varchar(10) default '小时' null comment '课时时长单位',
credit_hours decimal(5, 1) unsigned default 0.0 null comment '学时'
)
comment '课程关联课件表';
create table courseware_management
(
delete_enum varchar(32) charset utf8mb4 null comment '删除标识true false',
remarks varchar(255) charset utf8mb4 null comment '备注',
create_name varchar(50) charset utf8mb4 null comment '创建人姓名',
update_name varchar(50) charset utf8mb4 null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) charset utf8mb4 null comment '环境',
id bigint not null comment '主键'
primary key,
courseware_name varchar(200) null comment '课件名称',
training_type varchar(100) null comment '培训类型',
lecturer_name varchar(100) null comment '讲师名称',
credit_hours decimal(5, 1) unsigned default 0.0 null comment '学时',
class_hour_duration decimal(5, 1) unsigned default 0.0 null comment '课时时长(小时)',
upload_unit varchar(200) null comment '上传单位',
status int default 0 null comment '状态1启用/0禁用',
courseware_type int null comment '课件类型1视频课件/2文档课件',
courseware_document varchar(512) null comment '课件文档(文件名或路径)',
courseware_description varchar(512) null comment '课件描述'
)
comment '课件表';