USE teachcloud_db;

ALTER TABLE `exam_student` ADD COLUMN `basic_student_id` BIGINT(20) NULL COMMENT '考生ID(basic_exam_student表ID)' AFTER `exam_detail_course_id`;
ALTER TABLE `mark_student`
    ADD COLUMN `basic_student_id` BIGINT(20) NULL COMMENT '考生ID(basic_exam_student表ID)' AFTER `exam_id`,
ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `basic_student_id`;
ALTER TABLE `basic_exam_student` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
ALTER TABLE `exam_card` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `org_id`;
ALTER TABLE `exam_detail_course` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_detail_id`;
ALTER TABLE `exam_task` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `org_id`;
ALTER TABLE `mark_document` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
ALTER TABLE `mark_group` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
ALTER TABLE `mark_paper` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
ALTER TABLE `mark_task` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
ALTER TABLE `teach_course` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
ALTER TABLE `t_b_sync_task` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
ALTER TABLE `client_status` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `print_plan_id`;


ALTER TABLE `basic_course` CHANGE COLUMN `org_id` `org_id` BIGINT NULL COMMENT '机构id' ;
ALTER TABLE `basic_course` DROP INDEX `course_schoolId_code_idx` , ADD UNIQUE INDEX `uq_1` USING BTREE (`school_id`, `teaching_room_id`, `code`);
ALTER TABLE `teach_course` CHANGE COLUMN `course_code` `course_code` VARCHAR(20) NULL COMMENT '课程代码' ;

ALTER TABLE `mark_paper_package`
    ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`,
CHANGE COLUMN `course_code` `course_code` VARCHAR(32) CHARACTER SET 'utf8mb4' NULL COMMENT '课程代码' ,
CHANGE COLUMN `course_name` `course_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '科目名称' ;


ALTER TABLE `exam_task_temp`
    ADD COLUMN `teaching_room_name` VARCHAR(100) NULL COMMENT '开课学院' AFTER `course_name`;

ALTER TABLE `exam_task`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) NULL COMMENT '课程代码' ,
    CHANGE COLUMN `course_name` `course_name` VARCHAR(50) NULL COMMENT '课程名称' ;

ALTER TABLE `basic_teach_clazz`
    ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;

ALTER TABLE `basic_teach_clazz`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编号' ;

ALTER TABLE `basic_exam_student`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编号' ,
    CHANGE COLUMN `clazz_id` `clazz_id` BIGINT NULL COMMENT '教学班id(basic_teach_clazz)' ;

ALTER TABLE `exam_detail_course`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编码' ,
    CHANGE COLUMN `course_name` `course_name` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL COMMENT '课程名称' ;

ALTER TABLE `mark_student`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(32) CHARACTER SET 'utf8mb4' NULL COMMENT '科目代码' ,
    CHANGE COLUMN `course_name` `course_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '科目名称',
    CHANGE COLUMN `paper_number` `paper_number` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '试卷类型' ,
    CHANGE COLUMN `student_code` `student_code` VARCHAR(64) CHARACTER SET 'utf8mb4' NULL COMMENT '学号' ,
    CHANGE COLUMN `student_name` `student_name` VARCHAR(64) CHARACTER SET 'utf8mb4' NULL COMMENT '姓名' ;


ALTER TABLE `sys_org` DROP COLUMN `third_relate_id`;

ALTER TABLE `exam_student`
    CHANGE COLUMN `student_name` `student_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '考生姓名' ,
    CHANGE COLUMN `student_code` `student_code` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '考生代码' ;

ALTER TABLE `mark_paper`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(32) CHARACTER SET 'utf8mb4' NULL COMMENT '课程代码' ,
    CHANGE COLUMN `course_name` `course_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '科目名称' ;

ALTER TABLE `mark_task`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(32) CHARACTER SET 'utf8mb4' NULL COMMENT '课程代码' ,
    CHANGE COLUMN `course_name` `course_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '课程名称' ;

ALTER TABLE `mark_document`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(32) CHARACTER SET 'utf8mb4' NULL COMMENT '课程代码' ,
    CHANGE COLUMN `course_name` `course_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '科目名称' ;

ALTER TABLE `client_status`
    CHANGE COLUMN `course_code` `course_code` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '课程代码' ,
    CHANGE COLUMN `course_name` `course_name` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL COMMENT '课程名称' ;

