Prechádzať zdrojové kódy

优化统计当前学期的数量,顾问相关连的统计数据相同的问题

Li 3 rokov pred
rodič
commit
c54e1ef620

+ 14 - 1
TEAMModelBI/Controllers/Census/PaperController.cs

@@ -242,7 +242,20 @@ namespace TEAMModelBI.Controllers.BISchool
                     SchoolPaper schoolPaper = new SchoolPaper() { id = schoolId, name = school != null ? school.name : schoolId };
 
                     string sqlTxt = $"select count(c.id) AS totals from c where c.createTime >={start} and c.createTime <={end}";
-                    schoolPaper.totals = await CommonFind.FindTotals(cosmosClient, sqlTxt, new List<string>() { "School" });
+
+                    await foreach (var item in cosmosClient.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText:sqlTxt.ToString(),requestOptions:new QueryRequestOptions() { PartitionKey = new PartitionKey($"Paper-{schoolId}")}))
+                    {
+                        using var json = await JsonDocument.ParseAsync(item.ContentStream);
+                        if (json.RootElement.TryGetProperty("_count", out JsonElement count) && count.GetInt32() > 0)
+                        {
+                            foreach (var obj in json.RootElement.GetProperty("Documents").EnumerateArray())
+                            {
+                                schoolPaper.totals += obj.GetProperty("totals").GetInt64();
+                            }
+                        }
+                    }
+
+                    //schoolPaper.totals = await CommonFind.FindTotals(cosmosClient, sqlTxt, new List<string>() { "School" });
 
                     schoolPapers.Add(schoolPaper);
                 }