Browse Source

update 重算成绩

deason 8 tháng trước cách đây
mục cha
commit
f7f31dc1d2

+ 8 - 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,14 @@ 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;
         }