浏览代码

机构版-2.1.0

xiaof 3 年之前
父节点
当前提交
aa57367a56
共有 1 个文件被更改,包括 20 次插入6 次删除
  1. 20 6
      stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/PaperApi.java

+ 20 - 6
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/PaperApi.java

@@ -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());
             }