Parcourir la source

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

weiwenhai il y a 7 ans
Parent
commit
9f9a10774b

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

@@ -1516,7 +1516,7 @@ public class ImportPaperService {
         				paperDetailUnit.setPaperType(oldPaperDetailUnit.getPaperType());
         				paperDetailUnitRepo.save(paperDetailUnit);
         			}
-    				quesTypeNameService.saveQuesTypeName(oldPaperDetailUnits);
+    				quesTypeNameService.saveCloneQuesTypeName(oldPaperDetailUnits,newPaper.getCourseNo());
     			}
     		}
     	}

+ 38 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/QuesTypeNameService.java

@@ -58,4 +58,42 @@ public class QuesTypeNameService {
             }
         }
     }
+    
+    /**
+     * 复制试卷时保存来源大题名称
+     * @param detailUnitList
+     */
+    public void saveCloneQuesTypeName(List<PaperDetailUnit> detailUnitList,String courseNo){
+        for(PaperDetailUnit paperDetailUnit:detailUnitList){
+            String orgId = paperDetailUnit.getPaper().getOrgId();
+            QuesStructType questionType = paperDetailUnit.getQuestionType();
+            String detailName = paperDetailUnit.getPaperDetail().getName();
+            List<QuesTypeName> quesTypeNames = quesTypeRepo.findQuesName(orgId,courseNo,questionType);
+            if(quesTypeNames != null && quesTypeNames.size() > 0){
+                QuesTypeName quesTypeName = quesTypeNames.get(0);
+                List<String> quesNames = quesTypeName.getQuesNames();
+                if(quesNames != null && quesNames.size() > 0 ){
+                    if(quesNames.contains(detailName)){
+                        continue;
+                    }else{
+                        quesNames.add(detailName);
+                    }
+                }else{
+                    quesNames = new ArrayList<>();
+                    quesNames.add(detailName);
+                }
+                quesTypeName.setQuesNames(quesNames);
+                quesTypeRepo.save(quesTypeName);
+            }else{
+                QuesTypeName quesTypeName = new QuesTypeName();
+                List<String> quesNames = new ArrayList<>();
+                quesNames.add(detailName);
+                quesTypeName.setOrgId(orgId);
+                quesTypeName.setCourseNo(courseNo);
+                quesTypeName.setQuestionType(questionType);
+                quesTypeName.setQuesNames(quesNames);
+                quesTypeRepo.save(quesTypeName);
+            }
+        }
+    }
 }