ソースを参照

修复排序问题

ting.yin 1 年間 前
コミット
39b10e668c

+ 3 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/ExamStudentService.java

@@ -49,7 +49,8 @@ public interface ExamStudentService {
 
 
     List<String> findDistinctCampusName(int examId);
     List<String> findDistinctCampusName(int examId);
 
 
-    List<ExamStudent> findByExamIdAndCampusName(int examId, String campusCode, int pageNumber, int pageSize);
+    // List<ExamStudent> findByExamIdAndCampusName(int examId, String
+    // campusCode, int pageNumber, int pageSize);
 
 
     List<String> findDistinctPackageCode(int examId);
     List<String> findDistinctPackageCode(int examId);
 
 
@@ -113,7 +114,7 @@ public interface ExamStudentService {
 
 
     public String findIdsByMarkName(String markName);
     public String findIdsByMarkName(String markName);
 
 
-    List<ExamStudent> findByExamId(int examId, int pageNumber, int pageSize);
+    // List<ExamStudent> findByExamId(int examId, int pageNumber, int pageSize);
 
 
     List<ExamStudent> findByExamIdAndSubjectCode(int examId, String subjectCode, int pageNumber, int pageSize);
     List<ExamStudent> findByExamIdAndSubjectCode(int examId, String subjectCode, int pageNumber, int pageSize);
 
 

+ 22 - 21
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -259,7 +259,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
 
 
     public ExamStudentSearchQuery findByQuery(final ExamStudentSearchQuery query) {
     public ExamStudentSearchQuery findByQuery(final ExamStudentSearchQuery query) {
         checkQuery(query);
         checkQuery(query);
-        query.addSort("id", Direction.ASC);
+        query.addSort("examNumber", Direction.ASC);
         if (query.getSheetCount() != null) {
         if (query.getSheetCount() != null) {
             query.setSheetCount(query.getSheetCount() * 2);
             query.setSheetCount(query.getSheetCount() * 2);
         }
         }
@@ -280,21 +280,22 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         return studentDao.findByExamId(examId, null);
         return studentDao.findByExamId(examId, null);
     }
     }
 
 
-    @Override
-    public List<ExamStudent> findByExamId(int examId, int pageNumber, int pageSize) {
-        ExamStudentSearchQuery query = new ExamStudentSearchQuery();
-        query.setPageNumber(pageNumber);
-        query.setPageSize(pageSize);
-        query.addSort("id", Direction.ASC);
-        return studentDao.findByExamId(examId, query);
-    }
+    // @Override
+    // public List<ExamStudent> findByExamId(int examId, int pageNumber, int
+    // pageSize) {
+    // ExamStudentSearchQuery query = new ExamStudentSearchQuery();
+    // query.setPageNumber(pageNumber);
+    // query.setPageSize(pageSize);
+    // query.addSort("id", Direction.ASC);
+    // return studentDao.findByExamId(examId, query);
+    // }
 
 
     @Override
     @Override
     public List<ExamStudent> findByExamIdAndSubjectCode(int examId, String subjectCode, int pageNumber, int pageSize) {
     public List<ExamStudent> findByExamIdAndSubjectCode(int examId, String subjectCode, int pageNumber, int pageSize) {
         ExamStudentSearchQuery query = new ExamStudentSearchQuery();
         ExamStudentSearchQuery query = new ExamStudentSearchQuery();
         query.setPageNumber(pageNumber);
         query.setPageNumber(pageNumber);
         query.setPageSize(pageSize);
         query.setPageSize(pageSize);
-        query.addSort("id", Direction.ASC);
+        query.addSort("examNumber", Direction.ASC);
         return studentDao.findByExamIdAndSubjectCode(examId, subjectCode, query);
         return studentDao.findByExamIdAndSubjectCode(examId, subjectCode, query);
     }
     }
 
 
@@ -304,18 +305,19 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         ExamStudentSearchQuery query = new ExamStudentSearchQuery();
         ExamStudentSearchQuery query = new ExamStudentSearchQuery();
         query.setPageNumber(pageNumber);
         query.setPageNumber(pageNumber);
         query.setPageSize(pageSize);
         query.setPageSize(pageSize);
-        query.addSort("id", Direction.ASC);
+        query.addSort("examNumber", Direction.ASC);
         return studentDao.findByExamIdAndUploadAndAbsent(examId, upload, absent, query);
         return studentDao.findByExamIdAndUploadAndAbsent(examId, upload, absent, query);
     }
     }
 
 
