zhouj1203@hotmail.com 2 vuotta sitten
vanhempi
commit
24216d4b00
1 muutettua tiedostoa jossa 12 lisäystä ja 2 poistoa
  1. 12 2
      TEAMModelOS.FunctionV4/CosmosDB/TriggerExam.cs

+ 12 - 2
TEAMModelOS.FunctionV4/CosmosDB/TriggerExam.cs

@@ -1319,6 +1319,14 @@ namespace TEAMModelOS.FunctionV4
                                 lostStu.Add(classResult.studentIds[index_stu]);
                             }
                         }
+                        else {
+                            if (classResult.status[index_stu] == 1) {
+                                if (!lostStu.Contains(classResult.studentIds[index_stu]))
+                                {
+                                    lostStu.Add(classResult.studentIds[index_stu]);
+                                }
+                            }
+                        }
                         index_stu++;
                     }
                     int index = 0;
@@ -1387,6 +1395,7 @@ namespace TEAMModelOS.FunctionV4
                 }
             }*/
             //处理人员变更时被移除的人员
+            result.lostStus = lostStu;
             if (result.lostStus.Count > 0)
             {
                 for (int i = 0; i < result.lostStus.Count; i++)
@@ -1397,7 +1406,6 @@ namespace TEAMModelOS.FunctionV4
                     }
                 }
             }
-            result.lostStus = lostStu;
             result.record = getMore(info, no, opt);
             result.average = result.studentIds.Count - result.lostStus.Count > 0 ? Math.Round(score * 1.0 / (result.studentIds.Count - result.lostStus.Count), 2) : 0;
             double powSum = 0;
@@ -1405,7 +1413,9 @@ namespace TEAMModelOS.FunctionV4
             result.studentIds.ForEach(x =>
             {
                 double sc = result.studentScores[result.studentIds.IndexOf(x)].Sum();
-                powSum += Math.Pow(sc - result.average, 2);
+                if (!result.lostStus.Contains(x)) {
+                    powSum += Math.Pow(sc - result.average, 2);
+                }               
             });
             result.standard = Math.Round((result.studentIds.Count - result.lostStus.Count) > 0 ? Math.Pow(powSum / (result.studentIds.Count - result.lostStus.Count), 0.5) : 0, 2);
             result.csRate = csRate;