ting.yin 3 年之前
父節點
當前提交
f6db0cb8bd

+ 35 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamQuestionServiceImpl.java

@@ -73,7 +73,33 @@ public class ExamQuestionServiceImpl extends BaseQueryService<ExamQuestion> impl
     @Override
     @Override
     public List<ExamQuestion> findByExamAndSubjectAndObjectiveGroupByNumber(Integer examId, String subjectCode,
     public List<ExamQuestion> findByExamAndSubjectAndObjectiveGroupByNumber(Integer examId, String subjectCode,
             boolean objective) {
             boolean objective) {
-        return questionDao.findByExamIdAndSubjectCodeAndObjectiveGroupByNumber(examId, subjectCode, objective);
+        List<ExamQuestion> list = questionDao.findByExamIdAndSubjectCodeAndObjectiveGroupByNumber(examId, subjectCode,
+                objective);
+
+        Collections.sort(list, new Comparator<ExamQuestion>() {
+
+            @Override
+            public int compare(ExamQuestion o1, ExamQuestion o2) {
+                int i = o1.getMainNumber() - o2.getMainNumber();
+                if (i == 0) {
+                    if (o1.getSubNumber().contains("-")) {
+                        String[] o1s = o1.getSubNumber().split("-");
+                        String[] o2s = o2.getSubNumber().split("-");
+                        int j = Integer.parseUnsignedInt(o1s[0]) - Integer.parseUnsignedInt(o2s[0]);
+                        if (j == 0) {
+                            return Integer.parseUnsignedInt(o1s[1]) - Integer.parseUnsignedInt(o2s[1]);
+                        } else {
+                            return j;
+                        }
+                    } else {
+                        return Integer.parseUnsignedInt(o1.getSubNumber())
+                                - Integer.parseUnsignedInt(o2.getSubNumber());
+                    }
+                }
+                return i;
+            }
+        });
+        return list;
     }
     }
 
 
     @Override
     @Override
