Browse Source

(二)查詢成績統計首頁表資料學生加上irs欄位

upon 1 year ago
parent
commit
2e43d85dbb

+ 4 - 0
TEAMModelOS.SDK/Models/Cosmos/School/ScoreCalc.cs

@@ -261,6 +261,10 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
         /// 座號
         /// </summary>
         public string no { get; set; }
+        /// <summary>
+        /// IRS號碼
+        /// </summary>
+        public string irs { get; set; }
     }
 
     /// <summary>

+ 22 - 3
TEAMModelOS/Controllers/Both/ScoreCalcController.cs

@@ -261,21 +261,40 @@ namespace TEAMModelOS.Controllers
             try
             {
                 if (!request.TryGetProperty("id", out JsonElement id)) return BadRequest();
-                //var client = _azureCosmos.GetCosmosClient();                
+                var clientStudent = _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Student);                            
                 var client = _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher);
 
                 #region ====取得學生資料===
                 string sql = $"select b.id, b.name, b.no  from c join b in c.members where  c.id = '{id}'";
 
                 List<ScoreCalcMember> members = new List<ScoreCalcMember>();
+                List<ScoreCalcMember> memberirs = new List<ScoreCalcMember>();
                 List<Object> scoreCalcAct = new List<Object>();
                 List<ScoreCalcFunc> scoreCalcFunc = new List<ScoreCalcFunc>();
-
-
+                StringBuilder sb = new StringBuilder();
                 await foreach (var item in client.GetItemQueryIterator<ScoreCalcMember>(queryText: sql))
                 {
                     members.Add(item);
+                    sb.Append($"'{item.id}',");
+                }
+                // 取此學生irs號碼
+                string sql_members = $"SELECT c.id, c.irs FROM c WHERE c.id in ({sb.ToString().Remove(sb.Length - 1, 1)})";
+                await foreach (var item in clientStudent.GetItemQueryIterator<ScoreCalcMember>(queryText: sql_members))
+                {
+                    memberirs.Add(item);
                 }
+                for (int i = 0; i < members.Count; i++) 
+                {
+                    for (int j = 0; j < memberirs.Count; j++)
+                    {
+                        if (members[i].id == memberirs[j].id) 
+                        {
+                            members[i].irs = memberirs[j].irs;
+                        }
+
+                    }
+                }             
+               
                 #endregion                
 
                 #region ====取得非課堂紀錄的項目資料===