ソースを参照

調整成績統計資料子項目資料類別 / 註解之前試做的成績統計程式 / 新增測試成績統計Controller

upon 2 年 前
コミット
3eb8e5a7d9

+ 63 - 6
TEAMModelOS.SDK/Models/Cosmos/School/ScoreCalc.cs

@@ -385,8 +385,8 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
     {
     {
         public string key { get; set; }
         public string key { get; set; }
         public string val { get; set; }
         public string val { get; set; }
-        public string type { get; set; }
-        public string describe { get; set; }
+        //public string type { get; set; }
+        //public string describe { get; set; }
     }
     }
 
 
     #region API回傳資料用
     #region API回傳資料用
@@ -423,6 +423,13 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
     /// </summary>
     /// </summary>
     public class ScoreCalcActivityActDto : ScoreCalcActDtoBase
     public class ScoreCalcActivityActDto : ScoreCalcActDtoBase
     {
     {
+        public ScoreCalcActivityActDto()
+        {
+            items = new List<SubActActivity>();
+        }
+        /// <summary>
+        /// 活動子項目資料列表
+        /// </summary>
         public List<SubActActivity> items { get; set; }
         public List<SubActActivity> items { get; set; }
     }
     }
     /// <summary>
     /// <summary>
@@ -430,36 +437,72 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
     /// </summary>
     /// </summary>
     public class ScoreCalcLsRecordActDto : ScoreCalcActDtoBase
     public class ScoreCalcLsRecordActDto : ScoreCalcActDtoBase
     {
     {
+        public ScoreCalcLsRecordActDto()
+        {
+            items = new List<SubActLsRecord>();
+            attendStates = new List<AttendStatesCalc>();
+        }
+        /// <summary>
+        /// 出席占比重
+        /// </summary>
         public double attendRate { get; set; }
         public double attendRate { get; set; }
+        /// <summary>
+        /// 記分板占比重
+        /// </summary>
         public double pointRate { get; set; }
         public double pointRate { get; set; }
+        /// <summary>
+        /// 互動占比重
+        /// </summary>
         public double itactRate { get; set; }
         public double itactRate { get; set; }
+        /// <summary>
+        /// 出席公式
+        /// </summary>
         public string stuAttendFunctionId { get; set; }
         public string stuAttendFunctionId { get; set; }
+        /// <summary>
+        /// 記分公式
+        /// </summary>
         public string stuPointFunctionId { get; set; }
         public string stuPointFunctionId { get; set; }
+        /// <summary>
+        /// 互動公式
+        /// </summary>
         public string stuItactFunctionId { get; set; }
         public string stuItactFunctionId { get; set; }
+        /// <summary>
+        /// 出席狀態統計資料
+        /// </summary>
         public List<AttendStatesCalc> attendStates { get; set; }
         public List<AttendStatesCalc> attendStates { get; set; }
+        /// <summary>
+        /// 子項目資料列表
+        /// </summary>
         public List<SubActLsRecord> items { get; set; }
         public List<SubActLsRecord> items { get; set; }
     }
     }
     /// <summary>
     /// <summary>
     /// 統計出席狀態
     /// 統計出席狀態
+    /// Uncall,0(未點名)
+    /// Attended,1(出席)
+    /// Absent,2(缺席)
+    /// DayOff,3(請假)
+    /// Absent_Sick,4(病假)
+    /// Absent_Personal,5(事假)
+    /// Absent_Official,6(公假)
     /// </summary>
     /// </summary>
     public class AttendStatesCalc
     public class AttendStatesCalc
     {
     {
         /// <summary>
         /// <summary>
         /// 病假次數
         /// 病假次數
         /// </summary>
         /// </summary>
-        public int sickLeave { get; set; }
+        public int Absent_Sick { get; set; }
         /// <summary>
         /// <summary>
         /// 缺席次數
         /// 缺席次數
         /// </summary>
         /// </summary>
-        public int absent { get; set; }
+        public int Absent { get; set; }
         /// <summary>
         /// <summary>
         /// 事假次數
         /// 事假次數
         /// </summary>
         /// </summary>
-        public int personalLeave { get; set; }
+        public int Absent_Personal { get; set; }
         /// <summary>
         /// <summary>
         /// 公假次數
         /// 公假次數
         /// </summary>
         /// </summary>
-        public int publicLeave { get; set; }
+        public int Absent_Official { get; set; }
     }
     }
     /// <summary>
     /// <summary>
     /// 子項目欄位的Base
     /// 子項目欄位的Base
