Procházet zdrojové kódy

自动阅卷分数

CrazyIter před 4 roky
rodič
revize
b6550ca452
1 změnil soubory, kde provedl 10 přidání a 3 odebrání
  1. 10 3
      TEAMModelOS/Controllers/Exam/ExamController.cs

+ 10 - 3
TEAMModelOS/Controllers/Exam/ExamController.cs

@@ -202,7 +202,7 @@ namespace TEAMModelOS.Controllers
             return builder.Data(record).build();
         }
 
-        public static void autoMark(List<ItemInfo> items ,List<Answer> stdAnswers, List<Answer> stuAnswers ,MarkConfig markConfig) {
+        public static List<Answer> autoMark(List<ItemInfo> items ,List<Answer> stdAnswers, List<Answer> stuAnswers ,MarkConfig markConfig) {
             int size = stuAnswers.Count;
             for (int i = 0; i < size; i++) {
                 //客观题
@@ -266,12 +266,19 @@ namespace TEAMModelOS.Controllers
                     else {
                         List<string> stuAns = stuAnswers[i].ans;
                         Answer stdAnswer = stdAnswers.Where(x => x.num == stuAnswers[i].num).FirstOrDefault();
-                        if (stdAnswer != null&&stdAnswer.ans.IsNotEmpty()&& stuAns.IsNotEmpty()) { 
-                            
+                        if (stdAnswer != null&&stdAnswer.ans.IsNotEmpty()&& stuAns.IsNotEmpty()) {
+                            if (stuAns[0].Equals(stdAnswer.ans[0]))
+                            {
+                                stuAnswers[i].score = stdAnswer.score;
+                            }
+                            else {
+                                stuAnswers[i].score = 0;
+                            }
                         }
                     }
                 }
             }
+            return stuAnswers;
         }
         /// <summary>
         /// 生成题目