-    @Override
-    public List<ExamStudent> findByExamIdAndCampusName(int examId, String campusName, int pageNumber, int pageSize) {
-        ExamStudentSearchQuery query = new ExamStudentSearchQuery();
-        query.setPageNumber(pageNumber);
-        query.setPageSize(pageSize);
-        query.addSort("id", Direction.ASC);
-        return studentDao.findByExamIdAndCampusName(examId, campusName, query);
-    }
+    // @Override
+    // public List<ExamStudent> findByExamIdAndCampusName(int examId, String
+    // campusName, int pageNumber, int pageSize) {
+    // ExamStudentSearchQuery query = new ExamStudentSearchQuery();
+    // query.setPageNumber(pageNumber);
+    // query.setPageSize(pageSize);
+    // query.addSort("id", Direction.ASC);
+    // return studentDao.findByExamIdAndCampusName(examId, campusName, query);
+    // }
 
 
     @Override
     @Override
     public ExamStudent findByExamIdAndExamNumber(int examId, String examNumber) {
     public ExamStudent findByExamIdAndExamNumber(int examId, String examNumber) {
@@ -786,7 +788,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         ExamStudentSearchQuery query = new ExamStudentSearchQuery();
         ExamStudentSearchQuery query = new ExamStudentSearchQuery();
         query.setPageNumber(1);
         query.setPageNumber(1);
         query.setPageSize(count);
         query.setPageSize(count);
-        query.addSort("id", Direction.ASC);
         return studentDao.findUnLibraryStudent(examId, subjectCode, groupNumber, query);
         return studentDao.findUnLibraryStudent(examId, subjectCode, groupNumber, query);
     }
     }
 
 
@@ -1382,7 +1383,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         sql.append(" ,s.exam_site examSite,s.exam_room examRoom,s.package_code packageCode");
         sql.append(" ,s.exam_site examSite,s.exam_room examRoom,s.package_code packageCode");
         sql.append(" from eb_exam_student s ");
         sql.append(" from eb_exam_student s ");
         sql.append(getWhereSql(req));
         sql.append(getWhereSql(req));
-        sql.append(" order by s.id ");
+        sql.append(" order by s.id,s.exam_number ");
         sql.append(" limit " + offset + "," + req.getPageSize());
         sql.append(" limit " + offset + "," + req.getPageSize());
         Query query = entityManager.createNativeQuery(sql.toString());
         Query query = entityManager.createNativeQuery(sql.toString());
         query.unwrap(SQLQuery.class).setResultTransformer(Transformers.aliasToBean(ExamStudent.class));
         query.unwrap(SQLQuery.class).setResultTransformer(Transformers.aliasToBean(ExamStudent.class));

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/ArbitrateHistoryServiceImpl.java

