|
@@ -452,7 +452,8 @@ namespace TEAMModelOS.FunctionV4
|
|
|
//标准差
|
|
|
double sPowSum = 0;
|
|
|
List<double> newSumScore = new List<double>();
|
|
|
- var scount = classResult.studentIds.Count;
|
|
|
+ int lostStu = classResult.status.Where(c => c == 1).ToList().Count;
|
|
|
+ var scount = classResult.studentIds.Count - lostStu;
|
|
|
int index = 0;
|
|
|
if (classResult.status.Count > 0)
|
|
|
{
|
|
@@ -629,7 +630,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
}
|
|
|
info.standard = Math.Round(total > 0 ? Math.Pow(powSum / total, 0.5) : 0, 2);
|
|
|
double NewsRate = allScore > 0 ? Math.Round(NewsRateScore / allScore * 100, 2) : 0;
|
|
|
- double qrate = Math.Round(total >0?qk / total * 100:0, 2);
|
|
|
+ double qrate = Math.Round(total > 0 ? qk / total * 100:0, 2);
|
|
|
settlement.rate = NewsRate;
|
|
|
settlement.score = NewsRateScore;
|
|
|
settlement.stus = losStu;
|
|
@@ -967,6 +968,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
List<int> pl = new List<int>();
|
|
|
List<int> pc = new List<int>();
|
|
|
List<double> persent = new List<double>();
|
|
|
+ int lostStu = classResult.status.Where(c => c == 1).ToList().Count;
|
|
|
for (int i = 0; i < knowledgeName.Count; i++)
|
|
|
{
|
|
|
//初始化单个知识点得分
|
|
@@ -1022,7 +1024,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
pc.Add(pCount);
|
|
|
ph.Add(phCount);
|
|
|
pl.Add(plCount);
|
|
|
- double per = classResult.studentIds.Count > 0 ? Math.Round(score / classResult.studentIds.Count, 2) : 0;
|
|
|
+ double per = classResult.studentIds.Count - lostStu > 0 ? Math.Round(score / (classResult.studentIds.Count - lostStu), 2) : 0;
|
|
|
persent.Add(allScore > 0 ? Math.Round(per / allScore,2) : 0);
|
|
|
}
|
|
|
classResult.phc = ph;
|
|
@@ -1064,7 +1066,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
count += result.studentIds.Count;
|
|
|
}
|
|
|
}
|
|
|
- double per = count > 0 ? Math.Round(score / count, 2) : 0;
|
|
|
+ double per = count - info.lostStu.Count > 0 ? Math.Round(score / (count - info.lostStu.Count), 2) : 0;
|
|
|
akp.Add(allScore > 0 ? Math.Round(per / allScore, 2) : 0);
|
|
|
}
|
|
|
}
|
|
@@ -1102,6 +1104,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
List<int> pl = new List<int>();
|
|
|
List<int> pc = new List<int>();
|
|
|
List<double> persent = new List<double>();
|
|
|
+ int lostStu = classResult.status.Where(c => c == 1).ToList().Count;
|
|
|
for (int i = 0; i < knowledgeName.Count; i++)
|
|
|
{
|
|
|
//初始化单个知识点得分
|
|
@@ -1158,7 +1161,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
pc.Add(pCount);
|
|
|
ph.Add(phCount);
|
|
|
pl.Add(plCount);
|
|
|
- double per = classResult.studentIds.Count > 0 ? Math.Round(score / classResult.studentIds.Count, 2) : 0;
|
|
|
+ double per = classResult.studentIds.Count - lostStu > 0 ? Math.Round(score / (classResult.studentIds.Count - lostStu), 2) : 0;
|
|
|
persent.Add(allScore > 0 ? Math.Round(per / allScore, 2) : 0);
|
|
|
}
|
|
|
}
|
|
@@ -1202,7 +1205,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- double per = count > 0 ? Math.Round(score / count, 2) : 0;
|
|
|
+ double per = count - info.lostStu.Count > 0 ? Math.Round(score / (count - info.lostStu.Count), 2) : 0;
|
|
|
afp.Add(allScore > 0 ? Math.Round(per / allScore, 2) : 0);
|
|
|
}
|
|
|
return afp;
|
|
@@ -1315,6 +1318,8 @@ namespace TEAMModelOS.FunctionV4
|
|
|
range.gradeId = classResult.gradeId;
|
|
|
List<int> ran = new List<int>();
|
|
|
int stuCount = classResult.studentIds.Count;
|
|
|
+ //todo 与实际的缺考人数比较
|
|
|
+ int lostStus = classResult.status.Where(c => c == 1).ToList().Count;
|
|
|
Count += stuCount;
|
|
|
if (m == 0)
|
|
|
{
|
|
@@ -1336,7 +1341,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
}
|
|
|
if (allScore > 0)
|
|
|
{
|
|
|
- csRate.Add(classResult.studentIds.Count > 0 ? Math.Round(classSrate * 1.0 / classResult.studentIds.Count, 2) : 0 / allScore);
|
|
|
+ csRate.Add(classResult.studentIds.Count - lostStus > 0 ? Math.Round(classSrate * 1.0 / (classResult.studentIds.Count - lostStus), 2) : 0 / allScore);
|
|
|
|
|
|
}
|
|
|
else
|
|
@@ -1367,7 +1372,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
}
|
|
|
|
|
|
result.record = getMore(info, no, opt);
|
|
|
- result.average = result.studentIds.Count > 0 ? Math.Round(score * 1.0 / result.studentIds.Count, 2) : 0;
|
|
|
+ result.average = result.studentIds.Count - result.lostStus.Count > 0 ? Math.Round(score * 1.0 / (result.studentIds.Count - result.lostStus.Count), 2) : 0;
|
|
|
double stand = 0;
|
|
|
int sco = 0;
|
|
|
List<Task<ItemResponse<ExamClassResult>>> tasks = new();
|