|
|
@@ -222,6 +222,7 @@ public class LearnTeacherService {
|
|
|
LearnTest learnTest = learnTestService.selectLearnTestByBatchId(req.getBatchId());
|
|
|
for(String directedKey : directedStudentsMap.keySet()) {
|
|
|
LearnTestPaper learnTestPaper;
|
|
|
+ Boolean noPaper = false;
|
|
|
if(null == (learnTestPaper = directPaperMap.get(directedKey))) {
|
|
|
LearnPaper paper = new LearnPaper();
|
|
|
paper.setSubjectId(req.getSubjectId());
|
|
|
@@ -236,15 +237,21 @@ public class LearnTeacherService {
|
|
|
} else {
|
|
|
LearnDirectedKnowledge directedKnowledge = directedKnowledgeMap.get(directedKey);
|
|
|
examType = directedKnowledge.getExamineeTypes();
|
|
|
- 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, paper, paperDef);
|
|
|
- paperService.savePaper(paperResult.getKey(), paperResult.getValue());
|
|
|
+ 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, paper, paperDef);
|
|
|
+ paperService.savePaper(paperResult.getKey(), paperResult.getValue());
|
|
|
+ } else if(!"技能展示/实践操作".equals(directedKnowledge.getModules())) {
|
|
|
+ throw new ValidationException("未配置定向题型" + directedKnowledge.getId());
|
|
|
+ } else {
|
|
|
+ noPaper = true;
|
|
|
+ }
|
|
|
/* 暂定使用知识定一样的类型处理
|
|
|
TestPaperVO.PaperDef paperDef = req.getPaperDef();
|
|
|
examType = directedKnowledge.getExamineeTypes();
|
|
|
@@ -264,19 +271,21 @@ public class LearnTeacherService {
|
|
|
Pair<LearnPaper, List<LearnPaperQuestion>> paperResult = paperService.buildPaper(null, paper, paperDef);
|
|
|
paperService.savePaper(paperResult.getKey(), paperResult.getValue());*/
|
|
|
}
|
|
|
- LearnTestPaper testPaper = new LearnTestPaper();
|
|
|
- testPaper.setBuildType(req.getBuildType());
|
|
|
- testPaper.setUniversityId(universityId);
|
|
|
- testPaper.setExamType(examType);
|
|
|
- testPaper.setBatchId(req.getBatchId());
|
|
|
- testPaper.setSubjectId(req.getSubjectId());
|
|
|
- testPaper.setDirectKey(directedKey);
|
|
|
- testPaper.setPaperId(paper.getId());
|
|
|
- testPaper.setConditions(JSONObject.toJSONString(req));
|
|
|
- testPaper.setCreatorId(SecurityUtils.getUserId());
|
|
|
- learnTestPaperMapper.insertLearnTestPaper(testPaper);
|
|
|
- directPaperMap.put(directedKey, testPaper);
|
|
|
- learnTestPaper = testPaper;
|
|
|
+ if(!noPaper) {
|
|
|
+ LearnTestPaper testPaper = new LearnTestPaper();
|
|
|
+ testPaper.setBuildType(req.getBuildType());
|
|
|
+ testPaper.setUniversityId(universityId);
|
|
|
+ testPaper.setExamType(examType);
|
|
|
+ testPaper.setBatchId(req.getBatchId());
|
|
|
+ testPaper.setSubjectId(req.getSubjectId());
|
|
|
+ testPaper.setDirectKey(directedKey);
|
|
|
+ testPaper.setPaperId(paper.getId());
|
|
|
+ testPaper.setConditions(JSONObject.toJSONString(req));
|
|
|
+ testPaper.setCreatorId(SecurityUtils.getUserId());
|
|
|
+ learnTestPaperMapper.insertLearnTestPaper(testPaper);
|
|
|
+ directPaperMap.put(directedKey, testPaper);
|
|
|
+ learnTestPaper = testPaper;
|
|
|
+ }
|
|
|
}
|
|
|
for(LearnStudent student : directedStudentsMap.get(directedKey)) {
|
|
|
LearnTestStudent lts = new LearnTestStudent();
|
|
|
@@ -285,9 +294,13 @@ public class LearnTeacherService {
|
|
|
lts.setBuildType(req.getBuildType());
|
|
|
lts.setSubjectId(req.getSubjectId());
|
|
|
lts.setDirectKey(directedKey);
|
|
|
- lts.setPaperId(learnTestPaper.getPaperId());
|
|
|
+ if(noPaper) {
|
|
|
+ lts.setStatus(ExamineeStatus.Commit.getVal());
|
|
|
+ } else {
|
|
|
+ lts.setPaperId(learnTestPaper.getPaperId());
|
|
|
+ lts.setStatus(ExamineeStatus.Sign.getVal());
|
|
|
+ }
|
|
|
lts.setClassId(student.getClassId());
|
|
|
- lts.setStatus(ExamineeStatus.Sign.getVal());
|
|
|
lts.setCreatorId(req.getTeacherId());
|
|
|
lts.setSchoolId(student.getSchoolId());
|
|
|
lts.setCampusId(student.getCampusId());
|