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

修改复制试卷,更新课程信息的bug

weiwenhai 7 жил өмнө
parent
commit
a0f4fa5e22

+ 9 - 8
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ImportPaperService.java

@@ -1473,16 +1473,18 @@ public class ImportPaperService {
     		map.put("msg", msg);
     		return map;
     	}
+    	//新课程
+    	Course course = courseRepo.findFirstByCodeAndOrgId(courseNo,user.getRootOrgId().toString());
     	//克隆原试卷所有属性
-    	Paper newPaper = cloneOldPaper(oldPaper,paperName,courseNo,user);
+    	Paper newPaper = cloneOldPaper(oldPaper,paperName,course,user);
     	//克隆所有大题和小题
-    	clonePaperDetails(newPaper,oldPaper,paperName,user);
+    	clonePaperDetails(newPaper,oldPaper,paperName,user,course);
     	map.put("msg", "success");
     	return map;
     }
      
 	//克隆所有大题和小题
-    private void clonePaperDetails(Paper newPaper, Paper oldPaper,String paperName,AccessUser user) {
+    private void clonePaperDetails(Paper newPaper, Paper oldPaper,String paperName,AccessUser user,Course course) {
     	List<PaperDetail> oldPaperDetails = paperDetailRepo.findByPaperOrderByNumber(oldPaper);
     	if(oldPaperDetails != null && oldPaperDetails.size() >0){
     		for(PaperDetail oldPaperDetail:oldPaperDetails){
@@ -1508,8 +1510,7 @@ public class ImportPaperService {
         				paperDetailUnit.setSubScoreList(oldPaperDetailUnit.getSubScoreList());
         				paperDetailUnit.setPaperDetail(paperDetail);
         				paperDetailUnit.setQuestionType(oldPaperDetailUnit.getQuestionType());
-        				copyQuestion(paperDetailUnit,oldPaperDetailUnit);
-        				//paperDetailUnit.setQuestion(oldPaperDetailUnit.getQuestion());
+        				copyQuestion(paperDetailUnit,oldPaperDetailUnit,course);
         				paperDetailUnit.setOptionOrder(oldPaperDetailUnit.getOptionOrder());
         				paperDetailUnit.setCreator(user.getName());
         				paperDetailUnit.setCreateTime(CommonUtils.getCurDateTime());
@@ -1522,7 +1523,7 @@ public class ImportPaperService {
     	}
 	}
 
-	private void copyQuestion(PaperDetailUnit paperDetailUnit,PaperDetailUnit oldPaperDetailUnit) {
+	private void copyQuestion(PaperDetailUnit paperDetailUnit,PaperDetailUnit oldPaperDetailUnit,Course course) {
 		Question oldQuestion = oldPaperDetailUnit.getQuestion();
 		Question newQuestion = BeanCopierUtil.copyProperties(oldQuestion,Question.class);
 		QuestionPkgPath oldQuesPkgPath = quesPkgPathRepo.findFirstById(oldQuestion.getQuesPkgPathId());
@@ -1530,6 +1531,7 @@ public class ImportPaperService {
 		newQuestionPkgPath.setId(null);
 		newQuestionPkgPath = quesPkgPathRepo.save(newQuestionPkgPath);
 		newQuestion.setQuesPkgPathId(newQuestionPkgPath.getId());
+		newQuestion.setCourse(course);
 		newQuestion.setId(null);
 		newQuestion.setQuesProperties(null);
 		newQuestion.setPropertyGroup(null);
@@ -1538,8 +1540,7 @@ public class ImportPaperService {
 	}
 
 	//克隆原试卷所有属性
-    private Paper cloneOldPaper(Paper oldPaper,String paperName,String courseNo, AccessUser user) {
-    	Course course = courseRepo.findFirstByCodeAndOrgId(courseNo,user.getRootOrgId().toString());
+    private Paper cloneOldPaper(Paper oldPaper,String paperName,Course course, AccessUser user) {
     	Paper newPaper = BeanCopierUtil.copyProperties(oldPaper, Paper.class);
     	newPaper.setName(paperName);
     	newPaper.setCreateTime(CommonUtils.getCurDateTime());