Browse Source

Merge remote-tracking branch 'origin/dev_1.3.15' into release_1.3.15

yin 1 year ago
parent
commit
ec861133e8

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

@@ -142,11 +142,18 @@ public class SelectiveGroupServiceImpl extends BaseQueryService<SelectiveGroup>
 
     @Override
     public double sumScoreByExamIdAndSubjectCode(int examId, String subjectCode) {
-        List<ExamQuestion> questionList = questionService.findMainByExamAndSubjectAndObjective(examId, subjectCode,
-                false);
+        List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false);
+        if (questionList.isEmpty()) {
+            return 0d;
+        }
         Map<Integer, Double> mainScoreMap = new HashMap<Integer, Double>();
         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);