|
@@ -1256,8 +1256,6 @@ namespace TEAMModelOS.Controllers.Analysis
|
|
|
{
|
|
|
{ "ExamCode", e.id}
|
|
|
};
|
|
|
- double weight = 0.5;
|
|
|
- weightSum += weight;
|
|
|
List<string> subjects = new List<string>();
|
|
|
List<List<string>> SubjectClassAverage = new List<List<string>>();
|
|
|
List<List<string>> SubjectAverage = new List<List<string>>();
|
|
@@ -1272,42 +1270,43 @@ namespace TEAMModelOS.Controllers.Analysis
|
|
|
iPersons = stuCount * 0.4;
|
|
|
//
|
|
|
List<List<int>> subSum = new List<List<int>>();
|
|
|
- if (simples.IsNotEmpty())
|
|
|
+ if (simples.IsEmpty()) continue;
|
|
|
+ double weight = 0.5;
|
|
|
+ weightSum += weight;
|
|
|
+ int classLen = simples[0].Classes.Count;
|
|
|
+ for (int cls = 0; cls < classLen; cls++)
|
|
|
{
|
|
|
- int classLen = simples[0].Classes.Count;
|
|
|
- for (int cls = 0; cls < classLen; cls++)
|
|
|
+ if (simples[0].Classes[cls].TryGetValue(simples[0].Classes[cls].Keys.ToArray<string>()[0], out int[] indexs))
|
|
|
{
|
|
|
- if (simples[0].Classes[cls].TryGetValue(simples[0].Classes[cls].Keys.ToArray<string>()[0], out int[] indexs))
|
|
|
- {
|
|
|
- List<int> stuScore = new List<int>();
|
|
|
- int stdLen = indexs[1] - indexs[0] + 1;
|
|
|
+ List<int> stuScore = new List<int>();
|
|
|
+ int stdLen = indexs[1] - indexs[0] + 1;
|
|
|
|
|
|
- for (int i = 0; i < stdLen; i++)
|
|
|
- {
|
|
|
- stuScore.Add(0);
|
|
|
- }
|
|
|
- subSum.Add(stuScore);
|
|
|
+ for (int i = 0; i < stdLen; i++)
|
|
|
+ {
|
|
|
+ stuScore.Add(0);
|
|
|
}
|
|
|
+ subSum.Add(stuScore);
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- simples.ForEach(s =>
|
|
|
+ simples.ForEach(s =>
|
|
|
+ {
|
|
|
+ Dictionary<string, object> detail = new Dictionary<string, object>
|
|
|
{
|
|
|
- Dictionary<string, object> detail = new Dictionary<string, object>
|
|
|
- {
|
|
|
{ "name", s.Subject }
|
|
|
- };
|
|
|
- subjects.Add(s.Subject);
|
|
|
- subjectList.Add(s.Subject);
|
|
|
+ };
|
|
|
+ subjects.Add(s.Subject);
|
|
|
+ subjectList.Add(s.Subject);
|
|
|
//计算试卷总分
|
|
|
int sum = s.Point.Sum();
|
|
|
//int stuSum = 0;
|
|
|
int classIndex = 0;
|
|
|
- List<string> ClassAverage = new List<string>();
|
|
|
- List<string> Average = new List<string>();
|
|
|
- List<string> passList = new List<string>();
|
|
|
- s.Classes.ForEach(c =>
|
|
|
- {
|
|
|
- List<List<string>> classPRL = new List<List<string>>();
|
|
|
+ List<string> ClassAverage = new List<string>();
|
|
|
+ List<string> Average = new List<string>();
|
|
|
+ List<string> passList = new List<string>();
|
|
|
+ s.Classes.ForEach(c =>
|
|
|
+ {
|
|
|
+ List<List<string>> classPRL = new List<List<string>>();
|
|
|
|
|
|
//初始化班级总分
|
|
|
int classPoint = 0;
|
|
@@ -1321,44 +1320,43 @@ namespace TEAMModelOS.Controllers.Analysis
|
|
|
int counts = 0;
|
|
|
//c.Keys遍历key值
|
|
|
foreach (string key in c.Keys)
|
|
|
- {
|
|
|
- classList.Add(key);
|
|
|
- }
|
|
|
+ {
|
|
|
+ classList.Add(key);
|
|
|
+ }
|
|
|
//每个班级平均分
|
|
|
foreach (int[] value in c.Values)
|
|
|
+ {
|
|
|
+ for (int i = value[0]; i <= value[1]; i++)
|
|
|
{
|
|
|
- for (int i = value[0]; i <= value[1]; i++)
|
|
|
- {
|
|
|
//初始化学生单科个人得分
|
|
|
int stuPoints = s.Result[i].Sum();
|
|
|
|
|
|
- subSum[classIndex][i - value[0]] = stuPoints + subSum[classIndex][i - value[0]];
|
|
|
+ subSum[classIndex][i - value[0]] = stuPoints + subSum[classIndex][i - value[0]];
|
|
|
|
|
|
- classPoint += s.Result[i].Sum();
|
|
|
- coreSum += s.Result[i].Sum();
|
|
|
+ classPoint += s.Result[i].Sum();
|
|
|
+ coreSum += s.Result[i].Sum();
|
|
|
|
|
|
- if (s.Result[i].Sum() == 0)
|
|
|
- {
|
|
|
- classCount++;
|
|
|
- }
|
|
|
+ if (s.Result[i].Sum() == 0)
|
|
|
+ {
|
|
|
+ classCount++;
|
|
|
}
|
|
|
+ }
|
|
|
//每个班级实际参考人数
|
|
|
counts = value[1] - value[0] - classCount + 1;
|
|
|
//stuSum += counts;
|
|
|
points = Convert.ToDouble(classPoint) / counts / sum;
|
|
|
//计算每个班级平均得分
|
|
|
AveragePoints = Convert.ToDouble(classPoint) / counts;
|
|
|
- ClassAverage.Add(points.ToString("0.000"));
|
|
|
- Average.Add(AveragePoints.ToString());
|
|
|
- }
|
|
|
- classIndex += 1;
|
|
|
- });
|
|
|
- SubjectClassAverage.Add(ClassAverage);
|
|
|
- SubjectAverage.Add(Average);
|
|
|
+ ClassAverage.Add(points.ToString("0.000"));
|
|
|
+ Average.Add(AveragePoints.ToString());
|
|
|
+ }
|
|
|
+ classIndex += 1;
|
|
|
+ });
|
|
|
+ SubjectClassAverage.Add(ClassAverage);
|
|
|
+ SubjectAverage.Add(Average);
|
|
|
//subAverage = subjectPoint / ClassAverage.Count();
|
|
|
//subjectAverage.Add(subAverage.ToString("0.00"));
|
|
|
- });
|
|
|
- }
|
|
|
+ });
|
|
|
double core = coreSum / stuCount * weight;
|
|
|
CoreAverage.Add(core);
|
|
|
AllPoint.Add(SubjectClassAverage);
|