Browse Source

修复科目新增选做题分组时主观题分数计算错误问题

yin 1 year ago
parent
commit
2e13a5ee44

+ 7 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/SelectiveGroupServiceImpl.java

@@ -142,11 +142,15 @@ public class SelectiveGroupServiceImpl extends BaseQueryService<SelectiveGroup>
 
 
     @Override
     @Override
     public double sumScoreByExamIdAndSubjectCode(int examId, String subjectCode) {
     public double sumScoreByExamIdAndSubjectCode(int examId, String subjectCode) {
-        List<ExamQuestion> questionList = questionService.findMainByExamAndSubjectAndObjective(examId, subjectCode,
-                false);
+        List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false);
         Map<Integer, Double> mainScoreMap = new HashMap<Integer, Double>();
         Map<Integer, Double> mainScoreMap = new HashMap<Integer, Double>();
         for (ExamQuestion question : questionList) {
         for (ExamQuestion question : questionList) {
-            mainScoreMap.put(question.getMainNumber(), question.getTotalScore());
+            Double mainScore = mainScoreMap.get(question.getMainNumber());
+            if (mainScore == null) {
+                mainScoreMap.put(question.getMainNumber(), question.getTotalScore());
+            } else {
+                mainScoreMap.put(question.getMainNumber(), BigDecimalUtils.add(mainScore, question.getTotalScore()));
+            }
         }
         }
 
 
         Map<Integer, List<SelectiveGroup>> indexMap = this.findGroupByExamIdAndSubjectCode(examId, subjectCode);
         Map<Integer, List<SelectiveGroup>> indexMap = this.findGroupByExamIdAndSubjectCode(examId, subjectCode);