Эх сурвалжийг харах

fix:主客观题非空判断

caozixuan 8 сар өмнө
parent
commit
727ad23aa4

+ 32 - 27
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeDataGetAndEditServiceImpl.java

@@ -23,6 +23,7 @@ import com.qmth.teachcloud.report.business.entity.*;
 import com.qmth.teachcloud.report.business.enums.NumberTypeEnum;
 import com.qmth.teachcloud.report.business.service.*;
 import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -722,34 +723,38 @@ public class AnalyzeDataGetAndEditServiceImpl implements AnalyzeDataGetAndEditSe
             // 构建考生作答明细表(t_b_answer)正常考生才记录
             // 客观题(选择)
             if (status == 1) {
-                for (AnswerInfo objective : objectiveScoreDetailList) {
-                    Long answerId = SystemConstant.getDbUuid();
-                    TBAnswer tbAnswer = new TBAnswer();
-                    tbAnswer.setId(answerId);
-                    tbAnswer.setExamRecordId(examRecordId);
-                    tbAnswer.setNumberType(NumberTypeEnum.OBJECTIVE.getValue());
-                    String cloudMainNumber = String.valueOf(objective.getMainNumber());
-                    String cloudSubNumber = objective.getSubNumber();
-                    tbAnswer.setMainNumber(cloudMainNumber);
-                    tbAnswer.setSubNumber(cloudSubNumber);
-                    tbAnswer.setScore(objective.getScore());
-                    tbAnswer.setAnswer(objective.getAnswer());
-                    tbAnswerList.add(tbAnswer);
+                if (CollectionUtils.isNotEmpty(objectiveScoreDetailList)){
+                    for (AnswerInfo objective : objectiveScoreDetailList) {
+                        Long answerId = SystemConstant.getDbUuid();
+                        TBAnswer tbAnswer = new TBAnswer();
+                        tbAnswer.setId(answerId);
+                        tbAnswer.setExamRecordId(examRecordId);
+                        tbAnswer.setNumberType(NumberTypeEnum.OBJECTIVE.getValue());
+                        String cloudMainNumber = String.valueOf(objective.getMainNumber());
+                        String cloudSubNumber = objective.getSubNumber();
+                        tbAnswer.setMainNumber(cloudMainNumber);
+                        tbAnswer.setSubNumber(cloudSubNumber);
+                        tbAnswer.setScore(objective.getScore());
+                        tbAnswer.setAnswer(objective.getAnswer());
+                        tbAnswerList.add(tbAnswer);
+                    }
                 }
-                // 主观题
-                for (AnswerInfo subjective : subjectiveScoreDetailList) {
-                    Long answerId = SystemConstant.getDbUuid();
-                    TBAnswer tbAnswer = new TBAnswer();
-                    tbAnswer.setId(answerId);
-                    tbAnswer.setExamRecordId(examRecordId);
-                    tbAnswer.setNumberType(NumberTypeEnum.SUBJECTIVE.getValue());
-                    String cloudMainNumber = String.valueOf(subjective.getMainNumber());
-                    String cloudSubNumber = subjective.getSubNumber();
-                    tbAnswer.setMainNumber(cloudMainNumber);
-                    tbAnswer.setSubNumber(cloudSubNumber);
-                    tbAnswer.setScore(subjective.getScore());
-                    tbAnswer.setAnswer(subjective.getAnswer());
-                    tbAnswerList.add(tbAnswer);
+                if (CollectionUtils.isNotEmpty(subjectiveScoreDetailList)){
+                    // 主观题
+                    for (AnswerInfo subjective : subjectiveScoreDetailList) {
+                        Long answerId = SystemConstant.getDbUuid();
+                        TBAnswer tbAnswer = new TBAnswer();
+                        tbAnswer.setId(answerId);
+                        tbAnswer.setExamRecordId(examRecordId);
+                        tbAnswer.setNumberType(NumberTypeEnum.SUBJECTIVE.getValue());
+                        String cloudMainNumber = String.valueOf(subjective.getMainNumber());
+                        String cloudSubNumber = subjective.getSubNumber();
+                        tbAnswer.setMainNumber(cloudMainNumber);
+                        tbAnswer.setSubNumber(cloudSubNumber);
+                        tbAnswer.setScore(subjective.getScore());
+                        tbAnswer.setAnswer(subjective.getAnswer());
+                        tbAnswerList.add(tbAnswer);
+                    }
                 }
             }
         }