Ver Fonte

修正(二)查詢成績統計首頁表資料 補上總評分editScores欄位

upon há 1 ano atrás
pai
commit
466ebfbef7

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

@@ -945,6 +945,24 @@ namespace TEAMModelOS.SDK.Models.Cosmos.School
         /// </summary>
         public int sort { get; set; }
     }
+
+    /// <summary>
+    /// 成績統計列表用資料-總評分
+    /// </summary>
+    public class EditScores
+    {
+        public EditScores()
+        {
+            editScores = new List<double>();
+        }
+        /// <summary>
+        /// 總評分
+        /// </summary>
+        public List<double> editScores { get; set; }        
+    }
+
+    
+
     #region (十四)更新成績統計順序 (十五)更新活動項目順序 (十六)更新活動子項目順序
     /// <summary>
     /// 更新成績統計順序Request

+ 29 - 13
TEAMModelOS/Controllers/Both/ScoreCalcController.cs

@@ -276,7 +276,7 @@ namespace TEAMModelOS.Controllers
                 {
                     members.Add(item);
                 }
-                #endregion
+                #endregion                
 
                 #region ====取得非課堂紀錄的項目資料===
                 string sql_Items = $"SELECT c.id, c.name, c.type, c.attendRate, c.pointRate, c.itactRate, c.rate, c.items, c.itemRates, c.itemRateType, c.score, c.scoreOrg, c.stuActScores, c.stuActScoresOrg, c.editScores, c.sort, c.custom  FROM c where  c.scorecalcId = '{id}' and c.type <> 'lessonrecord' ";
@@ -416,11 +416,27 @@ namespace TEAMModelOS.Controllers
                     scoreCalcAct.Add(scoreCalcActivityActDto);
                 }
                 #endregion
+
+                #region ====取得學生資料===
+                string sql_editScores = $"select c.editScores  from c  where  c.id = '{id}'";
+
+                List<EditScores> editScores = new List<EditScores>();
+
+                await foreach (var item in client.GetItemQueryIterator<EditScores>(queryText: sql_editScores))
+                {
+                    editScores.Add(item);
+                }
+                if (editScores.Count == 0)
+                {
+                    editScores.Add(new EditScores());
+                }
+                #endregion
                 var result = new
                 {
                     members = members,
                     scoreCalcAct = scoreCalcAct,
-                    scoreCalcFunc = scoreCalcFunc
+                    scoreCalcFunc = scoreCalcFunc,
+                    editScores = editScores[0].editScores
                 };
 
                 return Ok(result);
@@ -1248,7 +1264,7 @@ namespace TEAMModelOS.Controllers
                     }
                     //更新
                     scoreCalcActivity = await clientTeacher.ReplaceItemAsync(scoreCalcActivity, $"{scoreCalcActivity.id}", new PartitionKey(scoreCalcActivity.code));
-                }                
+                }
 
                 return Ok(result);
             }
@@ -1925,9 +1941,9 @@ namespace TEAMModelOS.Controllers
                 for (int j = 0; j < lessonBases[i].student.Count; j++)
                 {
                     for (int k = 0; k < members.Count; k++)
-                    {   
+                    {
                         //如果有比對中學生id再把分數設定過來
-                        if (lessonBases[i].student[j].id== members[k].id)
+                        if (lessonBases[i].student[j].id == members[k].id)
                         {
                             lessonBaseCalc.report.clientSummaryList[k] = lessonBases[i].report.clientSummaryList[j];
                         }
@@ -2003,7 +2019,7 @@ namespace TEAMModelOS.Controllers
                 ExamItem examItemCalc = new ExamItem();
                 examItemCalc.examId = examItem[i].examId;
                 examItemCalc.sum = new List<double>();
-                
+
                 // 設定分數的預設值
                 for (int f = 0; f < members.Count; f++)
                 {
@@ -2241,7 +2257,7 @@ namespace TEAMModelOS.Controllers
                     ScoreCalcActivity scoreCalcActivity = await clientTeacher.ReadItemAsync<ScoreCalcActivity>(updateActItemSortRq.scoreCalcActId.ToString(), new PartitionKey($"ScoreCalcAct-{teammodelId}"));
                     scoreCalcActivity.items = setSort(scoreCalcActivity.items, updateActItemSortRq.sortItems);
                     scoreCalcActivity = await clientTeacher.ReplaceItemAsync(scoreCalcActivity, $"{scoreCalcActivity.id}", new PartitionKey(scoreCalcActivity.code));
-                }              
+                }
 
                 var result = new
                 {
@@ -2264,20 +2280,20 @@ namespace TEAMModelOS.Controllers
         /// <param name="sortItems"></param>
         /// <returns></returns>
         private List<ScoreCalcActivityItems> setSort(List<ScoreCalcActivityItems> dbitems, List<sortItem> sortItems)
-        {            
-            for (int i = 0; i < dbitems.Count; i++) 
+        {
+            for (int i = 0; i < dbitems.Count; i++)
             {
                 for (int j = 0; j < sortItems.Count; j++)
                 {
-                    if (dbitems[i].id == sortItems[j].id) 
+                    if (dbitems[i].id == sortItems[j].id)
                     {
                         dbitems[i].sort = sortItems[j].sort;
                     }
                 }
-            }            
+            }
             var newdbitems = from e in dbitems
-                      orderby e.sort
-                      select e;
+                             orderby e.sort
+                             select e;
             List<ScoreCalcActivityItems> scoreCalcActivityItems = new List<ScoreCalcActivityItems>();
             foreach (var dbitem in newdbitems)
             {