Explorar el Código

后端:修改复制试卷bug(二)

weiwenhai hace 7 años
padre
commit
34bda5601a

+ 18 - 16
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ImportPaperService.java

@@ -1499,24 +1499,26 @@ public class ImportPaperService {
     			paperDetail = paperDetailRepo.save(paperDetail);
     			//查询大题下面所有小题
     			List<PaperDetailUnit> oldPaperDetailUnits = paperDetailUnitRepo.findByPaperDetailOrderByNumber(oldPaperDetail);
-    			for(PaperDetailUnit oldPaperDetailUnit:oldPaperDetailUnits){
-    				PaperDetailUnit paperDetailUnit = new PaperDetailUnit();
-    				paperDetailUnit.setPaper(newPaper);
-    				paperDetailUnit.setNumber(oldPaperDetailUnit.getNumber());
-    				paperDetailUnit.setScore(oldPaperDetailUnit.getScore());
-    				paperDetailUnit.setSubScoreList(oldPaperDetailUnit.getSubScoreList());
-    				paperDetailUnit.setPaperDetail(paperDetail);
-    				paperDetailUnit.setQuestionType(oldPaperDetailUnit.getQuestionType());
-    				copyQuestion(paperDetailUnit,oldPaperDetailUnit);
-    				//paperDetailUnit.setQuestion(oldPaperDetailUnit.getQuestion());
-    				paperDetailUnit.setOptionOrder(oldPaperDetailUnit.getOptionOrder());
-    				paperDetailUnit.setCreator(user.getName());
-    				paperDetailUnit.setCreateTime(CommonUtils.getCurDateTime());
-    				paperDetailUnit.setPaperType(oldPaperDetailUnit.getPaperType());
-    				paperDetailUnitRepo.save(paperDetailUnit);
+    			if(oldPaperDetailUnits !=null && oldPaperDetailUnits.size()>0){
+    				for(PaperDetailUnit oldPaperDetailUnit:oldPaperDetailUnits){
+        				PaperDetailUnit paperDetailUnit = new PaperDetailUnit();
+        				paperDetailUnit.setPaper(newPaper);
+        				paperDetailUnit.setNumber(oldPaperDetailUnit.getNumber());
+        				paperDetailUnit.setScore(oldPaperDetailUnit.getScore());
+        				paperDetailUnit.setSubScoreList(oldPaperDetailUnit.getSubScoreList());
+        				paperDetailUnit.setPaperDetail(paperDetail);
+        				paperDetailUnit.setQuestionType(oldPaperDetailUnit.getQuestionType());
+        				copyQuestion(paperDetailUnit,oldPaperDetailUnit);
+        				//paperDetailUnit.setQuestion(oldPaperDetailUnit.getQuestion());
+        				paperDetailUnit.setOptionOrder(oldPaperDetailUnit.getOptionOrder());
+        				paperDetailUnit.setCreator(user.getName());
+        				paperDetailUnit.setCreateTime(CommonUtils.getCurDateTime());
+        				paperDetailUnit.setPaperType(oldPaperDetailUnit.getPaperType());
+        				paperDetailUnitRepo.save(paperDetailUnit);
+        			}
+    				quesTypeNameService.saveQuesTypeName(oldPaperDetailUnits);
     			}
     		}
-    		
     	}
 	}