|
@@ -247,6 +247,20 @@ namespace TEAMModelOS.Controllers.Client
|
|
|
classStuDic.Add(classId, stuCnt);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ Dictionary<string, string> classDic = new Dictionary<string, string>(); //班級年級列表
|
|
|
+ var querycl = $"SELECT c.id, c.gradeId FROM c";
|
|
|
+ await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText: querycl, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{school_code}") }))
|
|
|
+ {
|
|
|
+ var jsoncl = await JsonDocument.ParseAsync(item.ContentStream);
|
|
|
+ foreach (var obj in jsoncl.RootElement.GetProperty("Documents").EnumerateArray())
|
|
|
+ {
|
|
|
+ string classId = obj.GetProperty("id").GetString();
|
|
|
+ string gradeId = obj.GetProperty("gradeId").GetString();
|
|
|
+ classDic.Add(classId, gradeId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Dictionary<string, int> classGrpDic = new Dictionary<string, int>(); //所有班級分組數
|
|
|
var querycgp = $"SELECT Count(1) as grpCnt, c.id FROM c JOIN(SELECT DISTINCT t.groupId FROM t IN c.students WHERE t.groupId != null) GROUP BY c.id";
|
|
|
await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText: querycgp, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{school_code}") }))
|
|
@@ -295,6 +309,7 @@ namespace TEAMModelOS.Controllers.Client
|
|
|
classExtobj.scope = obj.GetProperty("scope").ToString();
|
|
|
classExtobj.stuCnt = (classStuDic.ContainsKey(classIdNow)) ? classStuDic[classIdNow] : 0;
|
|
|
classExtobj.grpCnt = (classGrpDic.ContainsKey(classIdNow)) ? classGrpDic[classIdNow] : 0;
|
|
|
+ classExtobj.gradeId = (classDic.ContainsKey(classIdNow)) ? classDic[classIdNow] : "";
|
|
|
//課程
|
|
|
obj.TryGetProperty("course", out JsonElement courseNow);
|
|
|
string courseIdNow = courseNow.GetProperty("id").ToString();
|