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