-- ------------------------------------------------------------------考勤打卡--------------------------------------------------------------------
-- ----------------------------
-- 考勤-人员
-- ----------------------------
DROP TABLE IF EXISTS attendance_personnel;
CREATE TABLE attendance_personnel
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `user_id` bigint NULL DEFAULT NULL COMMENT '用户编号',
    PRIMARY KEY (`id`),
    unique key `only`(`user_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '考勤-人员';

-- ----------------------------
-- 考勤-配置
-- ----------------------------
DROP TABLE IF EXISTS attendance_config;
CREATE TABLE attendance_config
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `attendance_time` time NULL DEFAULT NULL COMMENT '考勤时间',
    `leave_reason`varchar(20) NULL DEFAULT NULL COMMENT '考勤节点(xjr_dictionary_item[attendance_node])',
    `address` varchar(1000) NULL DEFAULT NULL COMMENT '地点',
    `longitude` double NULL DEFAULT NULL COMMENT '经度',
    `latitude` double NULL DEFAULT NULL COMMENT '纬度',
    `attendance_range` int NULL DEFAULT NULL COMMENT '范围（米）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '考勤-配置';

-- ----------------------------
-- 考勤-记录
-- ----------------------------
DROP TABLE IF EXISTS attendance_record;
CREATE TABLE attendance_record
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `user_id` bigint NULL DEFAULT NULL COMMENT '用户编号',
    `attendance_time` time NULL DEFAULT NULL COMMENT '考勤时间',
    `check_time` datetime NULL DEFAULT NULL COMMENT '打卡时间',
    `leave_reason`varchar(20) NULL DEFAULT NULL COMMENT '考勤节点(xjr_dictionary_item[attendance_node])',
    `address` varchar(1000) NULL DEFAULT NULL COMMENT '地点',
    `longitude` double NULL DEFAULT NULL COMMENT '经度',
    `latitude` double NULL DEFAULT NULL COMMENT '纬度',
    `distance` double NULL DEFAULT NULL COMMENT '距离（米）',
    `status` int not null default 1 COMMENT '状态（1:正常 2:迟到 3:未打卡）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '考勤-记录';
-- ------------------------------------------------------------------考勤打卡--------------------------------------------------------------------

-- ----------------------------
-- 班主任事项请假
-- ----------------------------
DROP TABLE IF EXISTS wf_head_teacher_leave;
CREATE TABLE wf_head_teacher_leave
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `wf_teacherleave_id` bigint NULL DEFAULT NULL COMMENT '教职工请假编号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `leave_reason`varchar(20) NULL DEFAULT NULL COMMENT '请假原因(xjr_dictionary_item[leave_reason])',
    `start_time` date NULL DEFAULT NULL COMMENT '开始时间',
    `end_time` date NULL DEFAULT NULL COMMENT '结束时间',
    `is_substitute` INT NOT NULL default 0 COMMENT '是否有替班教师（1:是 0:否）',
    `substitute_user_id` bigint NULL DEFAULT NULL COMMENT '替换教师',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '班主任事项请假';

-- ------------------------------------------------------------------学生干部--------------------------------------------------------------------

-- ----------------------------
-- 干部部门
-- ----------------------------
DROP TABLE IF EXISTS cadre_dept;
CREATE TABLE cadre_dept
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '机构名称',
    `parent_id` bigint NOT NULL COMMENT '部门上级编号',
    `instructor_user_id` bigint NULL DEFAULT NULL COMMENT '部门指导教师用户编号',
    `code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '编码',
    `remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '干部部门';


-- ----------------------------
-- 干部候选人
-- ----------------------------
DROP TABLE IF EXISTS wf_cadre_candidate;
CREATE TABLE wf_cadre_candidate
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `student_id` VARCHAR(30) NULL DEFAULT NULL COMMENT '学号',
    `applicant_time` date NULL DEFAULT NULL COMMENT '申请时间',
    `cadre_dept_id` bigint NULL DEFAULT NULL COMMENT '干部部门编号',
    `class_name` VARCHAR(200) NULL DEFAULT NULL COMMENT '班级名称',
    `instructor_user_id`  bigint NULL DEFAULT NULL COMMENT '部门指导教师用户编号',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '干部候选人';


-- ----------------------------
-- 学生干部管理
-- ----------------------------
DROP TABLE IF EXISTS base_student_cadre;
CREATE TABLE base_student_cadre
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `user_id` BIGINT NULL DEFAULT NULL COMMENT '学生id',
    `class_id` BIGINT NULL DEFAULT NULL COMMENT '班级id',
    `post_id` BIGINT NULL DEFAULT NULL COMMENT '职务id',
    `cadre_dept_id` bigint NULL DEFAULT NULL COMMENT '干部部门编号',
    `start_time` DATE NULL DEFAULT NULL COMMENT '任职开始时间',
    `end_time` DATE NULL DEFAULT NULL COMMENT '任职结束时间',
    `status` INT NOT NULL COMMENT '状态（1:在职 0:离职）',
    `leave_time` DATE NULL DEFAULT NULL COMMENT '离职生效日期',
    `leave_reason` VARCHAR(500) NULL DEFAULT NULL COMMENT '离职原因',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生干部管理';

-- ------------------------------------------------------------------学生干部--------------------------------------------------------------------

-- ----------------------------
-- 教职工离职
-- ----------------------------
DROP TABLE IF EXISTS wf_teacher_depart;
CREATE TABLE wf_teacher_depart
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `sex` varchar(10) not null default '' COMMENT '性别 男, 女',
    `dept_name` varchar(100) not null default '' COMMENT '部门名称',
    `nature_organization` varchar(100) not null default '' COMMENT '编制性质(编内、编外)',
    `is_union_member` varchar(20) NULL DEFAULT NULL COMMENT '是否工会会员(xjr_dictionary_item[judgment_method_1])',
    `job` varchar(20) NULL DEFAULT NULL COMMENT '工作岗位(xjr_dictionary_item[depart_post])',
    `is_head_teacher` varchar(20) NULL DEFAULT NULL COMMENT '是否班主任(xjr_dictionary_item[judgment_method_1])',
    `h_pd_office_key` varchar(100) NULL DEFAULT NULL COMMENT '专业部-办公室钥匙移交(已交接、未交接、未借用)',
    `h_pd_facilities` varchar(100) NULL DEFAULT NULL COMMENT '专业部-教具、设施等移交(已交接、未交接、未借用)',
    `h_pd_other` varchar(1000) NULL DEFAULT NULL COMMENT '专业部-其它',

    `h_do_books` varchar(100) NULL DEFAULT NULL COMMENT '教务处-借阅图书归还(已交接、未交接、未借用)',
    `h_do_classroom_key` varchar(100) NULL DEFAULT NULL COMMENT '教务处-借用教室钥匙(已交接、未交接、未借用)',
    `h_do_other` varchar(1000) NULL DEFAULT NULL COMMENT '教务处-其它',

    `h_me_military_uniform` varchar(100) NULL DEFAULT NULL COMMENT '德育处-借用军训服装(已交接、未交接、未借用)',
    `h_me_other` varchar(1000) NULL DEFAULT NULL COMMENT '德育处-其它',

    `h_fl_computer` varchar(100) NULL DEFAULT NULL COMMENT '财务后勤处-办公电脑(已交接、未交接、未借用)',

    `h_sd_other` varchar(1000) NULL DEFAULT NULL COMMENT '安保处-其它',

    `file_id` BIGINT NULL DEFAULT NULL COMMENT '附件文件id',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教职工离职';

-- ------------------------------------------------------------------教材管理--------------------------------------------------------------------
-- ----------------------------
-- 学科组管理
-- ----------------------------
DROP TABLE IF EXISTS subject_group;
CREATE TABLE subject_group
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `group_name` varchar(100) not null default '' COMMENT '组名',
    `leader_user_id` bigint NULL DEFAULT NULL COMMENT '组长用户编号',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学科组管理';

-- ----------------------------
-- 学科组课程
-- ----------------------------
DROP TABLE IF EXISTS subject_group_course;
CREATE TABLE subject_group_course
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `subject_group_id` bigint NULL COMMENT '学科组管理编号(subject_group)',
    `course_subject_id` bigint NULL COMMENT '课程编号(base_course_subject)',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学科组管理';

-- ----------------------------
-- 教材教辅征订
-- ----------------------------
DROP TABLE IF EXISTS wf_textbook_subscription;
CREATE TABLE wf_textbook_subscription
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `dept_id` bigint NULL DEFAULT NULL COMMENT '所在部门编号',
    `base_semester_id` bigint COMMENT '学期ID(base_semester)',
    `subject_group_id` bigint NULL COMMENT '学科组管理编号(subject_group)',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材教辅征订';

-- ----------------------------
-- 教材教辅征订项
-- ----------------------------
DROP TABLE IF EXISTS wf_textbook_subscription_item;
CREATE TABLE wf_textbook_subscription_item
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `wf_textbook_subscription_id` bigint NULL DEFAULT NULL COMMENT '教材教辅征订编号',
    `subscription_type` varchar(20) NULL DEFAULT NULL COMMENT '征订类型(xjr_dictionary_item[subscription_type])',
    `issn` varchar(200) NULL DEFAULT NULL COMMENT '国际标准刊号',
    `isbn` varchar(200) NULL DEFAULT NULL COMMENT '国际标准书号',
    `book_name` varchar(200) NULL DEFAULT NULL COMMENT '书名',
    `publishing_house` varchar(200) NULL DEFAULT NULL COMMENT '出版社',
    `editor_in_chief` varchar(200) NULL DEFAULT NULL COMMENT '主编',
    `appraisal_price` decimal(10,2) NULL DEFAULT NULL COMMENT '估价(元)',
    `is_textbook_plan` varchar(20) NULL DEFAULT NULL COMMENT '是否为规划教材(xjr_dictionary_item[judgment_method_1])',
    `course_subject_id` bigint NULL COMMENT '课程编号(base_course_subject)',
    `class_ids` varchar(1000) NULL DEFAULT NULL COMMENT '班级编号(多个)',
    `student_subscription_number` int NULL DEFAULT NULL COMMENT '学生用书征订数量',
    `teacher_subscription_number` int NULL DEFAULT NULL COMMENT '教师教材征订数量',
    `teacher_reference_number` int NULL DEFAULT NULL COMMENT '教师教参用书征订数量',
    `is_support_resources` varchar(20) NULL DEFAULT NULL COMMENT '是否有配套教学资源(xjr_dictionary_item[judgment_method_1])',
    `version` varchar(100) NULL DEFAULT NULL COMMENT '版本',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材教辅征订项';

-- ----------------------------
-- 作业本征订
-- ----------------------------
DROP TABLE IF EXISTS wf_exercise_book;
CREATE TABLE wf_exercise_book
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `class_id` bigint NULL DEFAULT NULL COMMENT '班级编号',
    `base_semester_id` bigint COMMENT '学期ID(base_semester)',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '作业本征订';

-- ----------------------------
-- 作业本征订项
-- ----------------------------
DROP TABLE IF EXISTS wf_exercise_book_item;
CREATE TABLE wf_exercise_book_item
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `wf_exercise_book_id` bigint NULL DEFAULT NULL COMMENT '作业本征订编号',
    `subscription_type` varchar(20) NULL DEFAULT NULL COMMENT '作业本征订类型(xjr_dictionary_item[exercise_book_type])',
    `specifications_models` varchar(100) NULL DEFAULT NULL COMMENT '规格型号',
    `appraisal_price` decimal(10,2) NULL DEFAULT NULL COMMENT '估价(元)',
    `subscription_number` int NULL DEFAULT NULL COMMENT '征订数量',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '作业本征订项';

-- ----------------------------
-- 教材管理
-- ----------------------------
DROP TABLE IF EXISTS textbook;
CREATE TABLE textbook
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `issn` varchar(200) NULL DEFAULT NULL COMMENT '国际标准刊号',
    `isbn` varchar(200) NULL DEFAULT NULL COMMENT '国际标准书号',
    `book_name` varchar(200) NULL DEFAULT NULL COMMENT '书名',
    `publishing_house` varchar(200) NULL DEFAULT NULL COMMENT '出版社',
    `editor_in_chief` varchar(200) NULL DEFAULT NULL COMMENT '主编',
    `subject_group_id` bigint NULL COMMENT '学科组管理编号(subject_group)',
    `base_semester_id` bigint COMMENT '学期ID(base_semester)',
    `course_subject_id` bigint NULL COMMENT '课程编号(base_course_subject)',
    `grade_id` bigint NULL DEFAULT NULL COMMENT '入学年级(base_grade)',
    `version` varchar(100) NULL DEFAULT NULL COMMENT '版本',
    `is_textbook_plan` varchar(20) NULL DEFAULT NULL COMMENT '是否为规划教材(xjr_dictionary_item[judgment_method_1])',
    `textbook_type` varchar(20) NULL DEFAULT NULL COMMENT '教材类型(xjr_dictionary_item[textbook_type])',
    `specifications_models` varchar(100) NULL DEFAULT NULL COMMENT '规格型号',
    `appraisal_price` decimal(10,2) NULL DEFAULT NULL COMMENT '估价(元)',
    `price` decimal(10,2) NULL DEFAULT NULL COMMENT '定价(元)',
    `discount` float NULL DEFAULT NULL COMMENT '折扣',
    `subtotal` decimal(10,2) NULL DEFAULT NULL COMMENT '小计（元）',
    `stock` int NULL DEFAULT NULL COMMENT '库存',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材管理';

-- ----------------------------
-- 教材征订记录
-- ----------------------------
DROP TABLE IF EXISTS textbook_subscription_record;
CREATE TABLE textbook_subscription_record
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `textbook_id` bigint NULL DEFAULT NULL COMMENT '教材管理编号',
    `wf_textbook_subscription_id` bigint NULL DEFAULT NULL COMMENT '教材教辅征订编号',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材征订记录';

-- ----------------------------
-- 教材班级引用
-- ----------------------------
DROP TABLE IF EXISTS textbook_class_relation;
CREATE TABLE textbook_class_relation
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `textbook_id` bigint NULL DEFAULT NULL COMMENT '教材管理编号',
    `class_id` bigint NULL DEFAULT NULL COMMENT '班级编号',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材班级引用';

-- ----------------------------
-- 教材申领
-- ----------------------------
DROP TABLE IF EXISTS wf_textbook_claim;
CREATE TABLE wf_textbook_claim
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `class_id` bigint NULL DEFAULT NULL COMMENT '班级编号',
    `base_semester_id` bigint NULL DEFAULT NULL COMMENT '学期ID(base_semester)',
    `student_user_id` bigint NULL DEFAULT NULL COMMENT '学生编号',
    `claim_address` varchar(1000) NULL DEFAULT NULL COMMENT '领取地点',
    `claim_type` varchar(20) NULL DEFAULT NULL COMMENT '申领类型(xjr_dictionary_item[claim_type])',
    `receive_user_id` varchar(1000) NULL DEFAULT NULL COMMENT '代领取人',
    `claim_user_id` bigint NULL DEFAULT NULL COMMENT '领取用户编号（申请人帮领取人申请去领取）',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材申领';

-- ----------------------------
-- 教材申领项
-- ----------------------------
DROP TABLE IF EXISTS wf_textbook_claim_item;
CREATE TABLE wf_textbook_claim_item
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `wf_textbook_claim_id` bigint NULL DEFAULT NULL COMMENT '教材申领编号',
    `textbook_id` bigint NULL DEFAULT NULL COMMENT '教材管理编号',
    `applicant_number` int NULL DEFAULT 0 COMMENT '申请数量',
    `issue_number` int NULL DEFAULT 0 COMMENT '已发放数量',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材申领项';

-- ----------------------------
-- 教材领取人员
-- ----------------------------
DROP TABLE IF EXISTS textbook_claim_user;
CREATE TABLE textbook_claim_user
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `wf_textbook_claim_id` bigint NULL DEFAULT NULL COMMENT '教材申领编号',
    `user_id` bigint NULL DEFAULT NULL COMMENT '用户编号',
    `user_type` int NULL DEFAULT 2 COMMENT '用户类型（1：学生 2=教师）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材领取人员';

-- ----------------------------
-- 教材入库记录
-- ----------------------------
DROP TABLE IF EXISTS textbook_warehouse_record;
CREATE TABLE textbook_warehouse_record
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `textbook_id` bigint NULL DEFAULT NULL COMMENT '教材管理编号',
    `data_id` bigint DEFAULT NULL COMMENT '数据编号（根据入库方式，编号来自不同数据表）',
    `data_item_id` bigint DEFAULT NULL COMMENT '数据项项编号（根据入库方式，编号来自不同数据表）',
    `warehouse_number` int NULL DEFAULT NULL COMMENT '入库数量',
    `source` varchar(200) NULL DEFAULT NULL COMMENT '来源',
    `price` decimal(10,2) NULL DEFAULT NULL COMMENT '定价(元)',
    `discount` float NULL DEFAULT NULL COMMENT '折扣',
    `subtotal` decimal(10,2) NULL DEFAULT NULL COMMENT '小计（元）',
    `total_price` decimal(10,2) NULL DEFAULT NULL COMMENT '总价（元）',
    `warehouse_mode` varchar(20) NULL DEFAULT NULL COMMENT '入库方式(xjr_dictionary_item[warehouse_mode])',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材入库记录';

-- ----------------------------
-- 教材出库记录
-- ----------------------------
DROP TABLE IF EXISTS textbook_issue_record;
CREATE TABLE textbook_issue_record
(
    `id` bigint NOT NULL COMMENT '主键编号',
    `create_user_id` bigint DEFAULT NULL COMMENT '创建人',
    `create_date` datetime DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` bigint DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime DEFAULT NULL COMMENT '修改时间',
    `delete_mark` int NOT NULL COMMENT '删除标记',
    `enabled_mark` int NOT NULL COMMENT '有效标志',
    `sort_code` int DEFAULT NULL COMMENT '序号',
    `textbook_id` bigint NULL DEFAULT NULL COMMENT '教材管理编号',
    `data_id` bigint DEFAULT NULL COMMENT '数据编号（根据出库方式，编号来自不同数据表）',
    `data_item_id` bigint DEFAULT NULL COMMENT '数据项项编号（根据出库方式，编号来自不同数据表）',
    `issue_number` int DEFAULT NULL COMMENT '出库数量',
    `remaining_number` int DEFAULT NULL COMMENT '剩余数量',
    `receive_user_id` bigint DEFAULT NULL COMMENT '领取用户编号',
    `issue_user_id` bigint DEFAULT NULL COMMENT '出库用户编号',
    `issue_mode` varchar(20) DEFAULT NULL COMMENT '出库方式(xjr_dictionary_item[issue_mode])',
    `remark` varchar(1000) DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '教材出库记录';

-- ----------------------------
-- 学生教材认领记录
-- ----------------------------
DROP TABLE IF EXISTS textbook_student_claim;
CREATE TABLE textbook_student_claim
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `base_semester_id` bigint COMMENT '学期ID(base_semester)',
    `class_id` bigint NULL DEFAULT NULL COMMENT '班级编号',
    `student_user_id` BIGINT NULL DEFAULT NULL COMMENT '学生用户编号',
    `textbook_id` bigint NULL DEFAULT NULL COMMENT '教材管理编号',
    `is_claim` int not null default 0 COMMENT '是否领取（1:已领取 0:未领取）',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生教材认领记录';

-- ----------------------------
-- 退书申请
-- ----------------------------
DROP TABLE IF EXISTS wf_textbook_recede;
CREATE TABLE wf_textbook_recede
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `base_semester_id` bigint COMMENT '学期ID(base_semester)',
    `class_id` bigint NULL DEFAULT NULL COMMENT '班级编号',
    `recede_type` varchar(20) NULL DEFAULT NULL COMMENT '退书类型(xjr_dictionary_item[recede_type])',
    `recede_address` varchar(1000) NULL DEFAULT NULL COMMENT '退还地点',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '退书申请';

-- ----------------------------
-- 退书申请项
-- ----------------------------
DROP TABLE IF EXISTS wf_textbook_recede_item;
CREATE TABLE wf_textbook_recede_item
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `wf_textbook_recede_id` bigint NULL DEFAULT NULL COMMENT '退书申请编号',
    `textbook_id` bigint NULL DEFAULT NULL COMMENT '教材管理编号',
    `number` int NULL DEFAULT NULL COMMENT '数量',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '退书申请项';
-- ------------------------------------------------------------------教材管理--------------------------------------------------------------------

-- ------------------------------------------------------------------寝室管理--------------------------------------------------------------------
-- ----------------------------
-- 寝室生成规则
-- ----------------------------
DROP TABLE IF EXISTS room_rule;
CREATE TABLE room_rule
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `name` varchar(100) NULL DEFAULT NULL COMMENT '规则名称',
    `rule` varchar(500) NULL DEFAULT NULL COMMENT '规则配置（多个规则用逗号隔开）',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室生成规则';

-- ----------------------------
-- 寝室生成规则项
-- ----------------------------
DROP TABLE IF EXISTS room_rule_item;
CREATE TABLE room_rule_item
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `room_rule_id` bigint NOT NULL COMMENT '寝室生成规则编号(room_rule)',
    `office_build_id` bigint NOT NULL COMMENT '楼栋(base_office_build)',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室生成规则项';

-- ----------------------------
-- 寝室维护
-- ----------------------------
DROP TABLE IF EXISTS room;
CREATE TABLE room
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `office_build_id` bigint NOT NULL COMMENT '楼栋(base_office_build)',
    `floor_number` int NOT NULL COMMENT '楼层',
    `room_name` varchar(100) NULL DEFAULT NULL COMMENT '寝室名称',
    `check_in_status` varchar(20) NULL DEFAULT NULL COMMENT '入住身份(xjr_dictionary_item[check_in_status])',
    `gender` varchar(20) NULL DEFAULT NULL COMMENT '入住性别(xjr_dictionary_item[gender])',
    `bed_count` int NULL DEFAULT 0 COMMENT '床位数',
    `is_max` int not null default 0 COMMENT '是否是混合寝室【一个寝室有多个班级的学生】（1:是 0:否）',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室';

-- ----------------------------
-- 寝室床位
-- ----------------------------
DROP TABLE IF EXISTS room_bed;
CREATE TABLE room_bed
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `room_id` bigint NOT NULL COMMENT '寝室编号(room)',
    `bed_number` int NULL DEFAULT 0 COMMENT '床位号',
    `student_user_id` BIGINT NULL DEFAULT NULL COMMENT '学生用户编号',
    `is_check_in` int not null default 0 COMMENT '是否入住（1:是 0:否）',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室床位';

-- ----------------------------
-- 寝室干部任命（任命学生）
-- ----------------------------
DROP TABLE IF EXISTS room_student_appoint;
CREATE TABLE room_student_appoint
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `room_id` bigint NOT NULL COMMENT '寝室编号(room)',
    `room_bed_id` bigint NOT NULL COMMENT '寝室床位编号(room_bed)',
    `student_user_id` BIGINT NULL DEFAULT NULL COMMENT '学生用户编号',
    `post_id` BIGINT NULL DEFAULT NULL COMMENT '职务编号【只取职位级别为寝室的,cadreLevel_room】(base_student_post)',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室长任命';

-- ----------------------------
-- 宿管任命（任命教职工）
-- ----------------------------
DROP TABLE IF EXISTS room_teacher_appoint;
CREATE TABLE room_teacher_appoint
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `room_id` bigint NOT NULL COMMENT '寝室编号(room)',
    `user_id` BIGINT NULL DEFAULT NULL COMMENT '用户编号',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '宿管任命';

-- ----------------------------
-- 寝室床位分配记录
-- ----------------------------
DROP TABLE IF EXISTS room_bed_record;
CREATE TABLE room_bed_record
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `grade_id` bigint NULL DEFAULT NULL COMMENT '入学年级(base_grade)',
    `class_id` bigint NULL DEFAULT NULL COMMENT '班级(base_class)',
    `need_bed_number` int NULL DEFAULT 0 COMMENT '需要床位号',
    `distribute_bed_number` int NULL DEFAULT 0 COMMENT '分配床位数',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室床位记录';

-- ----------------------------
-- 寝室床位分配记录项
-- ----------------------------
DROP TABLE IF EXISTS room_bed_record_item;
CREATE TABLE room_bed_record_item
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `room_bed_record_id` bigint NOT NULL COMMENT '寝室床位记录编号(room_bed_record)',
    `room_id` bigint NOT NULL COMMENT '寝室编号(room)',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室床位记录项';

-- ----------------------------
-- 寝室申请
-- ----------------------------
DROP TABLE IF EXISTS wf_room_applicant;
CREATE TABLE wf_room_applicant
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `head_teacher_id` bigint NULL DEFAULT NULL COMMENT '班主任用户编号',
    `recede_type` varchar(20) NULL DEFAULT NULL COMMENT '寝室申请类型(xjr_dictionary_item[room_applicant_type])',
    `class_name` varchar(200) NULL DEFAULT NULL COMMENT '班级名称',
    `room_bed_number`  varchar(200) NULL DEFAULT NULL COMMENT '寝室+床位名称',
    `start_time` date NULL DEFAULT NULL COMMENT '开始时间',
    `nos_reason` varchar(20) NULL DEFAULT NULL COMMENT '离宿事由(xjr_dictionary_item[nos_reason])',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室申请';

-- ----------------------------
-- 寝室情况汇报
-- ----------------------------
DROP TABLE IF EXISTS wf_room_report;
CREATE TABLE wf_room_report
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `head_teacher_id` bigint NULL DEFAULT NULL COMMENT '班主任用户编号',
    `room_bed_number`  varchar(200) NULL DEFAULT NULL COMMENT '寝室+床位名称',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    `file_id` BIGINT NULL DEFAULT NULL COMMENT '附件文件id',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '寝室情况汇报';

-- ----------------------------
-- 留校住宿申请
-- ----------------------------
DROP TABLE IF EXISTS wf_room_stay_overnight;
CREATE TABLE wf_room_stay_overnight
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `applicant_user_id` bigint NULL DEFAULT NULL COMMENT '申请人',
    `head_teacher_id` bigint NULL DEFAULT NULL COMMENT '班主任用户编号',
    `room_id` bigint NULL DEFAULT NULL COMMENT '寝室编号(room)',
    `room_bed_number`  varchar(200) NULL DEFAULT NULL COMMENT '寝室+床位名称',
    `student_id` VARCHAR(30) NULL DEFAULT NULL COMMENT '学号',
    `gender_name` VARCHAR(200) NULL DEFAULT NULL COMMENT '性别',
    `class_name` VARCHAR(200) NULL DEFAULT NULL COMMENT '班级',
    `start_time` DATE NULL DEFAULT NULL COMMENT '开始时间',
    `end_time` DATE NULL DEFAULT NULL COMMENT '结束时间',
    `duration` int NULL DEFAULT NULL COMMENT '时长（天）',
    `mobile` VARCHAR(30) NULL DEFAULT NULL COMMENT '联系电话',
    `guardian_mobile` VARCHAR(30) NULL DEFAULT NULL COMMENT '监护人电话',
    `remark` varchar(1000)NULL DEFAULT NULL  COMMENT '备注',
    `status` int not null default 0 COMMENT '状态（1:结束 0:未结束）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '留校住宿申请';

-- ----------------------------
-- 查寝记录
-- ----------------------------
DROP TABLE IF EXISTS room_bed_check_record;
CREATE TABLE room_bed_check_record
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `user_id` bigint NULL DEFAULT NULL COMMENT '填写人',
    `class_id` bigint NULL DEFAULT NULL COMMENT '班级编号',
    `check_record_time` DATETIME NULL DEFAULT NULL COMMENT '查寝时间',
    `record` varchar(1000) NULL DEFAULT NULL COMMENT '情况记录',
    `remark` varchar(1000) NULL DEFAULT NULL COMMENT '备注',
    `file_id` BIGINT NULL DEFAULT NULL COMMENT '附件文件id',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '查寝记录';

-- ----------------------------
-- 查寝记录(关联寝室)
-- ----------------------------
DROP TABLE IF EXISTS room_bed_check_record_relation;
CREATE TABLE room_bed_check_record_relation
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `room_bed_check_record_id` bigint NULL DEFAULT NULL COMMENT '查寝记录编号（room_bed_check_record）',
    `room_id` bigint NOT NULL COMMENT '寝室编号(room)',
    `office_build_id` bigint NULL DEFAULT NULL COMMENT '楼栋(base_office_build)',
    `floor_number` int NULL DEFAULT NULL COMMENT '楼层',
    `room_name` varchar(100) NULL DEFAULT NULL COMMENT '寝室名称',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '查寝记录(关联寝室)';

-- ----------------------------
-- 宿管值班管理
-- ----------------------------
DROP TABLE IF EXISTS room_value_week;
CREATE TABLE room_value_week
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `start_time` DATE NULL DEFAULT NULL COMMENT '开始时间',
    `end_time` DATE NULL DEFAULT NULL COMMENT '结束时间',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '宿管值班管理';

-- ----------------------------
-- 宿管值班管理(人员)
-- ----------------------------
DROP TABLE IF EXISTS room_value_week_item;
CREATE TABLE room_value_week_item
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `room_value_week_id` bigint NULL DEFAULT NULL COMMENT '宿管值班管理编号（room_value_week）',
    `user_id` BIGINT NULL DEFAULT NULL COMMENT '值班人员用户编号',
    `post_name` varchar(20) NULL DEFAULT NULL COMMENT '职务（宿管、教官）',
    `room_type` varchar(20) NULL DEFAULT NULL COMMENT '负责寝室（男寝、女寝固定）',
    `number_people` int NULL DEFAULT NULL COMMENT '人数(添加时先默认统计一个进去)',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '宿管值班管理(人员)';
-- ------------------------------------------------------------------寝室管理--------------------------------------------------------------------

-- ----------------------------
-- 值周排班
-- ----------------------------
DROP TABLE IF EXISTS weekly_duty_schedule;
CREATE TABLE weekly_duty_schedule
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `user_number` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '学号/工号',
    `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名',
    `gender` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别',
    `credential_number` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '证件号码',
    `date_birth` DATE NULL DEFAULT NULL COMMENT '出生日期',
    `age` int NULL DEFAULT NULL COMMENT '年龄',
    `remark` varchar(1000)NULL DEFAULT NULL  COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '值周排班';

ALTER TABLE base_office_build ADD COLUMN `build_number` INT NULL DEFAULT NULL COMMENT '楼栋号' AFTER build_type;

-- ----------------------------
-- 公文收文
-- ----------------------------
DROP TABLE IF EXISTS official_document_received;
CREATE TABLE official_document_received
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `create_user_id` BIGINT NULL DEFAULT NULL COMMENT '创建人',
    `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` BIGINT NULL DEFAULT NULL COMMENT '修改人',
    `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark` INT NOT NULL COMMENT '删除标记',
    `enabled_mark` INT NOT NULL COMMENT '有效标志',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `received_title` varchar(200) NULL DEFAULT NULL COMMENT '收文标题',
    `received_number` varchar(200) NULL DEFAULT NULL COMMENT '收文文号',
    `received_date` date NULL DEFAULT NULL COMMENT '收文时间',
    `communication_org` varchar(200) NULL DEFAULT NULL COMMENT '来文机构',
    `communication_number` varchar(200) NULL DEFAULT NULL COMMENT '来文文号',
    `checkout_time` date NULL DEFAULT NULL COMMENT '办结时间',
    `document_level`varchar(20) NULL DEFAULT NULL COMMENT '文件密级(xjr_dictionary_item[document_level])',
    `emergency_level`varchar(20) NULL DEFAULT NULL COMMENT '紧急程度(xjr_dictionary_item[emergency_level])',
    `received_type`varchar(20) NULL DEFAULT NULL COMMENT '收文类型(xjr_dictionary_item[received_type])',
    `file_id` BIGINT NULL DEFAULT NULL COMMENT '附件文件id',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '公文收文';

DROP TABLE IF EXISTS `wf_teacherleave`;
CREATE TABLE `wf_teacherleave` (
   `id` bigint NOT NULL,
   `user_id` longtext COMMENT '申请人',
   `department` varchar(500) DEFAULT NULL COMMENT '所在部门',
   `leave_start_time` datetime DEFAULT NULL COMMENT '请假开始时间',
   `leave_end_time` datetime DEFAULT NULL COMMENT '请假结束时间',
   `leave_days` double DEFAULT NULL COMMENT '请假天数',
   `leave_type` varchar(500) DEFAULT NULL COMMENT '请假类型',
   `is_it_a_homeroom_teacher` varchar(500) DEFAULT NULL COMMENT '是否班主任',
   `middle_level_or_not` varchar(500) DEFAULT NULL COMMENT '是否中层',
   `relief_homeroo_teacher_id` varchar(500) DEFAULT NULL COMMENT '替班班主任',
   `relief_teacher_id` varchar(500) DEFAULT NULL COMMENT '替班教师',
   `reason_for_leave` longtext COMMENT '请假事由',
   `annex` longtext COMMENT '附件',
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='教职工请假流程';


DROP TABLE IF EXISTS `teacher_award`;
CREATE TABLE `teacher_award` (
     `id` bigint NOT NULL COMMENT '主键编号',
     `create_user_id` bigint DEFAULT NULL COMMENT '创建人',
     `create_date` datetime DEFAULT NULL COMMENT '创建时间',
     `modify_user_id` bigint DEFAULT NULL COMMENT '修改人',
     `modify_date` datetime DEFAULT NULL COMMENT '修改时间',
     `delete_mark` int NOT NULL COMMENT '删除标记',
     `enabled_mark` int NOT NULL COMMENT '有效标志',
     `sort_code` int DEFAULT NULL COMMENT '序号',
     `applicant_user_id` bigint DEFAULT NULL COMMENT '申请人',
     `award_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '获奖类型(xjr_dictionary_item[award_type])',
     `award_level` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '奖项级别(xjr_dictionary_item[honors_level])',
     `competition_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '赛项名称',
     `award_grade` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '获奖等级（一等奖、二等奖、三等奖、指导奖一等奖、指导奖二等奖、指导奖三等奖）',
     `award_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '组别（职工、师生同赛）',
     `paper_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '作品名称',
     `issn` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '国际标准刊号字',
     `media_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '媒体类型（期刊、图书、报纸、音像、论文集）',

     `journal_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '媒体名称',
     `journal_number` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '国内统一刊号CN',
     `journal_level` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '期刊级别（核心期刊、一般期刊、(校级、内部论文)）',

     `issue_date` date DEFAULT NULL COMMENT '发表时间',
     `approval_user_id` bigint DEFAULT NULL COMMENT '审核人',
     `remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
     `file_id` bigint DEFAULT NULL COMMENT '附件文件id',
     `status` int NOT NULL DEFAULT '0' COMMENT '状态（1:结束 0:未结束）',
     PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='教师获奖登记';