@@ -89,7 +115,14 @@ public class ExamQuestionServiceImpl extends BaseQueryService<ExamQuestion> impl
                     int i = o1.getMainNumber() - o2.getMainNumber();
                     int i = o1.getMainNumber() - o2.getMainNumber();
                     if (i == 0) {
                     if (i == 0) {
                         if (o1.getSubNumber().contains("-")) {
                         if (o1.getSubNumber().contains("-")) {
-                            return o1.getSubNumber().compareTo(o2.getSubNumber());
+                            String[] o1s = o1.getSubNumber().split("-");
+                            String[] o2s = o2.getSubNumber().split("-");
+                            int j = Integer.parseUnsignedInt(o1s[0]) - Integer.parseUnsignedInt(o2s[0]);
+                            if (j == 0) {
+                                return Integer.parseUnsignedInt(o1s[1]) - Integer.parseUnsignedInt(o2s[1]);
+                            } else {
+                                return j;
+                            }
                         } else {
                         } else {
                             return Integer.parseUnsignedInt(o1.getSubNumber())
                             return Integer.parseUnsignedInt(o1.getSubNumber())
                                     - Integer.parseUnsignedInt(o2.getSubNumber());
                                     - Integer.parseUnsignedInt(o2.getSubNumber());

+ 8 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectQuestionServiceImpl.java

@@ -121,7 +121,14 @@ public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSub
                 int i = o1.getMainNumber() - o2.getMainNumber();
                 int i = o1.getMainNumber() - o2.getMainNumber();
                 if (i == 0) {
                 if (i == 0) {
                     if (o1.getSubNumber().contains("-")) {
                     if (o1.getSubNumber().contains("-")) {
-                        return o1.getSubNumber().compareTo(o2.getSubNumber());
+                        String[] o1s = o1.getSubNumber().split("-");
+                        String[] o2s = o2.getSubNumber().split("-");
+                        int j = Integer.parseUnsignedInt(o1s[0]) - Integer.parseUnsignedInt(o2s[0]);
+                        if (j == 0) {
+                            return Integer.parseUnsignedInt(o1s[1]) - Integer.parseUnsignedInt(o2s[1]);
+                        } else {
+                            return j;
+                        }
                     } else {
                     } else {
                         return Integer.parseUnsignedInt(o1.getSubNumber())
                         return Integer.parseUnsignedInt(o1.getSubNumber())
                                 - Integer.parseUnsignedInt(o2.getSubNumber());
                                 - Integer.parseUnsignedInt(o2.getSubNumber());

+ 17 - 6
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/PaperController.java

@@ -151,13 +151,17 @@ public class PaperController extends BaseExamController {
 
 
                     @Override
                     @Override
                     public int compare(ExamQuestion o1, ExamQuestion o2) {
                     public int compare(ExamQuestion o1, ExamQuestion o2) {
-                        int i = o1.getPaperType().compareTo(o2.getPaperType());
-                        if (i == 0) {
-                            i = o1.getMainNumber() - o2.getMainNumber();
-                        }
+                        int i = o1.getMainNumber() - o2.getMainNumber();
                         if (i == 0) {
                         if (i == 0) {
                             if (o1.getSubNumber().contains("-")) {
                             if (o1.getSubNumber().contains("-")) {
-                                return o1.getSubNumber().compareTo(o2.getSubNumber());
+                                String[] o1s = o1.getSubNumber().split("-");
+                                String[] o2s = o2.getSubNumber().split("-");
+                                int j = Integer.parseUnsignedInt(o1s[0]) - Integer.parseUnsignedInt(o2s[0]);
+                                if (j == 0) {
+                                    return Integer.parseUnsignedInt(o1s[1]) - Integer.parseUnsignedInt(o2s[1]);
+                                } else {
+                                    return j;
+                                }
                             } else {
                             } else {
                                 return Integer.parseUnsignedInt(o1.getSubNumber())
                                 return Integer.parseUnsignedInt(o1.getSubNumber())
                                         - Integer.parseUnsignedInt(o2.getSubNumber());
                                         - Integer.parseUnsignedInt(o2.getSubNumber());
@@ -178,7 +182,14 @@ public class PaperController extends BaseExamController {
                         int i = o1.getMainNumber() - o2.getMainNumber();
                         int i = o1.getMainNumber() - o2.getMainNumber();
                         if (i == 0) {
                         if (i == 0) {
                             if (o1.getSubNumber().contains("-")) {
                             if (o1.getSubNumber().contains("-")) {
-                                return o1.getSubNumber().compareTo(o2.getSubNumber());
+                                String[] o1s = o1.getSubNumber().split("-");
+                                String[] o2s = o2.getSubNumber().split("-");
+                                int j = Integer.parseUnsignedInt(o1s[0]) - Integer.parseUnsignedInt(o2s[0]);
+                                if (j == 0) {
+                                    return Integer.parseUnsignedInt(o1s[1]) - Integer.parseUnsignedInt(o2s[1]);
+                                } else {
+                                    return j;
+                                }
                             } else {
                             } else {
                                 return Integer.parseUnsignedInt(o1.getSubNumber())
                                 return Integer.parseUnsignedInt(o1.getSubNumber())
                                         - Integer.parseUnsignedInt(o2.getSubNumber());
                                         - Integer.parseUnsignedInt(o2.getSubNumber());

+ 23 - 11
stmms-web/src/main/java/cn/com/qmth/stmms/admin/report/ReportSubjectQuestionController.java

@@ -63,13 +63,21 @@ public class ReportSubjectQuestionController extends BaseExamController {
 
 
                 @Override
                 @Override
                 public int compare(ReportSubjectQuestion o1, ReportSubjectQuestion o2) {
                 public int compare(ReportSubjectQuestion o1, ReportSubjectQuestion o2) {
-                    int i = o1.getPaperType().compareTo(o2.getPaperType());
+                    int i = o1.getMainNumber() - o2.getMainNumber();
                     if (i == 0) {
                     if (i == 0) {
-                        i = o1.getMainNumber() - o2.getMainNumber();
-                    }
-                    if (i == 0) {
-                        return Integer.parseUnsignedInt(o1.getSubNumber())
-                                - Integer.parseUnsignedInt(o2.getSubNumber());
+                        if (o1.getSubNumber().contains("-")) {
+                            String[] o1s = o1.getSubNumber().split("-");
+                            String[] o2s = o2.getSubNumber().split("-");
+                            int j = Integer.parseUnsignedInt(o1s[0]) - Integer.parseUnsignedInt(o2s[0]);
+                            if (j == 0) {
+                                return Integer.parseUnsignedInt(o1s[1]) - Integer.parseUnsignedInt(o2s[1]);
+                            } else {
+                                return j;
+                            }
+                        } else {
+                            return Integer.parseUnsignedInt(o1.getSubNumber())
+                                    - Integer.parseUnsignedInt(o2.getSubNumber());
+                        }
                     }
                     }
                     return i;
                     return i;
                 }
                 }
@@ -95,13 +103,17 @@ public class ReportSubjectQuestionController extends BaseExamController {
 
 
             @Override
             @Override
             public int compare(ReportSubjectQuestion o1, ReportSubjectQuestion o2) {
             public int compare(ReportSubjectQuestion o1, ReportSubjectQuestion o2) {
-                int i = o1.getPaperType().compareTo(o2.getPaperType());
-                if (i == 0) {
-                    i = o1.getMainNumber() - o2.getMainNumber();
-                }
+                int i = o1.getMainNumber() - o2.getMainNumber();
                 if (i == 0) {
                 if (i == 0) {
                     if (o1.getSubNumber().contains("-")) {
                     if (o1.getSubNumber().contains("-")) {
-                        return o1.getSubNumber().compareTo(o2.getSubNumber());
+                        String[] o1s = o1.getSubNumber().split("-");
+                        String[] o2s = o2.getSubNumber().split("-");
+                        int j = Integer.parseUnsignedInt(o1s[0]) - Integer.parseUnsignedInt(o2s[0]);
+                        if (j == 0) {
+                            return Integer.parseUnsignedInt(o1s[1]) - Integer.parseUnsignedInt(o2s[1]);
+                        } else {
+                            return j;
+                        }
                     } else {
                     } else {
                         return Integer.parseUnsignedInt(o1.getSubNumber())
                         return Integer.parseUnsignedInt(o1.getSubNumber())
                                 - Integer.parseUnsignedInt(o2.getSubNumber());
                                 - Integer.parseUnsignedInt(o2.getSubNumber());