|
@@ -71,6 +71,7 @@ public class ChangeLevelApi {
|
|
|
@RequestParam(required = false) Long questionId,
|
|
|
@RequestParam(required = false) String subject,
|
|
|
@RequestParam(required = false) String status,
|
|
|
+ @RequestParam(defaultValue = "0") String type,
|
|
|
Pageable pageable) {
|
|
|
List<ChangeLevelDTO> levelDTOs = new ArrayList<>();
|
|
|
Specification<Paper> specification = (root, query, builder) -> {
|
|
@@ -79,26 +80,53 @@ public class ChangeLevelApi {
|
|
|
predicates.add(builder.equal(root.get("workId"), workId));
|
|
|
}
|
|
|
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));
|
|
|
- if(papers != null && papers.size() > 0) {
|
|
|
- CriteriaBuilder.In<Object> in = builder.in(root.get("paperId"));
|
|
|
- for (Paper paper : papers) {
|
|
|
- in.value(paper.getId());
|
|
|
+ List<Paper> papers;
|
|
|
+ if("1".equals(type)) {
|
|
|
+ papers = paperRepo.findByworkIdAndSubjectAndQuestionIdAndIsMissingAndTest(workId, Subject.valueOf(subject), questionId, false, TrialEnum.DEFAULT.ordinal());
|
|
|
+ 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)));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ papers = paperRepo.findByworkIdAndSubjectAndQuestionIdAndIsMissingAndTestAndLevelIsNull(workId, Subject.valueOf(subject), questionId, false, TrialEnum.DEFAULT.ordinal());
|
|
|
+ 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)));
|
|
|
+ } else {
|
|
|
+ CriteriaBuilder.In<Object> in = builder.in(root.get("paperId"));
|
|
|
+ in.value(-1);
|
|
|
+ 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));
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(status) && !StringUtils.isEmpty(status)) {
|
|
|
- if (Objects.equals(status, "0")) {
|
|
|
- predicates.add(builder.equal(root.get("auditStatus"), status));
|
|
|
- } else {
|
|
|
- predicates.add(builder.notEqual(root.get("auditStatus"), 0));
|
|
|
+ //改档处理
|
|
|
+ if("1".equals(type)) {
|
|
|
+ if (!StringUtils.isEmpty(status) && !StringUtils.isEmpty(status)) {
|
|
|
+ if (Objects.equals(status, "0")) {
|
|
|
+ predicates.add(builder.equal(root.get("auditStatus"), status));
|
|
|
+ } else {
|
|
|
+ predicates.add(builder.notEqual(root.get("auditStatus"), "0"));
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ if (!StringUtils.isEmpty(status) && !StringUtils.isEmpty(status)) {
|
|
|
+ if (Objects.equals(status, "0")) {
|
|
|
+ predicates.add(builder.equal(root.get("auditStatus"), status));
|
|
|
+ } else {
|
|
|
+ predicates.add(builder.equal(root.get("auditStatus"), "1"));
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
return builder.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
};
|
|
@@ -175,6 +203,7 @@ public class ChangeLevelApi {
|
|
|
@RequestParam Long userId) {
|
|
|
ChangeLevel changeLevel = changeLevelRepo.findOne(id);
|
|
|
changeLevel.setAuditStatus(auditStatus);
|
|
|
+ changeLevel.setAuditDate(new Date());
|
|
|
changeLevelRepo.save(changeLevel);
|
|
|
//同意
|
|
|
if(auditStatus == 1) {
|