|
@@ -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<>();
|
|
|
-// StringBuffer sql = new StringBuffer();
|
|
|
-// sql.append(" SELECT ");
|
|
|
-// sql.append(" cl.id, ");
|
|
|
-// sql.append(" cl.work_id workId, ");
|
|
|
-// sql.append(" cl.subject, ");
|
|
|
-// sql.append(" p.exam_number examNumber, ");
|
|
|
-// sql.append(" p.area_code areaCode, ");
|
|
|
-// sql.append(" p.is_rejected isRejected, ");
|
|
|
-// sql.append(" cl.create_date createDate, ");
|
|
|
-// sql.append(" p.level, ");
|
|
|
-// sql.append(" p.secret_number secretNumber, ");
|
|
|
-// sql.append(" p.redo_level redoLevel, ");
|
|
|
-// sql.append(" p.is_sample isSample, ");
|
|
|
-// sql.append(" p.mark_by_leader markByLeader, ");
|
|
|
-// sql.append(" p.id paperId ");
|
|
|
-// sql.append(" FROM ");
|
|
|
-// sql.append(" change_level cl ");
|
|
|
-// sql.append(" LEFT JOIN ");
|
|
|
-// sql.append(" paper p ON cl.work_id = p.work_id ");
|
|
|
-// sql.append(" AND cl.subject = p.subject ");
|
|
|
-// sql.append(" AND cl.paper_id = p.id ");
|
|
|
-// sql.append(" where 1=1 ");
|
|
|
-// if (Objects.nonNull(workId)) {
|
|
|
-// sql.append(" and cl.work_id = '" + workId + "'");
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(areaCode)) {
|
|
|
-// sql.append(" and p.area_code = '" + areaCode + "'");
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(subject)) {
|
|
|
-// sql.append(" and cl.subject = '" + subject + "'");
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(status)) {
|
|
|
-// if (status == 0) {
|
|
|
-// sql.append(" and cl.audit_status = 0");
|
|
|
-// } else {
|
|
|
-// sql.append(" and cl.audit_status != 0");
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
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());
|
|
|
// predicates.add(builder.equal(root.get("areaCode"), areaCode));
|
|
|
- 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);
|
|
|
}
|