|
@@ -52,9 +52,6 @@ public class ChangeLevelApi {
|
|
|
@Autowired
|
|
|
private MarkingService markingService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private SqlUtil sqlUtil;
|
|
|
-
|
|
|
|
|
|
* 查询改档列表
|
|
|
*
|
|
@@ -71,46 +68,6 @@ public class ChangeLevelApi {
|
|
|
@RequestParam(required = false) String status,
|
|
|
Pageable pageable) {
|
|
|
List<ChangeLevelDTO> levelDTOs = new ArrayList<>();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
Specification<Paper> specification = (root, query, builder) -> {
|
|
|
List<Predicate> predicates = new ArrayList<>();
|
|
|
if (!StringUtils.isEmpty(workId)) {
|
|
@@ -119,12 +76,13 @@ public class ChangeLevelApi {
|
|
|
if (!StringUtils.isEmpty(questionId)) {
|
|
|
List<Paper> papers = paperRepo.findByworkIdAndSubjectAndQuestionIdAndIsMissingAndTest(workId, Subject.valueOf(subject), questionId, false, TrialEnum.DEFAULT.ordinal());
|
|
|
|
|
|
- CriteriaBuilder.In<Object> in = builder.in(root.get("paperId"));
|
|
|
- for (Paper paper : papers) {
|
|
|
- in.value(paper.getId());
|
|
|
+ if(papers != null && papers.size() > 0) {
|
|
|
+ CriteriaBuilder.In<Object> in = builder.in(root.get("paperId"));
|
|
|
+ for (Paper paper : papers) {
|
|
|
+ in.value(paper.getId());
|
|
|
+ }
|
|
|
+ predicates.add(builder.and(builder.and(in)));
|
|
|
}
|
|
|
- predicates.add(builder.and(builder.and(in)));
|
|
|
-
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(subject)) {
|
|
|
predicates.add(builder.equal(root.get("subject"), subject));
|
|
@@ -168,7 +126,7 @@ public class ChangeLevelApi {
|
|
|
Paper paper = paperRepo.findOne(paperId);
|
|
|
|
|
|
|
|
|
- ChangeLevel changeLevel = changeLevelRepo.findByWorkIdAndSubjectAndPaperId(markSubject.getWorkId(), markSubject.getSubject(), paperId);
|
|
|
+ ChangeLevel changeLevel = changeLevelRepo.findByWorkIdAndSubjectAndPaperId(markSubject.getWorkId(), markSubject.getSubject().name(), paperId);
|
|
|
if (changeLevel == null) {
|
|
|
changeLevel = new ChangeLevel();
|
|
|
changeLevel.setWorkId(markSubject.getWorkId());
|
|
@@ -208,12 +166,21 @@ public class ChangeLevelApi {
|
|
|
|
|
|
if(auditStatus == 1) {
|
|
|
Paper paper = paperRepo.findOne(changeLevel.getPaperId());
|
|
|
+
|
|
|
+ paper.setScore(null);
|
|
|
|
|
|
paper.setShift(true);
|
|
|
- paper.setShiftScore(Objects.nonNull(paper.getScore()));
|
|
|
+ paper.setShiftScore(true);
|
|
|
List<MarkTask> markTasks = markTaskRepo.findByPaperIdAndStage(paper.getId(), MarkStage.LEVEL);
|
|
|
List<String> ranges = markTasks.stream().map(m->m.getMarkerId().toString()).collect(Collectors.toList());
|
|
|
markingService.reject(paper, changeLevel.getSuggestLevel(), String.join(",", ranges));
|
|
|
+
|
|
|
+
|
|
|
+ List<MarkTask> markTasksScore = markTaskRepo.findByPaperIdAndStage(paper.getId(), MarkStage.SCORE);
|
|
|
+ if (markTasksScore != null && markTasksScore.size() > 0){
|
|
|
+ markTasksScore.forEach(o-> o.setResult(null));
|
|
|
+ markTaskRepo.save(markTasksScore);
|
|
|
+ }
|
|
|
}
|
|
|
return new ResponseEntity(HttpStatus.OK);
|
|
|
}
|