ting.yin 1 vuosi sitten
vanhempi
commit
5128481c1a

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/AnswerCardDao.java

@@ -19,7 +19,7 @@ public interface AnswerCardDao extends PagingAndSortingRepository<AnswerCard, An
     @Query("select q from AnswerCard q where q.pk.examId=?1 order by q.pk.number")
     @Query("select q from AnswerCard q where q.pk.examId=?1 order by q.pk.number")
     List<AnswerCard> findByExamId(Integer examId);
     List<AnswerCard> findByExamId(Integer examId);
 
 
-    @Query(value = "select e.* from eb_answer_card e left join eb_answer_card_subject s on e.exam_id=s.exam_id and e.number=s.card_number where e.exam_id = ?1 and e.source=?2 and e.code is null and s.subject_code=?2", nativeQuery = true)
+    @Query(value = "select e.* from eb_answer_card e left join eb_answer_card_subject s on e.exam_id=s.exam_id and e.number=s.card_number where e.exam_id = ?1 and e.source=?3 and e.code is null and s.subject_code=?2", nativeQuery = true)
     AnswerCard findByExamIdAndSubjectCodeAndCodeIsNull(Integer examId, String subjectCode, CardSource source);
     AnswerCard findByExamIdAndSubjectCodeAndCodeIsNull(Integer examId, String subjectCode, CardSource source);
 
 
     @Query("select s from AnswerCard s where s.pk.examId=?1 and s.code=?2")
     @Query("select s from AnswerCard s where s.pk.examId=?1 and s.code=?2")

+ 19 - 5
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java

@@ -7,6 +7,7 @@ import java.util.Date;
 import java.util.HashSet;
 import java.util.HashSet;
 import java.util.List;
 import java.util.List;
 import java.util.Set;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -578,6 +579,7 @@ public class MarkController extends BaseController {
             querySort = new Sort(d, "markerScore");
             querySort = new Sort(d, "markerScore");
         }
         }
         MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
         MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
+        Exam exam = examService.findById(marker.getExamId());
         if (group != null && group.getStatus() == MarkStatus.FORMAL) {
         if (group != null && group.getStatus() == MarkStatus.FORMAL) {
             // 正评查找已给分的评卷任务
             // 正评查找已给分的评卷任务
             MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
             MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
@@ -587,17 +589,29 @@ public class MarkController extends BaseController {
             query.addStatus(LibraryStatus.MARKED);
             query.addStatus(LibraryStatus.MARKED);
             query.addStatus(LibraryStatus.INSPECTED);
             query.addStatus(LibraryStatus.INSPECTED);
             query.setGroupNumber(marker.getGroupNumber());
             query.setGroupNumber(marker.getGroupNumber());
-            query.setSecretNumber(secretNumber);
-            query.setPageNumber(pageNumber);
-            query.setMarkerScore(markerScore);
-            query.setPageSize(pageSize);
             query.setStartScore(0.0);
             query.setStartScore(0.0);
             if (querySort != null) {
             if (querySort != null) {
                 query.setSort(querySort);
                 query.setSort(querySort);
             } else {
             } else {
                 query.orderByMarkerTimeDesc();
                 query.orderByMarkerTimeDesc();
             }
             }
-            list = taskService.findHistory(query);
+            if (StringUtils.isNotBlank(secretNumber) && exam.getRemarkCount() != null) {
+                query.setPageNumber(1);
+                query.setPageSize(exam.getRemarkCount());
+                list = taskService.findHistory(query);
+                list = list.stream().filter(e -> e.getSecretNumber().equals(secretNumber)).collect(Collectors.toList());
+            } else if (markerScore != null && exam.getRemarkCount() != null) {
+                query.setPageNumber(1);
+                query.setPageSize(exam.getRemarkCount());
+                list = list.stream().filter(e -> e.getMarkerScore().doubleValue() == markerScore)
+                        .collect(Collectors.toList());
+            } else {
+                query.setSecretNumber(secretNumber);
+                query.setMarkerScore(markerScore);
+                query.setPageNumber(pageNumber);
+                query.setPageSize(pageSize);
+                list = taskService.findHistory(query);
+            }
         } else if (group != null && group.getStatus() == MarkStatus.TRIAL) {
         } else if (group != null && group.getStatus() == MarkStatus.TRIAL) {
             // 试评查找给分历史记录
             // 试评查找给分历史记录
             List<TrialLibrary> historyList = new ArrayList<TrialLibrary>();
             List<TrialLibrary> historyList = new ArrayList<TrialLibrary>();