1
0
Pārlūkot izejas kodu

选项排序;单选中若识别为多个选项则不计算

ting.yin 6 gadi atpakaļ
vecāks
revīzija
9333b11b57

+ 11 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/utils/module/SubjectQuestionOptionModule.java

@@ -1,10 +1,12 @@
 package cn.com.qmth.stmms.biz.report.utils.module;
 
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeSet;
 
 import net.sf.json.JSONObject;
 
@@ -106,9 +108,16 @@ public class SubjectQuestionOptionModule implements Module {
         for (String subjectCode : optionMap.keySet()) {
             ReportSubject r = subjectService.findOne(this.context.getExamId(), subjectCode);
             Set<String> options = optionMap.get(subjectCode);
-            
             options.remove(ANSWER);
-            r.setOptions(StringUtils.join(options, ANSWER_SPLIT));
+            Set<String> sortSet = new TreeSet<String>(new Comparator<String>() {
+
+                @Override
+                public int compare(String o1, String o2) {
+                    return o1.compareTo(o2);
+                }
+            });
+            sortSet.addAll(options);
+            r.setOptions(StringUtils.join(sortSet, ANSWER_SPLIT));
             subjectService.save(r);
         }
     }

+ 4 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/utils/unit/OptionCounter.java

@@ -29,7 +29,10 @@ public class OptionCounter {
             }
         } else {
             // 单一选项
-            incr(answer);
+            // 单选中选项个数为多个不计算
+            if (answer.length() == 1) {
+                incr(answer);
+            }
         }
     }