CrazyIter_Bin 9 месяцев назад
Родитель
Сommit
2e080b203a

+ 70 - 3
TEAMModelOS.Extension/HTEX.Test/Controllers/LessonRecordController.cs

@@ -426,17 +426,53 @@ namespace HTEX.Test.Controllers
         /// <returns></returns>
         public async Task<dynamic> GetExamData(LessonRecord lessonRecord, LessonBase lessonBase, TimeLineData timeLineData, List<ExamData> examDatas, List<StudentLessonData> studentLessonDatas) 
         {
+            foreach (var examData in examDatas) 
+            {
+                var allocation=  examData?.exam?.papers?.SelectMany(x => x.point).Sum();
+                examData?.examClassResult?.ForEach(item =>{ 
+                
+                    
+                });
+            }
             return null;
         }
-
+        /// <summary>
+        /// 协作参与率 态度计算
+        /// </summary>
+        /// <param name="lessonRecord"></param>
+        /// <param name="lessonBase"></param>
+        /// <param name="timeLineData"></param>
+        /// <param name="coworkDatas"></param>
+        /// <param name="studentLessonDatas"></param>
+        /// <returns></returns>
         public async Task<dynamic> GetCoworkData(LessonRecord lessonRecord, LessonBase lessonBase, TimeLineData timeLineData, List<CoworkData> coworkDatas, List<StudentLessonData> studentLessonDatas)
         {
             return Ok(lessonRecord);
         }
+
+        /// <summary>
+        /// 处理学生回推数据,并将回推纳入学习态度计算。
+        /// </summary>
+        /// <param name="lessonRecord"></param>
+        /// <param name="lessonBase"></param>
+        /// <param name="timeLineData"></param>
+        /// <param name="taskDatas"></param>
+        /// <param name="studentLessonDatas"></param>
+        /// <returns></returns>
         public async Task<dynamic> GetTaskData(LessonRecord lessonRecord, LessonBase lessonBase, TimeLineData timeLineData, List<TaskData> taskDatas, List<StudentLessonData> studentLessonDatas)
         {
             return Ok(lessonRecord);
         }
+
+        /// <summary>
+        /// 评分参与率 态度计算
+        /// </summary>
+        /// <param name="lessonRecord"></param>
+        /// <param name="lessonBase"></param>
+        /// <param name="timeLineData"></param>
+        /// <param name="smartRatingDatas"></param>
+        /// <param name="studentLessonDatas"></param>
+        /// <returns></returns>
         public async Task<dynamic> GetSmartRatingData(LessonRecord lessonRecord, LessonBase lessonBase, TimeLineData timeLineData, List<SmartRatingData> smartRatingDatas, List<StudentLessonData> studentLessonDatas)
         {
             return Ok(lessonRecord);
@@ -492,10 +528,41 @@ namespace HTEX.Test.Controllers
         /// 互动积分记录[-1,0,10]
         /// </summary>
         public List<InteractRecord> interactRecords { get; set; } = new List<InteractRecord>();
+        /// <summary>
+        /// 学生评测记录相关
+        /// </summary>
+        public List<StudentExamRecord> examRecords { get; set; } = new List<StudentExamRecord>();
     }
+    /// <summary>
+    /// 学生课中评测记录
+    /// </summary>
     public class StudentExamRecord
     {
-
+        /// <summary>
+        /// 作答率0 未作答,1,所有题目作答,小数点则表示部分作答。 可纳入学习态度计算,  主观题需要确认 是否会在此写入答案。
+        /// </summary>
+        public int  answerRate{ get; set; }
+        /// <summary>
+        /// 评测得分
+        /// </summary>
+        public double score { get; set;}
+        /// <summary>
+        /// 评测id
+        /// </summary>
+        public string? examId { get; set; }
+        /// <summary>
+        /// 得分率
+        /// </summary>
+        public double scoreRate { get; set; }
+        /// <summary>
+        /// 配分
+        /// </summary>
+      //  public double allocation { get; set; }
+        /// <summary> 
+        /// 暂不计算
+        /// 每个题的得分情况
+        /// </summary>
+        // public List<double> itemScores { get; set; } = new List<double>();
     }
 
     public class InteractRecord
@@ -510,7 +577,7 @@ namespace HTEX.Test.Controllers
         public string? interactType { get; set; }
 
         /// <summary>
-        /// 互动结果状态
+        /// 互动结果状态,纳入学习状态计算
         /// </summary>
         public InteractStatus status { get; set; }
     }

+ 12 - 7
TEAMModelOS.SDK/Models/Cosmos/Common/ExamClassResult.cs

@@ -59,13 +59,18 @@ namespace TEAMModelOS.SDK.Models
         public List<int> fpc { get; set; } = new List<int>();
         public List<string> paper { get; set; }= new List<string>();
     }
-/*    public class PaperSimple {
-        public string id { get; set; }
-        public string name { get; set; }
-        public string code { get; set; }
-        public string blob { get; set; }
-        public string scope { get; set; }
-    }*/
+    //ExamClassResult 學生作答紀錄
+    public class ExamClassResultStudentAnswerArray : ExamClassResult
+    {
+        public List<List<string>> studentAnswersArray { get; set; }
+    }
+    /*    public class PaperSimple {
+            public string id { get; set; }
+            public string name { get; set; }
+            public string code { get; set; }
+            public string blob { get; set; }
+            public string scope { get; set; }
+        }*/
     public class ClassInfo {
         public string id { get; set; }
         public string name { get; set; }

+ 1 - 1
TEAMModelOS.SDK/Models/Cosmos/Common/LessonRecord.cs

@@ -579,7 +579,7 @@ namespace TEAMModelOS.SDK.Models
     public class ExamData 
     {
         public ExamInfo exam { get; set; }
-       public List<ExamClassResult> examClassResult { get; set; }
+        public List<ExamClassResultStudentAnswerArray> examClassResult { get; set; } = new List<ExamClassResultStudentAnswerArray>();
     }
     /// <summary>
     /// IRS.json

+ 1 - 5
TEAMModelOS/Controllers/Client/HiTeachController.cs

@@ -4503,11 +4503,7 @@ namespace TEAMModelOS.Controllers.Client
         {
             public List<List<List<string>>> studentAnswersArray { get; set; }
         }
-        //ExamClassResult 學生作答紀錄
-        public class ExamClassResultStudentAnswerArray : ExamClassResult
-        {
-            public List<List<string>> studentAnswersArray { get; set; }
-        }
+       
         //get-teacher-info API輸出 schools
         private class GetTeacherInfoApiSchool
         {