ting.yin 5 年 前
コミット
c83318239b

+ 12 - 9
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/utils/ScoreCalculateUtil.java

@@ -59,14 +59,14 @@ public class ScoreCalculateUtil {
             } catch (Exception e) {
                 continue;
             }
-            
+
             boolean correct = true;
-            
-            //客观题判分策略
-            //任选给分
-            if(ObjectivePolicy.ALL.equals(question.getObjectivePolicy())){
-                score = answer.length() == 0 ? 0 : question.getTotalScore();
-            }else{
+
+            // 客观题判分策略
+            // 任选给分
+            if (ObjectivePolicy.ALL.equals(question.getObjectivePolicy())) {
+                score = answer.length() == 0 || answer.equals("#") ? 0 : question.getTotalScore();
+            } else {
                 for (int i = 0; i < answer.length(); i++) {
                     if (!question.getAnswer().contains(String.valueOf(answer.charAt(i)))) {
                         correct = false;
@@ -74,9 +74,12 @@ public class ScoreCalculateUtil {
                     }
                 }
                 if (correct & ObjectivePolicy.LEAK.equals(question.getObjectivePolicy())) {
-                    score = answer.length() < question.getAnswer().length() ? question.getTotalScore()/2 : question.getTotalScore();
+                    score = answer.length() < question.getAnswer().length() ? question.getTotalScore() / 2 : question
+                            .getTotalScore();
                 }
-                if(correct & (question.getObjectivePolicy()==null || ObjectivePolicy.NONE.equals(question.getObjectivePolicy()))){
+                if (correct
+                        & (question.getObjectivePolicy() == null || ObjectivePolicy.NONE.equals(question
+                                .getObjectivePolicy()))) {
                     score = answer.length() < question.getAnswer().length() ? 0 : question.getTotalScore();
                 }
             }