Explorar el Código

对于无定向知识点的暂跳过

mingfu hace 4 días
padre
commit
ea4454db7b

+ 18 - 13
ie-admin/src/main/java/com/ruoyi/web/service/LearnTeacherService.java

@@ -313,22 +313,27 @@ public class LearnTeacherService {
                     saveHandPaper(paper, req.getQuestions());
                 } else {
                     LearnDirectedKnowledge directedKnowledge = directedKnowledgeMap.get(directedKey);
-                    examType = directedKnowledge.getExamineeTypes();
-                    if(StringUtils.isNotBlank(directedKnowledge.getConditions())) {
-                        TestPaperVO.PaperDef2 paperDef = new TestPaperVO.PaperDef2(directedKnowledge.getKnowledges(), directedKnowledge.getConditions());
-                        paperDef.setFillExclude(false);
-                        AnswerSheet.PaperCond info = new AnswerSheet.PaperCond();
-                        info.setScore(paper.getFenshu());
-                        info.setTime(directedKnowledge.getTime() * 60);
-                        info.setTypes(paperDef.getTypes().stream().map(t -> new AnswerSheet.PaperCondType(t.getType().getTitle(), t.getCount(), t.getScore())).collect(Collectors.toList()));
-                        paper.setPaperInfo(JSONObject.toJSONString(info));
-                        Pair<LearnPaper, List<LearnPaperQuestion>> paperResult = paperService.buildPaper2(null, null, paper, paperDef);
-                        paperService.savePaper(paperResult.getKey(), paperResult.getValue());
-                    } else if(!sysConfigService.selectSkillTestOnly(directedKnowledge.getModules())) {
-                        throw new ValidationException("未配置定向题型" + directedKnowledge.getId());
+                    if(null != directedKnowledge) {
+                        examType = directedKnowledge.getExamineeTypes();
+                        if(StringUtils.isNotBlank(directedKnowledge.getConditions())) {
+                            TestPaperVO.PaperDef2 paperDef = new TestPaperVO.PaperDef2(directedKnowledge.getKnowledges(), directedKnowledge.getConditions());
+                            paperDef.setFillExclude(false);
+                            AnswerSheet.PaperCond info = new AnswerSheet.PaperCond();
+                            info.setScore(paper.getFenshu());
+                            info.setTime(directedKnowledge.getTime() * 60);
+                            info.setTypes(paperDef.getTypes().stream().map(t -> new AnswerSheet.PaperCondType(t.getType().getTitle(), t.getCount(), t.getScore())).collect(Collectors.toList()));
+                            paper.setPaperInfo(JSONObject.toJSONString(info));
+                            Pair<LearnPaper, List<LearnPaperQuestion>> paperResult = paperService.buildPaper2(null, null, paper, paperDef);
+                            paperService.savePaper(paperResult.getKey(), paperResult.getValue());
+                        } else if(!sysConfigService.selectSkillTestOnly(directedKnowledge.getModules())) {
+                            throw new ValidationException("未配置定向题型" + directedKnowledge.getId());
+                        } else {
+                            noPaper = true;
+                        }
                     } else {
                         noPaper = true;
                     }
+
                     /* 暂定使用知识定一样的类型处理
                     TestPaperVO.PaperDef paperDef = req.getPaperDef();
                     examType = directedKnowledge.getExamineeTypes();