|
@@ -143,32 +143,39 @@ public class TrialService {
|
|
examQuestionRepo.deleteByWorkIdAndSubjectAndTest(workId, subject, TrialEnum.INIT.getId());
|
|
examQuestionRepo.deleteByWorkIdAndSubjectAndTest(workId, subject, TrialEnum.INIT.getId());
|
|
//5.更新该科目下的试卷信息(正式卷子,并删除试评卷子)
|
|
//5.更新该科目下的试卷信息(正式卷子,并删除试评卷子)
|
|
List<Paper> paperList = paperRepo.findByWorkIdAndSubjectAndTest(workId, subject, TrialEnum.START_TRIAL.getId());
|
|
List<Paper> paperList = paperRepo.findByWorkIdAndSubjectAndTest(workId, subject, TrialEnum.START_TRIAL.getId());
|
|
- List<Paper> paperAllList = paperRepo.findByWorkIdAndSubjectAndTest(workId, subject, TrialEnum.DEFAULT.getId());
|
|
|
|
- Map<String, Paper> paperAllMap = paperAllList.stream().collect(Collectors.toMap(Paper::getExamNumber, Function.identity(), (dto1, dto2) -> dto1));
|
|
|
|
- List<Paper> finalPaperList = new ArrayList<>();
|
|
|
|
- Map<String, String> levelMap = new HashMap<>();
|
|
|
|
List<Long> paperIds = new ArrayList<>();
|
|
List<Long> paperIds = new ArrayList<>();
|
|
- paperList.forEach(p -> {
|
|
|
|
- if (Objects.nonNull(paperAllMap.get(p.getExamNumber())) && p.isMarkByLeader() && Objects.nonNull(p.getLevel())) {
|
|
|
|
- if (Objects.equals(p.getAreaCode(), paperAllMap.get(p.getExamNumber()).getAreaCode())) {
|
|
|
|
- finalPaperList.add(paperAllMap.get(p.getExamNumber()));
|
|
|
|
- levelMap.put(p.getExamNumber(), p.getLevel());
|
|
|
|
|
|
+ if (Objects.nonNull(paperList) && paperList.size() > 0) {
|
|
|
|
+ List<Paper> paperAllList = paperRepo.findByWorkIdAndSubject(workId, subject);
|
|
|
|
+ Map<String, Paper> paperAllMap = paperAllList.stream().filter(o -> (o.getTest() == 0 || o.getTest() == 3))
|
|
|
|
+ .collect(Collectors.toList())
|
|
|
|
+ .stream()
|
|
|
|
+ .collect(Collectors.toMap(Paper::getExamNumber, Function.identity(), (dto1, dto2) -> dto1));
|
|
|
|
+ List<Paper> finalPaperList = new ArrayList<>();
|
|
|
|
+ Map<String, String> levelMap = new HashMap<>();
|
|
|
|
+ paperList.forEach(p -> {
|
|
|
|
+ if (Objects.nonNull(paperAllMap.get(p.getExamNumber())) && p.isMarkByLeader() && p.isSample() && Objects.nonNull(p.getLevel())) {
|
|
|
|
+ if (Objects.equals(p.getAreaCode(), paperAllMap.get(p.getExamNumber()).getAreaCode())) {
|
|
|
|
+ finalPaperList.add(paperAllMap.get(p.getExamNumber()));
|
|
|
|
+ levelMap.put(p.getExamNumber(), p.getLevel());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
- paperIds.add(p.getId());
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- if (finalPaperList.size() > 0) {
|
|
|
|
- finalPaperList.forEach(o -> {
|
|
|
|
- markingService.levelMarkPaper(o, levelMap.get(o.getExamNumber()), true);
|
|
|
|
- o.setTest(TrialEnum.START_FORMAL.getId());
|
|
|
|
|
|
+ paperIds.add(p.getId());
|
|
});
|
|
});
|
|
- paperRepo.save(finalPaperList);
|
|
|
|
|
|
+
|
|
|
|
+ if (finalPaperList.size() > 0) {
|
|
|
|
+ finalPaperList.forEach(o -> {
|
|
|
|
+ markingService.levelMarkPaper(o, levelMap.get(o.getExamNumber()), true);
|
|
|
|
+ o.setTest(TrialEnum.START_FORMAL.getId());
|
|
|
|
+ });
|
|
|
|
+ paperRepo.save(finalPaperList);
|
|
|
|
+ }
|
|
|
|
+ //6.删除log日志
|
|
|
|
+ markLogRepo.deleteByPaperIdIn(paperIds);
|
|
|
|
+ } else {
|
|
|
|
+ paperList = paperRepo.findByWorkIdAndSubjectAndTest(workId, subject, TrialEnum.INIT.getId());
|
|
}
|
|
}
|
|
//5.删除试评卷子
|
|
//5.删除试评卷子
|
|
paperRepo.delete(paperList);
|
|
paperRepo.delete(paperList);
|
|
- //6.删除log日志
|
|
|
|
- markLogRepo.deleteByPaperIdIn(paperIds);
|
|
|
|
//7.删除分组
|
|
//7.删除分组
|
|
markerGroupRepo.deleteBySubjectAndWorkId(subject, workId);
|
|
markerGroupRepo.deleteBySubjectAndWorkId(subject, workId);
|
|
}
|
|
}
|