Explorar o código

试卷难度bug修改

weiwenhai %!s(int64=7) %!d(string=hai) anos
pai
achega
e7f1cb89b3

+ 11 - 2
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/PaperServiceImpl.java

@@ -635,6 +635,9 @@ public class PaperServiceImpl implements PaperService{
 					}
 				}
 			}
+			if(paperTotalScore < 0.1){
+				return 0.0;
+			}
 			BigDecimal b = new BigDecimal(sum / paperTotalScore);
 			Double difficulty = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
 			return difficulty;
@@ -813,8 +816,14 @@ public class PaperServiceImpl implements PaperService{
         List<PaperDetailUnit> saveUnits = new ArrayList<PaperDetailUnit>();
         for (Question ques : questions) {
             PaperDetailUnit pdu = new PaperDetailUnit(paper,paperDetail,ques);
-            pdu.setNumber(paperDetailUnit.getNumber());//设置为大题中最大的number
-            pdu.setScore(paperDetailUnit.getScore());
+            //如果大题没有小题,取导入的试题分数
+            if(paperDetailUnit == null){
+            	pdu.setNumber(1);
+            	pdu.setScore(ques.getScore());
+            }else {
+            	pdu.setNumber(paperDetailUnit.getNumber());//设置为大题中最大的number
+                pdu.setScore(paperDetailUnit.getScore());
+			}
             //处理套题
             if(pdu.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION){
                 List<Question> subQuestions = ques.getSubQuestions();