|
@@ -219,11 +219,24 @@ public class PaperApi {
|
|
|
// Long batchNo = paperRepo.findByQuestionId(questionId);
|
|
|
Specification<Paper> specification = (root, query, builder) -> {
|
|
|
List<Predicate> predicates = new ArrayList<>();
|
|
|
- if(Objects.nonNull(questionId)) {
|
|
|
+ if (Objects.nonNull(questionId)) {
|
|
|
predicates.add(builder.equal(root.get("questionId"), questionId));
|
|
|
}
|
|
|
//isScore为true时,为科组长打分详情页面数据查询条件
|
|
|
- if(isSample == null || !isSample) {
|
|
|
+ if (isSample != null && isSample) {
|
|
|
+ if (isScore) {
|
|
|
+ //level为null时,查询待评数量
|
|
|
+ if (!StringUtils.isEmpty(level)) {
|
|
|
+ predicates.add(builder.equal(root.get("level"), level));
|
|
|
+ predicates.add(builder.isNotNull(root.get("score")));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (!StringUtils.isEmpty(level)) {
|
|
|
+ predicates.add(builder.equal(root.get("level"), level));
|
|
|
+ predicates.add(builder.isNotNull(root.get("batchNo")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
if (isScore) {
|
|
|
//level为null时,查询待评数量
|
|
|
if (StringUtils.isEmpty(level)) {
|
|
@@ -276,6 +289,7 @@ public class PaperApi {
|
|
|
|
|
|
/**
|
|
|
* 科组长的输分试卷
|
|
|
+ *
|
|
|
* @param workId
|
|
|
* @param questionId
|
|
|
* @param pageable
|
|
@@ -286,13 +300,13 @@ public class PaperApi {
|
|
|
@RequestParam Long questionId,
|
|
|
Pageable pageable) {
|
|
|
List<MarkTask> markTasks = markTaskRepo.findByWorkIdAndQuestionIdAndStageAndManualScore(workId, questionId, MarkStage.SCORE, 1);
|
|
|
- List<Long> paperIds = markTasks.stream().map(m->m.getPaper().getId()).distinct().collect(Collectors.toList());
|
|
|
+ List<Long> paperIds = markTasks.stream().map(m -> m.getPaper().getId()).distinct().collect(Collectors.toList());
|
|
|
List<MarkTask> markTaskList = markTaskRepo.findByPaperIdInAndStage(paperIds, MarkStage.SCORE);
|
|
|
- Map<Long, List<MarkTask>> markTaskMap = markTaskList.stream().collect(Collectors.groupingBy(m->m.getPaper().getId()));
|
|
|
+ Map<Long, List<MarkTask>> markTaskMap = markTaskList.stream().collect(Collectors.groupingBy(m -> m.getPaper().getId()));
|
|
|
Set<Long> paperIdSet = new HashSet();
|
|
|
for (Map.Entry<Long, List<MarkTask>> entry : markTaskMap.entrySet()) {
|
|
|
- long count = entry.getValue().stream().filter(m->Objects.isNull(m.getResult())).count();
|
|
|
- if(count == 0){
|
|
|
+ long count = entry.getValue().stream().filter(m -> Objects.isNull(m.getResult())).count();
|
|
|
+ if (count == 0) {
|
|
|
paperIdSet.add(entry.getKey());
|
|
|
}
|
|
|
|