Selaa lähdekoodia

Merge remote-tracking branch 'origin/hotfixes_v5.0.4_20241021_update_exam_score' into dev_v5.0.5

deason 8 kuukautta sitten
vanhempi
commit
31a8dcc3fa

+ 9 - 7
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/FixExamScoreServiceImpl.java

@@ -113,13 +113,6 @@ public class FixExamScoreServiceImpl implements FixExamScoreService {
             return false;
         }
 
-        if (examRecordData.getRandomPaper()) {
-            // 注:千人千卷调卷模式,试题的分值只在千卷试卷结构上体现,考生随机生成的试卷试题 不能像成卷调卷模式一样 准确找到试题所在原卷中的试题分值
-            log.warn("【重算成绩】跳过,千人千卷调卷模式暂不支持修改! examStudentId:{} examRecordDataId:{}",
-                    examRecordData.getExamStudentId(), examRecordData.getId());
-            return false;
-        }
-
         ExamRecordQuestionsEntity examRecordQuestion = examRecordQuestionsService.getExamRecordQuestionsAndFixExamRecordDataIfNecessary(
                 examRecordData);
         if (examRecordQuestion == null || examRecordQuestion.getExamQuestionEntities() == null) {
@@ -136,6 +129,15 @@ public class FixExamScoreServiceImpl implements FixExamScoreService {
         boolean needUpdate = false;
         // 需要更新试题分值,则优先执行
         if (req.getUpdateObjectiveScore() || req.getUpdateSubjectiveScore()) {
+            if (examRecordData.getRandomPaper()) {
+                // 注:千卷调卷模式,试题的分值只在千卷抽题模板结构(关联的精确结构、蓝图结构)上体现,千卷抽题模板可随意更改关联结构和关联试卷,
+                // 不像成套调用模式那么试卷结构固定,千卷模式下的考生试卷结构和分值可能存在各不相同的情况,
+                // 若修改考生抽卷考试后的试题分值,无法直接精确找到当时抽题时的千卷结构,强行修改分值风险偏差较大!
+                log.warn("【重算成绩】跳过,千人千卷调卷模式暂不支持修改小题分值! examStudentId:{} examRecordDataId:{}",
+                        examRecordData.getExamStudentId(), examRecordData.getId());
+                return false;
+            }
+
             this.changeQuestionScore(req, examRecordData, examQuestions);
             needUpdate = true;
         }