@@ -70,7 +70,7 @@ public class ArbitrateHistoryServiceImpl extends BaseQueryService<ArbitrateHisto
     @Override
     @Override
     public ArbitrateHistorySearchQuery findByQuery(final ArbitrateHistorySearchQuery query) {
     public ArbitrateHistorySearchQuery findByQuery(final ArbitrateHistorySearchQuery query) {
         checkQuery(query);
         checkQuery(query);
-        query.addSort("id", Direction.ASC);
+        query.addSort("examNumber", Direction.ASC);
         Page<ArbitrateHistory> result = historyDao.findAll(buildSpecification(query), query);
         Page<ArbitrateHistory> result = historyDao.findAll(buildSpecification(query), query);
         fillResult(result, query);
         fillResult(result, query);
         return query;
         return query;

+ 2 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkLibraryServiceImpl.java

@@ -55,7 +55,6 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
         MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
         MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
         query.setPageNumber(pageNumber);
         query.setPageNumber(pageNumber);
         query.setPageSize(pageSize);
         query.setPageSize(pageSize);
-        query.addSort("id", Direction.ASC);
         return filterClass ? libraryDao.findUnMarkedFilterClass(examId, subjectCode, groupNumber, markerId, userId,
         return filterClass ? libraryDao.findUnMarkedFilterClass(examId, subjectCode, groupNumber, markerId, userId,
                 statusSet, query) : libraryDao.findUnMarked(examId, subjectCode, groupNumber, markerId, statusSet,
                 statusSet, query) : libraryDao.findUnMarked(examId, subjectCode, groupNumber, markerId, statusSet,
                 query);
                 query);
@@ -90,7 +89,7 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
     @Override
     @Override
     public MarkLibrarySearchQuery findByQuery(final MarkLibrarySearchQuery query) {
     public MarkLibrarySearchQuery findByQuery(final MarkLibrarySearchQuery query) {
         checkQuery(query);
         checkQuery(query);
-        query.addSort("id", Direction.ASC);
+        query.addSort("examNumber", Direction.ASC);
         Page<MarkLibrary> result = libraryDao.findAll(buildSpecification(query), query);
         Page<MarkLibrary> result = libraryDao.findAll(buildSpecification(query), query);
         fillResult(result, query);
         fillResult(result, query);
         return query;
         return query;
@@ -274,7 +273,7 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
     @Override
     @Override
     public MarkLibrarySearchQuery findHistory(MarkLibrarySearchQuery query) {
     public MarkLibrarySearchQuery findHistory(MarkLibrarySearchQuery query) {
         checkQuery(query);
         checkQuery(query);
-        query.addSort("id", Direction.ASC);
+        query.addSort("examNumber", Direction.ASC);
         Page<MarkLibrary> result = libraryDao.findAll(buildHistotySpecification(query), query);
         Page<MarkLibrary> result = libraryDao.findAll(buildHistotySpecification(query), query);
         fillResult(result, query);
         fillResult(result, query);
         return query;
         return query;

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -1422,7 +1422,7 @@ public class MarkServiceImpl implements MarkService {
         MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
         MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
         query.setPageNumber(1);
         query.setPageNumber(1);
         query.setPageSize(1);
         query.setPageSize(1);
-        query.setSort(new Sort(Sort.Direction.DESC, "markerTime", "id"));
+        query.setSort(new Sort(Sort.Direction.DESC, "markerTime", "examNumber"));
         List<MarkLibrary> list = libraryDao.findByMarkerIdAndStatus(marker.getId(), LibraryStatus.MARKED, query);
         List<MarkLibrary> list = libraryDao.findByMarkerIdAndStatus(marker.getId(), LibraryStatus.MARKED, query);
         MarkLibrary library = list.isEmpty() ? null : list.get(0);
         MarkLibrary library = list.isEmpty() ? null : list.get(0);
         if (library != null && library.getMarkerTime() != null) {
         if (library != null && library.getMarkerTime() != null) {

+ 1 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/TrialServiceImpl.java

@@ -51,14 +51,13 @@ public class TrialServiceImpl extends BaseQueryService<TrialLibrary> implements
         TrialLibrarySearchQuery query = new TrialLibrarySearchQuery();
         TrialLibrarySearchQuery query = new TrialLibrarySearchQuery();
         query.setPageNumber(pageNumber);
         query.setPageNumber(pageNumber);
         query.setPageSize(pageSize);
         query.setPageSize(pageSize);
-        query.addSort("id", Direction.ASC);
         return libraryDao.findUnMarked(examId, subjectCode, groupNumber, query);
         return libraryDao.findUnMarked(examId, subjectCode, groupNumber, query);
     }
     }
 
 
     @Override
     @Override
     public TrialLibrarySearchQuery findLibrary(final TrialLibrarySearchQuery query) {
     public TrialLibrarySearchQuery findLibrary(final TrialLibrarySearchQuery query) {
         checkQuery(query);
         checkQuery(query);
-        query.addSort("id", Direction.ASC);
+        query.addSort("examNumber", Direction.ASC);
         Page<TrialLibrary> result = libraryDao.findAll(buildSpecification(query), query);
         Page<TrialLibrary> result = libraryDao.findAll(buildSpecification(query), query);
         fillResult(result, query);
         fillResult(result, query);
         return query;
         return query;

+ 2 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ArbitrateController.java

@@ -267,9 +267,9 @@ public class ArbitrateController extends BaseExamController {
             d = Direction.ASC;
             d = Direction.ASC;
         }
         }
         if (order.equals("markerTime")) {
         if (order.equals("markerTime")) {
-            querySort = new Sort(d, "updateTime", "id");
+            querySort = new Sort(d, "updateTime", "examNumber");
         } else if (order.equals("markerScore")) {
         } else if (order.equals("markerScore")) {
-            querySort = new Sort(d, "totalScore", "id");
+            querySort = new Sort(d, "totalScore", "examNumber");
         }
         }
         MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
         MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
         List<Task> list = new LinkedList<Task>();
         List<Task> list = new LinkedList<Task>();

+ 3 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/StudentController.java

@@ -14,6 +14,7 @@ import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -91,6 +92,7 @@ public class StudentController extends BaseExamController {
         if (query.getBatchCode() != null) {
         if (query.getBatchCode() != null) {
             query.setBatchCode(StringUtils.upperCase(query.getBatchCode()));
             query.setBatchCode(StringUtils.upperCase(query.getBatchCode()));
         }
         }
+        query.addSort("id", Direction.ASC);
         query = studentService.findByQuery(query);
         query = studentService.findByQuery(query);
         if (query.getCurrentCount() > 0) {
         if (query.getCurrentCount() > 0) {
             for (ExamStudent student : query.getResult()) {
             for (ExamStudent student : query.getResult()) {
@@ -333,6 +335,7 @@ public class StudentController extends BaseExamController {
             query.setPageNumber(1);
             query.setPageNumber(1);
             query.setPageSize(Integer.MAX_VALUE);
             query.setPageSize(Integer.MAX_VALUE);
             query.setExamId(examId);
             query.setExamId(examId);
+            query.addSort("id", Direction.ASC);
             query = studentService.findByQuery(query);
             query = studentService.findByQuery(query);
             for (ExamStudent student : query.getResult()) {
             for (ExamStudent student : query.getResult()) {
                 ExamSubject subject = subjectService.find(student.getExamId(), student.getSubjectCode());
                 ExamSubject subject = subjectService.find(student.getExamId(), student.getSubjectCode());