Przeglądaj źródła

提交后端bug

weiwenhai 6 lat temu
rodzic
commit
85b29d82fa

+ 4 - 0
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExtractConfigProviderServiceImpl.java

@@ -236,6 +236,10 @@ public class ExtractConfigProviderServiceImpl implements ExtractConfigProviderSe
 			List<DefaultQuestionStructureWrapper> questionWrapperList = new ArrayList<DefaultQuestionStructureWrapper>();
 			//获取原小题的集合
 			List<PaperDetailUnit> paperDetailUnits = pduMap.get(paperDetail.getId());
+			if(paperDetailUnits==null || paperDetailUnits.size()<1){
+				log.error("试卷大题下面,没有小题");
+				throw new StatusException("Q-020241","考试试卷有误,请联系老师");
+			}
 			for(int j =0; j<paperDetailUnits.size(); j++){
 				PaperDetailUnit paperDetailUnit = paperDetailUnits.get(j);
 				DefaultQuestionStructureWrapper defaultQuestionStructureWrapper = new DefaultQuestionStructureWrapper();

+ 3 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/GenPaperService.java

@@ -849,7 +849,9 @@ public class GenPaperService {
                                 //向下取整,包含0.5
                                 double formatScore = CommonUtils.formatDoubleFloor(avgScore);
                                 if(j == subQuesLen - 1){
-                                    subScoreList.add(subTotalScore - formatScore * j);
+                                	BigDecimal b1 = new BigDecimal(Double.toString(subTotalScore));
+                                	BigDecimal b2 = new BigDecimal(Double.toString(formatScore * j));
+                                    subScoreList.add(b1.subtract(b2).doubleValue());
                                 }else{
                                     subScoreList.add(formatScore);
                                 }