xiaofei hace 1 año
padre
commit
3c18d1d5fe

+ 52 - 14
distributed-print-business/src/main/resources/db/upgrade/3.2.4.sql

@@ -1,43 +1,43 @@
 USE teachcloud_db;
 USE teachcloud_db;
 
 
 ALTER TABLE `exam_detail`
 ALTER TABLE `exam_detail`
-    ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT ''考试ID'' AFTER `print_plan_id`;
+    ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT '考试ID' AFTER `print_plan_id`;
 
 
 ALTER TABLE `exam_task_sync`
 ALTER TABLE `exam_task_sync`
-    ADD COLUMN `exam_id` BIGINT(20) NOT NULL COMMENT ''考试ID'' AFTER `school_id`;
+    ADD COLUMN `exam_id` BIGINT(20) NOT NULL COMMENT '考试ID' AFTER `school_id`;
 
 
 ALTER TABLE `exam_student`
 ALTER TABLE `exam_student`
-    ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT ''考试ID'' AFTER `student_code`;
+    ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT '考试ID' AFTER `student_code`;
 
 
 ALTER TABLE `grade_batch`
 ALTER TABLE `grade_batch`
-    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT ''知学知考考试id'' AFTER `semester_id`;
+    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT '知学知考考试id' AFTER `semester_id`;
 
 
 ALTER TABLE `grade_paper`
 ALTER TABLE `grade_paper`
-    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT ''知学知考考试id'' AFTER `school_id`;
+    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT '知学知考考试id' AFTER `school_id`;
 
 
 ALTER TABLE `grade_paper_dimension`
 ALTER TABLE `grade_paper_dimension`
-    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT ''考试id'' AFTER `school_id`;
+    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT '考试id' AFTER `school_id`;
 
 
 ALTER TABLE `grade_paper_struct`
 ALTER TABLE `grade_paper_struct`
-    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT ''知学知考考试id'' AFTER `school_id`;
+    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT '知学知考考试id' AFTER `school_id`;
 
 
 ALTER TABLE `grade_batch_paper`
 ALTER TABLE `grade_batch_paper`
-    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT ''知学知考考试id'' AFTER `org_id`;
+    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT '知学知考考试id' AFTER `org_id`;
 
 
 ALTER TABLE `grade_module_define`
 ALTER TABLE `grade_module_define`
-    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT ''考试id'' AFTER `school_id`;
+    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT '考试id' AFTER `school_id`;
 
 
 ALTER TABLE `grade_module_evaluation`
 ALTER TABLE `grade_module_evaluation`
-    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT ''考试id'' AFTER `school_id`;
+    ADD COLUMN `exam_id` BIGINT NOT NULL COMMENT '考试id' AFTER `school_id`;
 
 
 ALTER TABLE `grade_paper_struct`
 ALTER TABLE `grade_paper_struct`
-    CHANGE COLUMN `exam_Id` `exam_id` BIGINT NOT NULL COMMENT '' 知学知考考试id '';
+    CHANGE COLUMN `exam_Id` `exam_id` BIGINT NOT NULL COMMENT '知学知考考试id';
 
 
 ALTER TABLE `t_sync_exam_log`
 ALTER TABLE `t_sync_exam_log`
-    ADD COLUMN `third_relate_id` INT(6) NULL COMMENT ''云阅卷考试ID'' AFTER `exam_id`;
+    ADD COLUMN `third_relate_id` INT(6) NULL COMMENT '云阅卷考试ID' AFTER `exam_id`;
 
 
 ALTER TABLE `t_sync_exam_student_score`
 ALTER TABLE `t_sync_exam_student_score`
-    ADD COLUMN `third_relate_id` INT(6) NULL COMMENT ''云阅卷考试ID'' AFTER `exam_id`;
+    ADD COLUMN `third_relate_id` INT(6) NULL COMMENT '云阅卷考试ID' AFTER `exam_id`;
 
 
 ALTER TABLE `exam_task_sync`
 ALTER TABLE `exam_task_sync`
     ADD COLUMN `paper_type` VARCHAR(10) NULL COMMENT '试卷类型' AFTER `paper_number`;
     ADD COLUMN `paper_type` VARCHAR(10) NULL COMMENT '试卷类型' AFTER `paper_number`;
