Browse Source

修复多媒体小题号排序问题,考生复核时打回部分失败

ting.yin 4 years ago
parent
commit
84fc0a1ee7

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

@@ -88,8 +88,12 @@ public class ExamQuestionServiceImpl extends BaseQueryService<ExamQuestion> impl
                 public int compare(ExamQuestion o1, ExamQuestion o2) {
                     int i = o1.getMainNumber() - o2.getMainNumber();
                     if (i == 0) {
-                        return Integer.parseUnsignedInt(o1.getSubNumber())
-                                - Integer.parseUnsignedInt(o2.getSubNumber());
+                        if (o1.getSubNumber().contains("-")) {
+                            return o1.getSubNumber().compareTo(o2.getSubNumber());
+                        } else {
+                            return Integer.parseUnsignedInt(o1.getSubNumber())
+                                    - Integer.parseUnsignedInt(o2.getSubNumber());
+                        }
                     }
                     return i;
                 }

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

@@ -1417,7 +1417,8 @@ public class MarkServiceImpl implements MarkService {
                     count++;
                     continue;
                 }
-                if (library.getStatus().equals(LibraryStatus.MARKED)) {
+                if (library.getStatus().equals(LibraryStatus.MARKED)
+                        || library.getStatus().equals(LibraryStatus.INSPECTED)) {
                     List<ScoreItem> sList = library.getScoreList();
                     for (MarkStepDTO markStepDTO : qList) {
                         trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(), markStepDTO.getMainNumber() + "."

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

@@ -32,8 +32,8 @@ import cn.com.qmth.stmms.biz.report.service.ReportSubjectQuestionService;
  * @Date 2019-04-17
  */
 @Service
-public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSubjectQuestion>
-        implements ReportSubjectQuestionService {
+public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSubjectQuestion> implements
+        ReportSubjectQuestionService {
 
     @Autowired
     private ReportSubjectQuestionDao reportSubjectQuestionDao;
@@ -58,8 +58,8 @@ public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSub
     @Override
     public List<ReportSubjectQuestion> findByQuery(final ReportSubjectQuery query) {
         query.setSort(new Sort(Direction.ASC, "paperType", "mainNumber", "subNumber"));
-        Page<ReportSubjectQuestion> result = reportSubjectQuestionDao
-                .findAll(new Specification<ReportSubjectQuestion>() {
+        Page<ReportSubjectQuestion> result = reportSubjectQuestionDao.findAll(
+                new Specification<ReportSubjectQuestion>() {
 
                     @Override
                     public Predicate toPredicate(Root<ReportSubjectQuestion> root, CriteriaQuery<?> cQuery,
@@ -120,7 +120,12 @@ public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSub
             public int compare(ReportSubjectQuestion o1, ReportSubjectQuestion o2) {
                 int i = o1.getMainNumber() - o2.getMainNumber();
                 if (i == 0) {
-                    return Integer.parseUnsignedInt(o1.getSubNumber()) - Integer.parseUnsignedInt(o2.getSubNumber());
+                    if (o1.getSubNumber().contains("-")) {
+                        return o1.getSubNumber().compareTo(o2.getSubNumber());
+                    } else {
+                        return Integer.parseUnsignedInt(o1.getSubNumber())
+                                - Integer.parseUnsignedInt(o2.getSubNumber());
+                    }
                 }
                 return i;
             }

+ 12 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/PaperController.java

@@ -156,8 +156,12 @@ public class PaperController extends BaseExamController {
                             i = o1.getMainNumber() - o2.getMainNumber();
                         }
                         if (i == 0) {
-                            return Integer.parseUnsignedInt(o1.getSubNumber())
-                                    - Integer.parseUnsignedInt(o2.getSubNumber());
+                            if (o1.getSubNumber().contains("-")) {
+                                return o1.getSubNumber().compareTo(o2.getSubNumber());
+                            } else {
+                                return Integer.parseUnsignedInt(o1.getSubNumber())
+                                        - Integer.parseUnsignedInt(o2.getSubNumber());
+                            }
                         }
                         return i;
                     }
@@ -173,8 +177,12 @@ public class PaperController extends BaseExamController {
                     public int compare(ExamQuestion o1, ExamQuestion o2) {
                         int i = o1.getMainNumber() - o2.getMainNumber();
                         if (i == 0) {
-                            return Integer.parseUnsignedInt(o1.getSubNumber())
-                                    - Integer.parseUnsignedInt(o2.getSubNumber());
+                            if (o1.getSubNumber().contains("-")) {
+                                return o1.getSubNumber().compareTo(o2.getSubNumber());
+                            } else {
+                                return Integer.parseUnsignedInt(o1.getSubNumber())
+                                        - Integer.parseUnsignedInt(o2.getSubNumber());
+                            }
                         }
                         return i;
                     }

+ 6 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/report/ReportSubjectQuestionController.java

@@ -100,7 +100,12 @@ public class ReportSubjectQuestionController extends BaseExamController {
                     i = o1.getMainNumber() - o2.getMainNumber();
                 }
                 if (i == 0) {
-                    return Integer.parseUnsignedInt(o1.getSubNumber()) - Integer.parseUnsignedInt(o2.getSubNumber());
+                    if (o1.getSubNumber().contains("-")) {
+                        return o1.getSubNumber().compareTo(o2.getSubNumber());
+                    } else {
+                        return Integer.parseUnsignedInt(o1.getSubNumber())
+                                - Integer.parseUnsignedInt(o2.getSubNumber());
+                    }
                 }
                 return i;
             }