update exam_task a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;
update exam_card a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;
update exam_detail_course a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;
update teach_course a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;
update t_b_sync_task a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;
update basic_exam_student a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;
update basic_teach_clazz a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;
update mark_student a left join basic_exam be on a.exam_id = be.id left join basic_course bc on be.school_id = bc.school_id and a.course_code = bc.code set a.course_id = bc.id where a.course_id is null;
update mark_document a left join basic_exam be on a.exam_id = be.id left join basic_course bc on be.school_id = bc.school_id and a.course_code = bc.code set a.course_id = bc.id where a.course_id is null;
update mark_group a left join basic_exam be on a.exam_id = be.id left join basic_course bc on be.school_id = bc.school_id and a.course_code = bc.code set a.course_id = bc.id where a.course_id is null;
update mark_paper a left join basic_exam be on a.exam_id = be.id left join basic_course bc on be.school_id = bc.school_id and a.course_code = bc.code set a.course_id = bc.id where a.course_id is null;
update mark_task a left join basic_exam be on a.exam_id = be.id left join basic_course bc on be.school_id = bc.school_id and a.course_code = bc.code set a.course_id = bc.id where a.course_id is null;
update mark_paper_package a left join basic_exam be on a.exam_id = be.id left join basic_course bc on be.school_id = bc.school_id and a.course_code = bc.code set a.course_id = bc.id where a.course_id is null;
update client_status a set a.course_id = (select bc.id from basic_course bc where a.school_id = bc.school_id and a.course_code = bc.code) where a.course_id is null;

ALTER TABLE `exam_print_plan` DROP COLUMN `third_relate_name`, DROP COLUMN `third_relate_id`;
ALTER TABLE `exam_student` DROP COLUMN `can_delete`;
ALTER TABLE `basic_exam_student` ADD COLUMN `teach_class_name` VARCHAR(100) NULL AFTER `major`, ADD COLUMN `class_name` VARCHAR(100) NULL AFTER `teach_class_name`;
ALTER TABLE `basic_exam_student` ADD COLUMN `site_number` VARCHAR(10) NULL COMMENT '座位号' AFTER `student_code`, ADD COLUMN `extend_fields` MEDIUMTEXT NULL COMMENT '扩展字段' AFTER `exam_room`;
ALTER TABLE `basic_exam_student`
    CHANGE COLUMN `college` `college_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL DEFAULT NULL COMMENT '学院' ,
    CHANGE COLUMN `major` `major_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL DEFAULT NULL COMMENT '专业' ;

update basic_exam_student bes set bes.teach_class_name = (select btc.clazz_name from basic_teach_clazz btc where bes.clazz_id = btc.id) where bes.teach_class_name is null;

ALTER TABLE `mark_paper` ADD COLUMN `question_status` TINYINT(1) NULL DEFAULT '0' COMMENT '试卷结构是否提交' AFTER `show_object_score`;
update mark_paper set question_status = group_status;

ALTER TABLE `basic_exam_student`
    ADD COLUMN `status` VARCHAR(1) NULL DEFAULT 'N' COMMENT '状态,默认N-正常,D-缓考,F-免考,M-缺考,B-违纪' AFTER `class_name`,
ADD COLUMN `required_fields` MEDIUMTEXT NULL COMMENT '基础字段' AFTER `exam_room`;

ALTER TABLE `exam_card` ADD COLUMN `copy_card_id` BIGINT(20) NULL COMMENT '复制源题卡ID' AFTER `paper_id`;

INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('870', '启用/禁用', 'Enable', 'LINK', '624', '10', 'AUTH', '871', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('871', '启用/禁用', '/api/admin/exam/card/enable', 'URL', '624', '7', 'AUTH', '1', '1', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1140', '状态', 'Status', 'LINK', '1100', '10', 'AUTH', '1141', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1141', '状态', '/api/admin/basic/exam_student/status', 'URL', '1100', '6', 'AUTH', '1', '1', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1142', '任课老师导入', 'ImportTeacher', 'BUTTON', '1100', '11', 'AUTH', '1143', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1143', '任课老师导入', '/api/admin/basic/exam_student/import_teacher', 'URL', '1100', '7', 'AUTH', '1', '1', '1');

CREATE TABLE `exam_task_whole` (
      `id` BIGINT(20) NOT NULL,
      `semester_id` BIGINT(20) NULL COMMENT '学期ID',
      `exam_id` BIGINT(20) NULL COMMENT '考试ID',
      `course_id` BIGINT(20) NULL,
      `paper_number` VARCHAR(100) NULL,
      `attachment_path` VARCHAR(200) NULL COMMENT '文件地址',
      `status` VARCHAR(45) NULL COMMENT '状态',
      `create_time` BIGINT(20) NULL COMMENT '创建时间',
      PRIMARY KEY (`id`));

INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1145', '合并PDF查看', '/api/admin/exam/print/get_whole_pdf', 'URL', '47', '5', 'AUTH', '1', '1', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1146', '合并PDF生成', 'CreateWholePdf', 'BUTTON', '47', '5', 'AUTH', '1145,1147', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1147', '合并PDF生成', '/api/admin/exam/print/create_whole_pdf', 'URL', '47', '6', 'AUTH', '1', '1', '1');


ALTER TABLE `mark_student` ADD COLUMN `miss_scan` TINYINT(1) NULL DEFAULT 0 COMMENT '是否漏扫' AFTER `invalid`;
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1148', '更新漏扫状态', '/api/scan/student/missScan/update', 'URL', '970', '39', 'AUTH', '1', '1', '1');
UPDATE `sys_privilege` SET `related` = '971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1007,1009,1010,1148' WHERE (`id` = '1006');
UPDATE `sys_privilege` SET `related` = '971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1007,1009,1010,1148' WHERE (`id` = '970');

UPDATE `basic_school` SET has_paper_number = '0' where has_paper_number is null;
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`) VALUES ('242', '查询条件-课程', '/api/admin/client/course/list', 'URL', '199', '18', 'AUTH');
UPDATE `sys_privilege` SET `related` = '200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,241,242,973,974,975' WHERE (`id` = '199');

ALTER TABLE `mark_student`
DROP COLUMN `teacher`,
DROP COLUMN `teacher_id`,
DROP COLUMN `class_name`,
DROP COLUMN `major_name`,
DROP COLUMN `college`,
DROP COLUMN `student_name`,
DROP COLUMN `course_name`,
DROP COLUMN `course_code`,
DROP INDEX `index3` ,
ADD INDEX `index3` USING BTREE (`exam_id`, `course_id`, `upload_time`);

UPDATE `sys_privilege` SET `related` = '184,414' WHERE (`id` = '408');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1149', '评卷设置(批量)', 'BatchMarkConfig', 'BUTTON', '897', '8', 'AUTH', '1150', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1150', '评卷设置保存', '/api/admin/mark/setting/paper/batch_save', 'URL', '897', '19', 'AUTH', '1', '1', '1');

UPDATE `sys_privilege` SET `related` = '490,543,955,959,1139' WHERE (`id` = '488');

ALTER TABLE `basic_exam_student` ADD COLUMN `paper_type` VARCHAR(10) NULL COMMENT '卷型' AFTER `paper_number`;

ALTER TABLE `exam_detail` CHANGE COLUMN `org_id` `org_id` BIGINT NULL COMMENT '机构id' ;

ALTER TABLE `sys_user` ADD COLUMN `allow_course_scan` TINYINT(1) NULL DEFAULT 1 COMMENT '是否允许识别课程条码' AFTER `allow_manual_card`;


INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1144', '删除考生时查询扫描阅卷状态', '/api/admin/basic/exam_student/mark_status', 'URL', '1100', '8', 'AUTH', '1', '1', '1');
UPDATE `sys_privilege` SET `related` = '1105,1144' WHERE (`id` = '1113');
UPDATE `sys_privilege` SET `related` = '1105,1144' WHERE (`id` = '1114');


-- drop table if exists exam_detail_course_paper_type;
-- drop table if exists basic_template_org;
-- drop table if exists cloud_user_push_status;
-- drop table if exists exam_card_detail;
-- drop table if exists exam_paper_class_marker;
-- drop table if exists exam_paper_group;
-- drop table if exists exam_paper_group_marker;
-- drop table if exists exam_paper_structure;
-- drop table if exists exam_task_sync;
-- drop table if exists t_sync_exam_log;
-- drop table if exists t_sync_stmms_exam;
-- drop table if exists basic_college;
-- drop table if exists basic_campus;

-- delete脚本需要加上新增的表

-- 升级说明
-- 1. 将通用规则中,教学班改为teachClassName,班级改为className

CREATE INDEX t_r_basic_info_culture_program_id_IDX USING BTREE ON t_r_basic_info (culture_program_id,course_id);

CREATE INDEX t_r_exam_student_r_basic_info_id_IDX USING BTREE ON t_r_exam_student (r_basic_info_id);

CREATE INDEX t_c_usual_score_culture_program_id_IDX USING BTREE ON t_c_usual_score (culture_program_id,course_id);

CREATE INDEX t_c_final_score_culture_program_id_IDX USING BTREE ON t_c_final_score (culture_program_id,course_id);

CREATE INDEX t_c_paper_struct_culture_program_id_IDX USING BTREE ON t_c_paper_struct (culture_program_id,course_id);

CREATE INDEX obe_course_requirement_report_culture_program_id_IDX USING BTREE ON obe_course_requirement_report (culture_program_id);

INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2105, '成绩导出', '/api/admin/mark/student/score/export', 'URL', 946, 3, 'AUTH', NULL, 1, 1, 1);

UPDATE sys_privilege
SET name='查看详情', url='Detail', `type`='LINK', parent_id=946, `sequence`=4, property='AUTH', related='953,954,955,956,957,958,959,960,969,1139,2105', enable=1, default_auth=0, front_display=1
WHERE id=950;

INSERT INTO sys_config
(id, school_id, org_id, config_key, config_name, config_value, remark, enable, sort, create_id, create_time, update_id, update_time)
VALUES(42, NULL, NULL, 'create.pdf.job.db.limit', '创建pdf查询条数', 'limit 0,100', NULL, 1, 18, 1, NULL, NULL, NULL);

-- 2024-07-09
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1174', '重置', 'MarkTaskReset', 'LINK', '917', '9', 'AUTH', '930', '1', '0', '1');
UPDATE `sys_privilege` SET `related` = '928,929,932,933,934,935,936,937,938,939,940,941,942,943,964,965,966,967,968,1008' WHERE (`id` = '944');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1175', '解绑', 'MarkTaskMarkerDelete', 'LINK', '917', '9', 'AUTH', '931', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1176', '批量复核-主观题', 'BatchInspectedSubjective', 'BUTTON', '946', '6', 'AUTH', '956,957,958', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1177', '批量复核-客观题', 'BatchObjectiveSubjective', 'BUTTON', '946', '7', 'AUTH', '959,960', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1178', '成绩导出', 'ScoreExport', 'BUTTON', '946', '8', 'AUTH', '2105', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1179', '主观题复核', 'InspectedSubjective', 'LINK', '946', '9', 'AUTH', '956,957,958', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1180', '客观题复核', 'ObjectiveSubjective', 'LINK', '946', '10', 'AUTH', '959,960', '1', '0', '1');
UPDATE `sys_privilege` SET `related` = '953,954,955,969,1139' WHERE (`id` = '950');

-- 2024-07-10
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2087, '统计管理', 'count', 'MENU', 1, 6, NULL, NULL, 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2088, '印刷任务统计', 'PrintCount', 'MENU', 2087, 1, NULL, NULL, 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2089, '扫描任务统计', 'ScanCount', 'MENU', 2087, 2, NULL, NULL, 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2090, '查询', 'Select', 'BUTTON', 2088, 1, 'AUTH', '2093', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2091, '查询条件', 'Condition', 'CONDITION', 2088, 1, 'AUTH', '2093', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2092, '列表', 'List', 'LIST', 2088, 1, 'AUTH', '2093', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2093, '印刷任务统计查询', '/api/admin/statistics/print/count', 'URL', 2088, 1, 'AUTH', NULL, 1, 1, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2094, '导出印刷进度', 'Export', 'BUTTON', 2088, 2, 'AUTH', '2095', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2095, '印刷任务统计导出', '/api/admin/statistics/print/count/export', 'URL', 2088, 2, 'AUTH', NULL, 1, 1, 1);

ALTER TABLE `exam_task` ADD COLUMN `source` VARCHAR(45) NULL COMMENT '命题任务创建方式(ASSIGN:命题任务指派,SELF:老师自主发起)' AFTER `approve_form_attachment_id`;
UPDATE exam_task et
SET
    et.source = (SELECT
                     CASE
                         WHEN etd.create_id IS NULL THEN 'ASSIGN'
                         ELSE 'SELF'
                         END
                 FROM
                     exam_task_detail etd
                 WHERE
                         et.id = etd.exam_task_id);
update exam_task set source = 'ASSIGN' where paper_name is null and source is null;

-- 2024-07-11
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2096, '查询', 'Select', 'BUTTON', 2089, 1, 'AUTH', '2099', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2097, '查询条件', 'Condition', 'CONDITION', 2089, 1, 'AUTH', '2099', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2098, '列表', 'List', 'LIST', 2089, 1, 'AUTH', '2099', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2099, '扫描任务统计查询', '/api/admin/statistics/scan/count', 'URL', 2089, 1, 'AUTH', NULL, 1, 1, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2106, '导出扫描进度', 'Export', 'BUTTON', 2089, 2, 'AUTH', '2107', 1, 0, 1);
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2107, '扫描任务统计导出', '/api/admin/statistics/scan/count/export', 'URL', 2089, 2, 'AUTH', NULL, 1, 1, 1);

UPDATE `sys_privilege` SET `related` = '71,167,286,287,424,477,417,420,421,441,442,640,641,636' WHERE (`id` = '283');
ALTER TABLE `exam_task_temp` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID' AFTER `batch_no`;

INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('1181', '客观题统分', 'ObjectiveCalculate', 'BUTTON', '1182', '9', 'AUTH', '969', '1', '0', '1');
INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('1182', '客观题统分', '/api/admin/mark/student/objective/calculate_batch', 'URL', '946', '13', 'AUTH', '1', '1', '1');

ALTER TABLE `basic_school` ADD COLUMN `exam_task_instr` VARCHAR(500) NULL COMMENT '广药命题界面提示信息' AFTER `background_image`;

ALTER TABLE `t_b_task` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID' AFTER `exam_id`;
update t_b_task a left join basic_exam be on a.exam_id = be.id left join basic_course bc on be.school_id = bc.school_id and a.course_code = bc.code set a.course_id = bc.id where a.course_id is null;

ALTER TABLE `basic_course` ADD INDEX `index1` (`teaching_room_id` ASC);
ALTER TABLE `basic_exam_student` ADD INDEX `index1` (`exam_id` ASC, `course_id` ASC, `paper_number` ASC);
ALTER TABLE `basic_exam_student` ADD INDEX `index2` (`exam_id` ASC, `paper_number` ASC, `student_code` ASC);
ALTER TABLE `mark_student` ADD INDEX `index6` (`exam_id` ASC, `paper_number` ASC, `paper_type` ASC);

UPDATE `sys_privilege` SET `related` = '888,894,956,957,958' WHERE (`id` = '1179');

-- 2024-07-16
DROP TABLE IF EXISTS `tmp_help_topic`;
CREATE TABLE `tmp_help_topic` (
                                  `help_topic_id` bigint(20) NOT NULL AUTO_INCREMENT,
                                  PRIMARY KEY (`help_topic_id`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8mb4;

INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (1);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (2);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (3);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (4);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (5);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (6);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (7);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (8);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (9);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (10);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (11);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (12);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (13);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (14);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (15);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (16);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (17);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (18);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (19);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (20);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (21);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (22);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (23);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (24);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (25);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (26);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (27);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (28);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (29);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (30);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (31);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (32);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (33);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (34);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (35);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (36);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (37);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (38);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (39);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (40);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (41);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (42);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (43);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (44);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (45);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (46);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (47);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (48);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (49);
INSERT INTO `tmp_help_topic` (`help_topic_id`) VALUES (50);

-- 2024-07-17
UPDATE sys_privilege
SET name='查看详情', url='View', `type`='LINK', parent_id=2002, `sequence`=1, property='AUTH', related='2026,2027,2028,2031', enable=1, default_auth=0, front_display=1
WHERE id=2025;

delete from sys_privilege where id = 2108;
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2108, '重新计算', 'Calculate', 'LINK', 2002, 2, 'AUTH', '2109', 1, 0, 1);

delete from sys_privilege where id = 2109;
INSERT INTO sys_privilege
(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
VALUES(2109, '重新计算接口', '/api/admin/course/degree/report/again/calculate', 'URL', 2108, 1, 'AUTH', NULL, 1, 1, 1);


-- 2024-07-18
ALTER TABLE t_c_final_score DROP KEY t_c_final_score_unique;
ALTER TABLE t_c_final_score ADD CONSTRAINT t_c_final_score_unique UNIQUE KEY (culture_program_id,course_id,student_code);

ALTER TABLE t_c_usual_score DROP KEY t_c_usual_score_unique;
ALTER TABLE t_c_usual_score ADD CONSTRAINT t_c_usual_score_unique UNIQUE KEY (culture_program_id,course_id,student_code);

ALTER TABLE `basic_card_rule` ADD COLUMN `default_option_number` INT NULL DEFAULT 4 COMMENT '选择题默认选项个数' AFTER `undertaking_body`;