wangliang 7 hónapja
szülő
commit
fa0d96656e

+ 9 - 1
distributed-print/install/mysql/upgrade/3.4.2.sql

@@ -170,4 +170,12 @@ CREATE TABLE `scan_answer_card_question`  (
       `update_id` bigint NULL DEFAULT NULL,
       `update_time` bigint NULL DEFAULT NULL,
       PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '卡格式题型';
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '卡格式题型';
+
+-- 2024-11-15
+ALTER TABLE t_c_paper_struct DROP KEY t_c_paper_struct_unique;
+ALTER TABLE t_c_paper_struct ADD CONSTRAINT t_c_paper_struct_unique UNIQUE KEY (culture_program_id,exam_id,course_id,paper_number);
+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,exam_id,course_id,paper_number,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,exam_id,course_id,paper_number,student_code);

+ 6 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/TCPaperStructServiceImpl.java

@@ -309,7 +309,12 @@ public class TCPaperStructServiceImpl extends ServiceImpl<TCPaperStructMapper, T
         }
         TCPaperStruct tcPaperStruct = tcPaperStructService.getOne(queryWrapper);
         if (Objects.isNull(tcPaperStruct)) {
-            tcPaperStruct = tcPaperStructService.getOne(new QueryWrapper<TCPaperStruct>().lambda().eq(TCPaperStruct::getCultureProgramId, cultureProgramId).eq(TCPaperStruct::getCourseId, courseId));
+            List<TCPaperStruct> tcPaperStructList = tcPaperStructService.list(new QueryWrapper<TCPaperStruct>().lambda().eq(TCPaperStruct::getCultureProgramId, cultureProgramId).eq(TCPaperStruct::getCourseId, courseId));
+            if (!CollectionUtils.isEmpty(tcPaperStructList) && tcPaperStructList.size() > 1) {
+                throw ExceptionResultEnum.ERROR.exception("找到多条试卷结构");
+            } else if (!CollectionUtils.isEmpty(tcPaperStructList) && tcPaperStructList.size() == 1) {
+                tcPaperStruct = tcPaperStructList.get(0);
+            }
         }
         return tcPaperStruct;
     }