@@ -48,6 +48,20 @@ update exam_detail ed set ed.exam_id = (select epp.exam_id from exam_print_plan
 
 
 update exam_task_sync ets set ets.exam_id = (select et.exam_id from exam_task et where ets.school_id = et.school_id and ets.paper_number = et.paper_number);
 update exam_task_sync ets set ets.exam_id = (select et.exam_id from exam_task et where ets.school_id = et.school_id and ets.paper_number = et.paper_number);
 
 
+UPDATE exam_task_sync t
+SET
+    t.paper_type = (SELECT DISTINCT
+                        edc.paper_type
+                    FROM
+                        exam_detail_course edc
+                            LEFT JOIN
+                        exam_detail ed ON edc.exam_detail_id = ed.id
+                    WHERE
+                            t.school_id = ed.school_id
+                      AND t.exam_id = ed.exam_id
+                      AND t.paper_number = edc.paper_number
+                      AND edc.paper_type IS NOT NULL);
+
 UPDATE exam_student es
 UPDATE exam_student es
 SET es.exam_id = (
 SET es.exam_id = (
     SELECT
     SELECT
@@ -75,4 +89,28 @@ UPDATE `sys_privilege` SET `related` = '50,49,621' WHERE (`id` = '310');
 
 
 update t_sync_exam_log set third_relate_id = exam_id where id >0;
 update t_sync_exam_log set third_relate_id = exam_id where id >0;
 
 
-update t_sync_exam_student_score set third_relate_id = exam_id where id >0;
+update t_sync_exam_student_score set third_relate_id = exam_id where id >0;
+
+UPDATE t_sync_exam_student_score t
+SET
+    t.exam_id = (SELECT
+                     exam_id
+                 FROM
+                     exam_student es
+                 WHERE
+                         t.school_id = es.school_id
+                   AND t.paper_number = es.paper_number
+                   AND t.exam_number = es.ticket_number);
+
+UPDATE t_sync_exam_log t
+SET
+    t.exam_id = (SELECT
+                     a.exam_id
+                 FROM
+                     (SELECT DISTINCT
+                          school_id, exam_id, third_relate_id
+                      FROM
+                          t_sync_exam_student_score) a
+                 WHERE
+                         t.school_id = a.school_id
+                   AND t.third_relate_id = a.third_relate_id);

+ 73 - 6
distributed-print-business/src/main/resources/db/upgrade/3.2.7.sql

@@ -198,16 +198,16 @@ ALTER TABLE `exam_paper_structure`
 ALTER TABLE `t_b_sync_task`
 ALTER TABLE `t_b_sync_task`
     ADD COLUMN `semester_id` BIGINT(20) NULL COMMENT '学期' AFTER `school_id`,
     ADD COLUMN `semester_id` BIGINT(20) NULL COMMENT '学期' AFTER `school_id`,
 ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT '考试' AFTER `semester_id`,
 ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT '考试' AFTER `semester_id`,
-ADD COLUMN `course_code` VARCHAR(50) NULL COMMENT '课程代码' AFTER `exam_id`,
-ADD COLUMN `course_name` VARCHAR(100) NULL COMMENT '课程名称' AFTER `course_code`,
-ADD COLUMN `paper_number` VARCHAR(45) NULL COMMENT '试卷编号' AFTER `course_name`;
+ADD COLUMN `course_code` VARCHAR(500) NULL COMMENT '课程代码' AFTER `exam_id`,
+ADD COLUMN `course_name` VARCHAR(500) NULL COMMENT '课程名称' AFTER `course_code`,
+ADD COLUMN `paper_number` VARCHAR(500) NULL COMMENT '试卷编号' AFTER `course_name`;
 
 
 ALTER TABLE `t_b_task`
 ALTER TABLE `t_b_task`
     ADD COLUMN `semester_id` BIGINT(20) NULL COMMENT '学期' AFTER `id`,
     ADD COLUMN `semester_id` BIGINT(20) NULL COMMENT '学期' AFTER `id`,
 ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT '考试' AFTER `semester_id`,
 ADD COLUMN `exam_id` BIGINT(20) NULL COMMENT '考试' AFTER `semester_id`,
-ADD COLUMN `course_code` VARCHAR(50) NULL COMMENT '课程代码' AFTER `exam_id`,
-ADD COLUMN `course_name` VARCHAR(100) NULL COMMENT '课程名称' AFTER `course_code`,
-ADD COLUMN `paper_number` VARCHAR(45) NULL COMMENT '试卷编号' AFTER `course_name`;
+ADD COLUMN `course_code` VARCHAR(500) NULL COMMENT '课程代码' AFTER `exam_id`,
+ADD COLUMN `course_name` VARCHAR(500) NULL COMMENT '课程名称' AFTER `course_code`,
+ADD COLUMN `paper_number` VARCHAR(500) NULL COMMENT '试卷编号' AFTER `course_name`;
 
 
 UPDATE `sys_privilege` SET `enable` = '0', `front_display` = '0' WHERE (`id` = '234');
 UPDATE `sys_privilege` SET `enable` = '0', `front_display` = '0' WHERE (`id` = '234');
 UPDATE `sys_privilege` SET `enable` = '0', `front_display` = '0' WHERE (`id` = '308');
 UPDATE `sys_privilege` SET `enable` = '0', `front_display` = '0' WHERE (`id` = '308');
@@ -290,4 +290,71 @@ INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `sc
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (616, 12, 215, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (616, 12, 215, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (617, 12, 216, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (617, 12, 216, 1, NULL);
 
 
+-- 按顺序执行以下步骤
+-- 1.更新t_b_task表exam_id字段
+UPDATE t_b_task t
+SET
+    t.exam_id = (SELECT
+                     ed.exam_id
+                 FROM
+                     exam_detail ed
+                 WHERE
+                         t.entity_id = ed.id)
+WHERE
+    t.entity_id IS NOT NULL;
+-- 2.更新t_b_task表paper_number字段
+UPDATE t_b_task t
+SET
+    t.paper_number = (SELECT
+                          GROUP_CONCAT(edc.paper_number)
+                      FROM
+                          exam_detail_course edc
+                              JOIN
+                          exam_detail ed ON edc.exam_detail_id = ed.id
+                      WHERE
+                              t.school_id = ed.school_id
+                        AND t.entity_id = ed.id)
+WHERE
+    t.entity_id IS NOT NULL;
+-- 3.更新t_b_task表course_code字段
+UPDATE t_b_task t
+SET
+    t.course_code = (SELECT
+                         GROUP_CONCAT(edc.course_code)
+                     FROM
+                         exam_detail_course edc
+                             JOIN
+                         exam_detail ed ON edc.exam_detail_id = ed.id
+                     WHERE
+                             t.school_id = ed.school_id
+                       AND t.entity_id = ed.id)
+WHERE
+    t.entity_id IS NOT NULL;
+-- 4.更新t_b_task表course_name字段
+UPDATE t_b_task t
+SET
+    t.course_name = (SELECT
+                         GROUP_CONCAT(edc.course_name)
+                     FROM
+                         exam_detail_course edc
+                             JOIN
+                         exam_detail ed ON edc.exam_detail_id = ed.id
+                     WHERE
+                             t.school_id = ed.school_id
+                       AND t.entity_id = ed.id)
+WHERE
+    t.entity_id IS NOT NULL;
+-- 4.更新t_b_task表semester_id字段
+UPDATE t_b_task t
+SET
+    t.semester_id = (SELECT
+                         be.semester_id
+                     FROM
+                         basic_exam be
+                     WHERE
+                             t.exam_id = be.id);
+
+update exam_paper_structure set is_finish = 1 , status = '{"answerFile":{"save":true,"sync":true},"markerClass":{"save":false,"sync":false},"marker":{"save":true,"sync":true},"markerLeader":{"save":true,"sync":true},"structure":{"save":true,"sync":true},"group":{"save":true,"sync":true},"objective":{"save":true,"sync":true}}' where status = 'FINISH';
+update exam_paper_structure set is_finish = 0 , status = '{"answerFile":{"save":false,"sync":false},"markerClass":{"save":false,"sync":false},"marker":{"save":false,"sync":false},"markerLeader":{"save":false,"sync":false},"structure":{"save":false,"sync":false},"group":{"save":false,"sync":false},"objective":{"save":false,"sync":false}}' where status = 'INIT';
+
 -- sys_org表中,学院code要手动加上
 -- sys_org表中,学院code要手动加上