Forráskód Böngészése

名字 班级 年级 科目 代码转换

CrazyIter_Bin 4 éve
szülő
commit
7d9e30cbe2

+ 2 - 0
TEAMModelOS.SDK/Models/Cosmos/School/ClassAnalysis.cs

@@ -15,6 +15,7 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
         public int lineCount { get; set; }
         public List<SubjectScore> subjects { get; set; }
         public string classId { get; set; }
+        public string className { get; set; }
         public List<double> total { get; set; }
         public double  totalAverage { get; set; }
         public double standardDeviation { get; set; }
@@ -24,6 +25,7 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
                 averageScore = new List<double>();
             }
             public string id { get; set; }
+            public string name { get; set; }
             public List<double> passPersent { get; set; }
             public List<double> averageScore { get; set; }
 

+ 4 - 2
TEAMModelOS.SDK/Models/Cosmos/School/GradeAnalysis.cs

@@ -13,6 +13,7 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
         }
         //public List<string> subjectId { get; set; }
         public string gradeId { get; set; }
+        public string gradeName { get; set; }
         //public List<double> passPersent { get; set; }
 
         //public List<double> averageScore { get; set; }
@@ -22,11 +23,12 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
         public class GradeSubjectScore
         {
             public GradeSubjectScore() {
-                passPersent = new List<double>();
+                passPercent = new List<double>();
                 averageScore = new List<double>();
             }
+            public string name { get; set; }
             public string id { get; set; }
-            public List<double> passPersent { get; set; }
+            public List<double> passPercent { get; set; }
             public List<double> averageScore { get; set; }
 
         }

+ 3 - 0
TEAMModelOS.SDK/Models/Cosmos/Student/StudentAnalysis.cs

@@ -12,8 +12,10 @@ namespace TEAMModelOS.SDK.Models.Cosmos.Student
             gpr = new List<double>();
             cpr = new List<double>();
             total = new List<double>();
+            names = new List<string>();
         }
         public List<string> ids { get; set; }
+        public List<string> names { get; set; }
         public List<double> gpr { get; set; }
         public List<double> cpr { get; set; }
         public List<Score> scores { get; set; }
@@ -25,6 +27,7 @@ namespace TEAMModelOS.SDK.Models.Cosmos.Student
                 gdpr = new List<double>();
                 gsc = new List<double>();
             }
+            public string subjectName { get; set; }
             public string subjectId { get; set; }
             public List<double> csc { get; set; }
             public List<double> gsc { get; set; }

+ 10 - 2
TEAMModelOS/Controllers/Analysis/AchievementController.cs

@@ -2283,6 +2283,7 @@ namespace TEAMModelOS.Controllers.Analysis
                     List<double> totalClass = new List<double>();
                     ClassAnalysis classAnalysis = new ClassAnalysis();
                     classAnalysis.classId = s;
+
                     var sresponse = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(s, new PartitionKey($"Class-{code}"));
                     if (sresponse.Status == 200)
                     {
@@ -2291,6 +2292,7 @@ namespace TEAMModelOS.Controllers.Analysis
                         classAnalysis.stuCount = classroom.students.Count;
                         foreach (StudentSimple stu in classroom.students)
                         {
+                            analysis.names.Add(stu.name);
                             analysis.ids.Add(stu.id);
                             //计算学生多科考试成绩总分
                             double stuTotal = 0;
@@ -2305,6 +2307,7 @@ namespace TEAMModelOS.Controllers.Analysis
                             totalClass.Add(stuTotal);
                             //total.Add(stuTotal);
                         }
+                        classAnalysis.className = classroom.name;
                     }
                     /* //声明单个班级单科总分
                      double subjectTotal = 0;*/
@@ -2316,6 +2319,7 @@ namespace TEAMModelOS.Controllers.Analysis
                         //记录每个科目数据
                         SubjectScore subjectScore = new SubjectScore();
                         subjectScore.id = sub.id;
+                        subjectScore.name = sub.name;
                         double subjectSum = 0;
                         double passScore = 0;
                         //计算单科评测总分
@@ -2331,6 +2335,7 @@ namespace TEAMModelOS.Controllers.Analysis
                         //存放学生单科记录
                         Score score = new Score();
                         score.subjectId = sub.id;
+                        score.subjectName = sub.name;
                         List<double> subjectTotal = new List<double>();
                         //处理每个班级各个学生各科总分
                         foreach (ExamClassResult result in examClassResults)
@@ -2427,7 +2432,7 @@ namespace TEAMModelOS.Controllers.Analysis
                 List<GradeAnalysis> gradeAnalyses = new List<GradeAnalysis>();
                 if (info.grades.Count > 0) {
                     gradeAnalyses = GetGradeAnalyses(info, examResults, examClassResults, analysis);
-                }                              
+                }
                 return Ok(new { analysis, classAnalyses, gradeAnalyses });
             } catch (Exception e) {
                 await _dingDing.SendBotMsg($"OS,{_option.Location},analysis/getAnalysis()\n{e.Message}", GroupNames.醍摩豆服務運維群組);
@@ -2438,9 +2443,11 @@ namespace TEAMModelOS.Controllers.Analysis
         }
         private List<GradeAnalysis> GetGradeAnalyses(ExamInfo info, List<ExamResult> examResults, List<ExamClassResult> examClassResults,StudentAnalysis analysis) {
             List<GradeAnalysis> gradeAnalyses = new List<GradeAnalysis>();
+           
             info.grades.ForEach(g => {
                 GradeAnalysis gradeAnalysis = new GradeAnalysis();
                 gradeAnalysis.gradeId = g.id;
+                gradeAnalysis.gradeName = g.name;
                 //初始化单个年级总分
                 double gradeScore = 0;
                 info.subjects.ForEach(sub =>
@@ -2454,6 +2461,7 @@ namespace TEAMModelOS.Controllers.Analysis
                     //记录每个科目数据
                     GradeSubjectScore subjectScore = new GradeSubjectScore();
                     subjectScore.id = sub.id;
+                    subjectScore.name = sub.name;
                     double subjectSum = 0;
                     double passScore = 0;
                     //计算单科评测总分
@@ -2497,7 +2505,7 @@ namespace TEAMModelOS.Controllers.Analysis
                             double persentClass = i / (count*1.0);
                             double averageClass = sumClass / (count * 1.0);
                             gradeScore += averageClass;
-                            subjectScore.passPersent.Add(persentClass);
+                            subjectScore.passPercent.Add(persentClass);
                             subjectScore.averageScore.Add(averageClass);
                             gradeAnalysis.subjects.Add(subjectScore);
                             gradeAnalyses.Add(gradeAnalysis);