-- ----------------------------
-- 学生职务设置
-- ----------------------------
DROP TABLE IF EXISTS base_student_post;
CREATE TABLE base_student_post
(
    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 '序号',
    `post` VARCHAR(50) COMMENT '职务',
    `level` VARCHAR(50) NULL DEFAULT NULL COMMENT '职务级别',
    `is_allowed_check` INT NULL DEFAULT 1 COMMENT '是否允许德育检查(1:是 0:否)',
    `explains` VARCHAR(500) NULL DEFAULT NULL COMMENT '职责描述',
    `status` INT NULL DEFAULT 1 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',
    `org_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 base_punishment_type;
CREATE TABLE base_punishment_type
(
    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 '序号',
    `punishment_type` VARCHAR(100) NULL DEFAULT NULL COMMENT '处分类型',
    `punishment_level` INT NULL DEFAULT NULL COMMENT '处分级别',
    `validity_period_day` INT NULL DEFAULT NULL COMMENT '有效期(天)',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '处分类型维护';


-- ----------------------------
-- 学生处分信息管理
-- ----------------------------
DROP TABLE IF EXISTS base_student_punishment_info;
CREATE TABLE base_student_punishment_info
(
    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 '有效标志',
    `base_semester_id` BIGINT COMMENT '学期ID(base_semester)',
    `punishment_type_id` BIGINT NULL DEFAULT NULL COMMENT '处分类型id',
    `start_time` DATE NULL DEFAULT NULL COMMENT '处分开始日期',
    `end_time` DATE NULL DEFAULT NULL COMMENT '处分结束日期',
    `is_publicity` INT NULL DEFAULT 1 COMMENT '是否公示(1:是 0:否)',
    `push_message_object` INT NULL DEFAULT NULL COMMENT '发送处分(1:班主任 2:学生 3:家长)',
    `reason` VARCHAR(500) NULL DEFAULT NULL COMMENT '处分原因',
    `class_id` BIGINT NULL DEFAULT NULL COMMENT '班级id',
    `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 base_punishment_student_relation;
CREATE TABLE base_punishment_student_relation
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `user_id`  BIGINT NULL DEFAULT NULL COMMENT'学生id',
    `punishment_info_id` BIGINT NULL DEFAULT NULL COMMENT '处分信息id',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `student_id` VARCHAR(30) NULL DEFAULT NULL COMMENT '学号',
    `name` VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    `gender` VARCHAR(30) NULL DEFAULT 1 COMMENT '性别',
    `nation` VARCHAR(30) NULL DEFAULT NULL COMMENT '民族(xjr_dictionary_item[nation])',
    `class` VARCHAR(50) NULL DEFAULT NULL COMMENT '所在班级',
    `major` VARCHAR(50) NULL DEFAULT NULL COMMENT '所学专业',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生处分信息-关联学生';

ALTER TABLE `base_punishment_student_relation`
  ADD COLUMN `adjust_type` INT NULL   COMMENT '调整类型 1:升级 2:降级 3:撤销' AFTER `major`,
  ADD COLUMN `adjust_date` DATE NULL   COMMENT '调整日期' AFTER `adjust_type`,
  ADD COLUMN `adjust_reason` VARCHAR(500) NULL   COMMENT '调整原因' AFTER `adjust_date`;

ALTER TABLE `base_punishment_student_relation`
  CHANGE `class` `className` VARCHAR(50) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL   COMMENT '所在班级';

ALTER TABLE `base_punishment_student_relation`
  ADD COLUMN `modify_user_id` INT NULL   COMMENT '修改人' AFTER `adjust_date`,
  ADD COLUMN `modify_date` datetime NULL   COMMENT '修改时间' AFTER `modify_user_id`;

--------------------------------------------------------------------学生考核--------------------------------------------------------------------

-- ----------------------------
-- 学生考核基础分设置
-- ----------------------------
DROP TABLE IF EXISTS base_student_assessment_base_score;
CREATE TABLE base_student_assessment_base_score
(
    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)',
    `assessment_cycle` varchar(20) NULL DEFAULT NULL COMMENT '考核周期方式(xjr_dictionary_item[assessment_cycle])',
    `base_score` double NOT NULL DEFAULT 0 COMMENT '基础分',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生考核基础分设置';

-- ----------------------------
-- 学生考核等级设置
-- ----------------------------
DROP TABLE IF EXISTS base_student_assessment_base_level;
CREATE TABLE base_student_assessment_base_level
(
    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(200) NOT NULL COMMENT '名称',
    `score_min` double NOT NULL DEFAULT 0 COMMENT '分数范围（最小）',
    `score_max` double NOT NULL DEFAULT 0 COMMENT '分数范围（最大）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生考核等级设置';

-- ----------------------------
-- 学生考核类别
-- ----------------------------
DROP TABLE IF EXISTS base_student_assessment_category;
CREATE TABLE base_student_assessment_category
(
    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(200) NOT NULL COMMENT '名称',
    `code` VARCHAR(100) NULL DEFAULT NULL COMMENT '编码',
    `total_score` double NOT NULL DEFAULT 0 COMMENT '总分',
    `remark` VARCHAR(1000) COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生考核类别';

-- ----------------------------
-- 学生考核项目
-- ----------------------------
DROP TABLE IF EXISTS base_student_assessment_project;
CREATE TABLE base_student_assessment_project
(
    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_student_assessment_category_id` bigint NOT NULL COMMENT '学生考核类别(base_student_assessment_category)',
    `name` VARCHAR(200) NOT NULL COMMENT '名称',
    `code` VARCHAR(100) NULL DEFAULT NULL COMMENT '编码',
    `basic_points` double NOT NULL DEFAULT 0 COMMENT '基础分',
    `points_deducted_min` double NOT NULL DEFAULT 0 COMMENT '扣分范围（最小）',
    `points_deducted_max` double NOT NULL DEFAULT 0 COMMENT '扣分范围（最大）',
    `add_points_min` double NOT NULL DEFAULT 0 COMMENT '加分范围（最小）',
    `add_points_max` double NOT NULL DEFAULT 0 COMMENT '加分范围（最大）',
    `department_id` bigint NOT NULL COMMENT '所属机构(xjr_department)',
    `status` INT NULL DEFAULT 1 COMMENT '是否启用(1:是 0:否)',
    `is_affect` INT NULL DEFAULT 0 COMMENT '是否影响(1:是 0:否)',
    `processing_method` varchar(20) NULL DEFAULT NULL COMMENT '学生操行分处理方式(xjr_dictionary_item[ap_method])',
    `behavior_score` double NOT NULL DEFAULT 0 COMMENT '折算操行分要求',
    `base_student_behavior_project_id` bigint NOT NULL DEFAULT 0 COMMENT '操行项目编号',
    `is_teacher_edit` INT NULL DEFAULT 0 COMMENT '是否允许班主任修改项目(1:是 0:否)',
    `behavior_score_remark` VARCHAR(1000) NULL DEFAULT NULL COMMENT '手动处理学生操行分说明',
    `remark` VARCHAR(1000) COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生考核项目';

-- ----------------------------
-- 学生班级巡查考核
-- ----------------------------
DROP TABLE IF EXISTS base_student_assessment_inspection;
CREATE TABLE base_student_assessment_inspection
(
    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_student_assessment_category_id` BIGINT NULL DEFAULT NULL COMMENT '学生考核类别编号（base_student_assessment_category）',
    `base_student_assessment_project_id` BIGINT NULL DEFAULT NULL COMMENT '学生考核项目编号（base_student_assessment_project）',
    `base_semester_id` bigint COMMENT '学期ID(base_semester)',
    `grade_id` bigint  NULL DEFAULT NULL COMMENT '入学年级(base_grade)',
    `class_ids` varchar(4000)  NULL DEFAULT NULL COMMENT '班级Ids(多选)',
    `assessment_date` datetime NULL DEFAULT NULL COMMENT '考核时间',
    `score` double NOT NULL DEFAULT 0 COMMENT '分数',
    `score_type` varchar(20) NULL DEFAULT NULL COMMENT '分数类型(xjr_dictionary_item[score_type])',
    `assessment_user_id` bigint  NULL DEFAULT NULL COMMENT '考核用户ID(xjr_user)',
    `reason` VARCHAR(1000)  NULL DEFAULT NULL COMMENT '原因',
    `file_id` bigint NULL DEFAULT NULL COMMENT '文件ID(xjr_file)',
    `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_assessment_student_relation;
CREATE TABLE base_student_assessment_student_relation
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `user_id`  BIGINT NULL DEFAULT NULL COMMENT'学生id',
    `class_id` BIGINT NULL DEFAULT NULL COMMENT '班级编号',
    `base_student_assessment_inspection_id` BIGINT NULL DEFAULT NULL COMMENT '学生班级巡查考核id',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `student_id` VARCHAR(30) NULL DEFAULT NULL COMMENT '学号',
    `name` VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    `gender` VARCHAR(30) NULL DEFAULT 1 COMMENT '性别',
    `nation` VARCHAR(30) NULL DEFAULT NULL COMMENT '民族(xjr_dictionary_item[nation])',
    `class_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '所在班级',
    `major_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '所学专业',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生班级巡查考核-关联学生';


-- ----------------------------
-- 学生班级巡查考核-关联班级（流程结束写入数据）
-- ----------------------------
DROP TABLE IF EXISTS base_student_assessment_class_relation;
CREATE TABLE base_student_assessment_class_relation
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `class_id`  BIGINT NULL DEFAULT NULL COMMENT'班级编号id',
    `base_student_assessment_inspection_id` BIGINT NULL DEFAULT NULL COMMENT '学生班级巡查考核id',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生班级巡查考核-关联班级';

--------------------------------------------------------------------学生考核--------------------------------------------------------------------

--------------------------------------------------------------------学生操行--------------------------------------------------------------------

-- ----------------------------
-- 学生操行基础分设置
-- ----------------------------
DROP TABLE IF EXISTS base_student_behavior_base_score;
CREATE TABLE base_student_behavior_base_score
(
    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)',
    `assessment_cycle` varchar(20) NULL DEFAULT NULL COMMENT '考核周期方式(xjr_dictionary_item[assessment_cycle])',
    `base_score` double NOT NULL DEFAULT 0 COMMENT '基础分',
    `passing_score` double NOT NULL DEFAULT 0 COMMENT '及格分',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生操行基础分设置';

-- ----------------------------
-- 学生操行等级设置
-- ----------------------------
DROP TABLE IF EXISTS base_student_behavior_base_level;
CREATE TABLE base_student_behavior_base_level
(
    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(200) NOT NULL COMMENT '名称',
    `score_min` double NOT NULL DEFAULT 0 COMMENT '分数范围（最小）',
    `score_max` double NOT NULL DEFAULT 0 COMMENT '分数范围（最大）',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生操行等级设置';

-- ----------------------------
-- 学生操行分考核类别
-- ----------------------------
DROP TABLE IF EXISTS base_student_behavior_category;
CREATE TABLE base_student_behavior_category
(
    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(200) NOT NULL COMMENT '名称',
    `code` VARCHAR(100) NULL DEFAULT NULL COMMENT '编码',
    `status` INT NULL DEFAULT 1 COMMENT '是否启用(1:是 0:否)',
    `remark` VARCHAR(1000) COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生操行分考核类别';

-- ----------------------------
-- 学生操行分考核项目
-- ----------------------------
DROP TABLE IF EXISTS base_student_behavior_project;
CREATE TABLE base_student_behavior_project
(
    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_student_behavior_category_id` BIGINT NULL DEFAULT NULL COMMENT '学生考核类别编号(base_student_behavior_category)',
    `name` VARCHAR(200) NOT NULL COMMENT '名称',
    `code` VARCHAR(100) NULL DEFAULT NULL COMMENT '编码',
    `score_type` varchar(20) NULL DEFAULT NULL COMMENT '考核类型(xjr_dictionary_item[score_type])',
    `score` double NOT NULL DEFAULT 0 COMMENT '分值',
    `is_adjustment` INT NULL DEFAULT 0 COMMENT '是否允许调整(1:是 0:否)',
    `points_deducted_min` double NOT NULL DEFAULT 0 COMMENT '扣分范围（最小）',
    `points_deducted_max` double NOT NULL DEFAULT 0 COMMENT '扣分范围（最大）',
    `is_impact_assessment` INT NULL DEFAULT 0 COMMENT '是否影响班级考核(1:是 0:否)',
    `conversion_method` INT NULL DEFAULT 1 COMMENT '换算方式(1:手动换算 2:自动换算)',
    `status` INT NULL DEFAULT 1 COMMENT '是否启用(1:是 0:否)',
    `base_student_assessment_project_id` BIGINT NULL DEFAULT NULL COMMENT '班级考核项目编号（base_student_assessment_project）',
    `automatic_score_type` varchar(20) NULL DEFAULT NULL COMMENT '自动换算考核类型(xjr_dictionary_item[score_type])',
    `remark` VARCHAR(1000) COMMENT '备注',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生操行分考核项目';

-- ----------------------------
-- 学生操行分记录管理
-- ----------------------------
DROP TABLE IF EXISTS base_student_behavior_manage;
CREATE TABLE base_student_behavior_manage
(
    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_student_behavior_category_id` BIGINT NULL DEFAULT NULL COMMENT '学生操行分考核类别编号（base_student_behavior_category）',
    `base_student_behavior_project_id` BIGINT NULL DEFAULT NULL COMMENT '学生操行分考核项目编号（base_student_behavior_project）',
    `base_semester_id` bigint NULL DEFAULT NULL COMMENT '学期ID(base_semester)',
    `grade_id` bigint NULL DEFAULT NULL COMMENT '入学年级(base_grade)',
    `class_ids` varchar(4000) NULL DEFAULT NULL COMMENT '班级Ids(多选)',
    `assessment_date` datetime NULL DEFAULT NULL COMMENT '考核时间',
    `total_score` double NOT NULL DEFAULT 0 COMMENT '总分',
    `score` double NOT NULL DEFAULT 0 COMMENT '分数',
    `score_number` double NOT NULL DEFAULT 0 COMMENT '分数次数',
    `is_affect` INT NULL DEFAULT 0 COMMENT '是否影响(1:是 0:否)',
    `assessment_user_id` bigint NULL DEFAULT NULL COMMENT '考核用户ID(xjr_user)',
    `assessment_department_id` bigint NULL DEFAULT NULL COMMENT '考核机构(xjr_department)',
    `assessment_address` varchar(1000) NULL DEFAULT NULL COMMENT '考核地点',
    `remark` VARCHAR(1000) NULL DEFAULT NULL COMMENT '备注',
    `file_id` bigint NULL DEFAULT NULL COMMENT '文件ID(xjr_file)',
    `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_behavior_student_relation;
CREATE TABLE base_student_behavior_student_relation
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `user_id`  BIGINT NULL DEFAULT NULL COMMENT'学生id',
    `base_student_behavior_manage_id` BIGINT NULL DEFAULT NULL COMMENT '学生操行分记录管理id',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    `student_id` VARCHAR(30) NULL DEFAULT NULL COMMENT '学号',
    `name` VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    `gender` VARCHAR(30) NULL DEFAULT 1 COMMENT '性别',
    `nation` VARCHAR(30) NULL DEFAULT NULL COMMENT '民族(xjr_dictionary_item[nation])',
    `class_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '所在班级',
    `major_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '所学专业',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生班级巡查考核-关联学生';

-- ----------------------------
-- 学生操行分记录管理-关联班级（流程结束写入数据）
-- ----------------------------
DROP TABLE IF EXISTS base_student_behavior_class_relation;
CREATE TABLE base_student_behavior_class_relation
(
    id BIGINT NOT NULL COMMENT '主键编号',
    `class_id`  BIGINT NULL DEFAULT NULL COMMENT'班级编号id',
    `base_student_behavior_manage_id` BIGINT NULL DEFAULT NULL COMMENT '学生操行分记录管理id',
    `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '学生班级巡查考核-关联班级';
--------------------------------------------------------------------学生操行--------------------------------------------------------------------

ALTER TABLE xjr_menu ADD COLUMN `system_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'system_pc' COMMENT '系统类型(xjr_dictionary_item[system_type])' AFTER enabled_mark;

--------------------------------------------------------------------奖学金管理--------------------------------------------------------------------

--------------------------------------------------------------------奖学金管理--------------------------------------------------------------------