@@ -509,5 +552,19 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
         /// </summary>
         /// </summary>
         public List<double> stuActItactScores { get; set; }        
         public List<double> stuActItactScores { get; set; }        
     }
     }
+    /// <summary>
+    /// 成績統計列表用資料
+    /// </summary>
+    public class Calc
+    {
+        /// <summary>
+        /// 成績統計id
+        /// </summary>
+        public string id { get; set; }
+        /// <summary>
+        /// 成績統計名稱
+        /// </summary>
+        public string name { get; set; }
+    }
     #endregion
     #endregion
 }
 }

+ 70 - 70
TEAMModelOS/Controllers/Both/ScoreCalcController.cs

@@ -54,78 +54,78 @@ namespace TEAMModelOS.Controllers
         {
         {
             try
             try
             {
             {
-                var client = _azureCosmos.GetCosmosClient();
-                //總覽
-                ScoreCalcBase scoreCalcBase = new ScoreCalcBase();
-                string tmid = "1595321354";
-                scoreCalcBase.id = "8f25d7b4-79bd-4448-baaf-01b0d3d3efd9";
-                scoreCalcBase.name = "測試成績001";
-                scoreCalcBase.code = $"ScoreCalc-{tmid}";
-                scoreCalcBase.courseId = "a6d778e8-e4f0-46a3-850f-c15daedc5d94";
-                scoreCalcBase.classId = "b069d9d4-ef7e-4f3e-ac62-532b11f95b80";
-                ScoreCalcMember member1 = new ScoreCalcMember() { id = "20230001" , name = "學生1" , no = "1"};
-                ScoreCalcMember member2 = new ScoreCalcMember() { id = "20230002", name = "學生2", no = "2" };
-                scoreCalcBase.members.Add(member1);
-                scoreCalcBase.members.Add(member2);
-                scoreCalcBase.scores.Add(65.5);
-                scoreCalcBase.scores.Add(73.8);
-                scoreCalcBase.scoresOrg.Add(66.7);
-                scoreCalcBase.scoresOrg.Add(71.4);
-                scoreCalcBase.rateType = "percentage";
-                await client.GetContainer(Constant.TEAMModelOS, "Teacher").UpsertItemAsync(scoreCalcBase, new PartitionKey($"ScoreCalc-{tmid}"));
+                //var client = _azureCosmos.GetCosmosClient();
+                ////總覽
+                //ScoreCalcBase scoreCalcBase = new ScoreCalcBase();
+                //string tmid = "1595321354";
+                //scoreCalcBase.id = "8f25d7b4-79bd-4448-baaf-01b0d3d3efd9";
+                //scoreCalcBase.name = "測試成績001";
+                //scoreCalcBase.code = $"ScoreCalc-{tmid}";
+                //scoreCalcBase.courseId = "a6d778e8-e4f0-46a3-850f-c15daedc5d94";
+                //scoreCalcBase.classId = "b069d9d4-ef7e-4f3e-ac62-532b11f95b80";
+                //ScoreCalcMember member1 = new ScoreCalcMember() { id = "20230001" , name = "學生1" , no = "1"};
+                //ScoreCalcMember member2 = new ScoreCalcMember() { id = "20230002", name = "學生2", no = "2" };
+                //scoreCalcBase.members.Add(member1);
+                //scoreCalcBase.members.Add(member2);
+                //scoreCalcBase.scores.Add(65.5);
+                //scoreCalcBase.scores.Add(73.8);
+                //scoreCalcBase.scoresOrg.Add(66.7);
+                //scoreCalcBase.scoresOrg.Add(71.4);
+                //scoreCalcBase.rateType = "percentage";
+                //await client.GetContainer(Constant.TEAMModelOS, "Teacher").UpsertItemAsync(scoreCalcBase, new PartitionKey($"ScoreCalc-{tmid}"));
 
 
-                //評量
-                ScoreCalcActivity scoreCalcActivity = new ScoreCalcActivity();
-                scoreCalcActivity.id = "bd492c0c-c6d5-472d-9b3a-93196d3a7010";
-                scoreCalcActivity.code = $"ScoreCalcAct-{tmid}";
-                scoreCalcActivity.scorecalcId = "8f25d7b4-79bd-4448-baaf-01b0d3d3efd9";
-                scoreCalcActivity.type = "exam";
-                ScoreCalcActivityItems exam1 = new ScoreCalcActivityItems(); //被選取的第一個評量
-                exam1.id = "af6cc80f-a4be-4a5f-94ff-12c1fd366a8f";
-                exam1.name = "第一次小考";
-                exam1.code = "Exam-1595321354";
-                exam1.scope = "school";
-                exam1.owner = "teacher";
-                exam1.progress = "finish";
-                exam1.sStatus = 1;
-                exam1.source = "1";
-                exam1.createTime = 1623919622766;
-                scoreCalcActivity.items.Add(exam1);
-                ScoreCalcActivityItems exam2 = new ScoreCalcActivityItems(); //被選取的第二個評量
-                exam2.id = "b3f95a17-b839-4b9a-84de-76c83d0e2845";
-                exam2.name = "第二次小考";
-                exam2.code = "Exam-1595321354";
-                exam2.scope = "private";
-                exam2.owner = "teacher";
-                exam2.progress = "finish";
-                exam2.sStatus = 1;
-                exam2.source = "1";
-                exam2.createTime = 1623204312794;
-                scoreCalcActivity.items.Add(exam2);
-                scoreCalcActivity.itemRates.Add(2); //第一個評量權重
-                scoreCalcActivity.itemRates.Add(1); //第二個評量權重
-                scoreCalcActivity.itemRateType = "count";
-                scoreCalcActivity.itemScores.Add(76.2);
-                scoreCalcActivity.itemScores.Add(81.1);
-                scoreCalcActivity.itemScoresOrg.Add(72.6);
-                scoreCalcActivity.itemScoresOrg.Add(80.7);
-                scoreCalcActivity.score = 78.2;
-                scoreCalcActivity.scoreOrg = 77.5;
-                scoreCalcActivity.rate = 40; //評量的總加權 = 40%
-                List<double> stuScores = new List<double>() { 70.1, 73.5 }; //第一個學生的所有評量總成績,第二個同學...
-                scoreCalcActivity.stuScores = stuScores;
-                List<double> examScore1 = new List<double>() { 73.2, 69.7 }; //第一個評量,第一位同學73.2 第二位同學69.7
-                scoreCalcActivity.stuActScores.Add(examScore1);
-                List<double> examScore2 = new List<double>() { 81.6, 58.1 }; //第二個評量
-                scoreCalcActivity.stuActScores.Add(examScore2);
-                List<double> examScore1Org = new List<double>() { 73.2, 69.7 };
-                scoreCalcActivity.stuActScoresOrg.Add(examScore1Org);
-                List<double> examScore2Org = new List<double>() { 81.6, 58.1 };
-                scoreCalcActivity.stuActScoresOrg.Add(examScore2Org);
-                await client.GetContainer(Constant.TEAMModelOS, "Teacher").UpsertItemAsync(scoreCalcActivity, new PartitionKey($"ScoreCalcAct-{tmid}"));
+                ////評量
+                //ScoreCalcActivity scoreCalcActivity = new ScoreCalcActivity();
+                //scoreCalcActivity.id = "bd492c0c-c6d5-472d-9b3a-93196d3a7010";
+                //scoreCalcActivity.code = $"ScoreCalcAct-{tmid}";
+                //scoreCalcActivity.scorecalcId = "8f25d7b4-79bd-4448-baaf-01b0d3d3efd9";
+                //scoreCalcActivity.type = "exam";
+                //ScoreCalcActivityItems exam1 = new ScoreCalcActivityItems(); //被選取的第一個評量
+                //exam1.id = "af6cc80f-a4be-4a5f-94ff-12c1fd366a8f";
+                //exam1.name = "第一次小考";
+                //exam1.code = "Exam-1595321354";
+                //exam1.scope = "school";
+                //exam1.owner = "teacher";
+                //exam1.progress = "finish";
+                //exam1.sStatus = 1;
+                //exam1.source = "1";
+                //exam1.createTime = 1623919622766;
+                //scoreCalcActivity.items.Add(exam1);
+                //ScoreCalcActivityItems exam2 = new ScoreCalcActivityItems(); //被選取的第二個評量
+                //exam2.id = "b3f95a17-b839-4b9a-84de-76c83d0e2845";
+                //exam2.name = "第二次小考";
+                //exam2.code = "Exam-1595321354";
+                //exam2.scope = "private";
+                //exam2.owner = "teacher";
+                //exam2.progress = "finish";
+                //exam2.sStatus = 1;
+                //exam2.source = "1";
+                //exam2.createTime = 1623204312794;
+                //scoreCalcActivity.items.Add(exam2);
+                //scoreCalcActivity.itemRates.Add(2); //第一個評量權重
+                //scoreCalcActivity.itemRates.Add(1); //第二個評量權重
+                //scoreCalcActivity.itemRateType = "count";
+                //scoreCalcActivity.itemScores.Add(76.2);
+                //scoreCalcActivity.itemScores.Add(81.1);
+                //scoreCalcActivity.itemScoresOrg.Add(72.6);
+                //scoreCalcActivity.itemScoresOrg.Add(80.7);
+                ////scoreCalcActivity.score = 78.2;
+                ////scoreCalcActivity.scoreOrg = 77.5;
+                //scoreCalcActivity.rate = 40; //評量的總加權 = 40%
+                //List<double> stuScores = new List<double>() { 70.1, 73.5 }; //第一個學生的所有評量總成績,第二個同學...
+                //scoreCalcActivity.stuScores = stuScores;
+                //List<double> examScore1 = new List<double>() { 73.2, 69.7 }; //第一個評量,第一位同學73.2 第二位同學69.7
+                //scoreCalcActivity.stuActScores.Add(examScore1);
+                //List<double> examScore2 = new List<double>() { 81.6, 58.1 }; //第二個評量
+                //scoreCalcActivity.stuActScores.Add(examScore2);
+                //List<double> examScore1Org = new List<double>() { 73.2, 69.7 };
+                //scoreCalcActivity.stuActScoresOrg.Add(examScore1Org);
+                //List<double> examScore2Org = new List<double>() { 81.6, 58.1 };
+                //scoreCalcActivity.stuActScoresOrg.Add(examScore2Org);
+                //await client.GetContainer(Constant.TEAMModelOS, "Teacher").UpsertItemAsync(scoreCalcActivity, new PartitionKey($"ScoreCalcAct-{tmid}"));
 
 
-                //課堂紀錄
-                ScoreCalcLsRecord scoreCalcLsRecord = new ScoreCalcLsRecord();
+                ////課堂紀錄
+                //ScoreCalcLsRecord scoreCalcLsRecord = new ScoreCalcLsRecord();
 
 
                 return Ok(new { status = 200 });
                 return Ok(new { status = 200 });
             }
             }