Li 2 years ago
parent
commit
f14468a8b4

+ 18 - 3
TEAMModelBI/Controllers/Census/SchoolController.cs

@@ -1039,7 +1039,13 @@ namespace TEAMModelBI.Controllers.Census
             var (yearS, yearE) = TimeHelper.GetStartOrEnd(dateTime, "year");         //计算今年开始/结束时间
             var (yearS, yearE) = TimeHelper.GetStartOrEnd(dateTime, "year");         //计算今年开始/结束时间
 
 
             string sql = "select value(count(c.id)) from c ";
             string sql = "select value(count(c.id)) from c ";
-            int areaCnt = await JointlySingleQuery.GetValueInt(cosmosClient, "Normal", "Base-Area", sql);
+            List<EasyInfo> easyInfos = new();
+            await foreach (var item in cosmosClient.GetContainer(Constant.TEAMModelOS, "Normal").GetItemQueryIterator<EasyInfo>(queryText: $"select c.id,c.code,c.name from c", requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base-Area") }))
+            {
+                easyInfos.Add(item);
+            }
+
+
             int scCnt = await JointlySingleQuery.GetValueInt(cosmosClient, "Normal", "Base", sql);
             int scCnt = await JointlySingleQuery.GetValueInt(cosmosClient, "Normal", "Base", sql);
             int scWeekCnt = await JointlySingleQuery.GetValueInt(cosmosClient, "Normal", "Base", $"{sql} where c.createTime >= {weekS} and c.createTime <= {weekE}");
             int scWeekCnt = await JointlySingleQuery.GetValueInt(cosmosClient, "Normal", "Base", $"{sql} where c.createTime >= {weekS} and c.createTime <= {weekE}");
             int scMonthCnt = await JointlySingleQuery.GetValueInt(cosmosClient, "Normal", "Base", $"{sql} where c.createTime >= {mthS} and c.createTime <= {mthE}");
             int scMonthCnt = await JointlySingleQuery.GetValueInt(cosmosClient, "Normal", "Base", $"{sql} where c.createTime >= {mthS} and c.createTime <= {mthE}");
@@ -1048,13 +1054,13 @@ namespace TEAMModelBI.Controllers.Census
             {
             {
                 statsInfos.Add(item);
                 statsInfos.Add(item);
             }
             }
-            var areaGroup = statsInfos.GroupBy(p => p.areaId).Select(s => new { areaId = s.Key, lessAct = (s.Select(sl => sl.lesson.all).Sum() + s.Select(sa => sa.activity.all).Sum()), lessCnt = s.Select(sl => sl.lesson.all).Sum(), actCnt = s.Select(sa => sa.activity.all).Sum() }).ToList();            
+            List<AreaInfoStats> areaGroup = statsInfos.GroupBy(p => p.areaId).Select(s => new AreaInfoStats() { areaId = s.Key, name = easyInfos.Where(f => f.id.Equals(s.Key)).Select(sn=>sn.name).FirstOrDefault(), lessAct = (s.Select(sl => sl.lesson.all).Sum() + s.Select(sa => sa.activity.all).Sum()), lessCnt = s.Select(sl => sl.lesson.all).Sum(), actCnt = s.Select(sa => sa.activity.all).Sum() }).ToList();
 
 
             StatsInfo statsInfo = null;
             StatsInfo statsInfo = null;
             statsInfo = SchoolStatsWay.GetAreaStats(cosmosClient, _httpTrigger, _option, statsInfos);
             statsInfo = SchoolStatsWay.GetAreaStats(cosmosClient, _httpTrigger, _option, statsInfos);
             if (statsInfo != null)
             if (statsInfo != null)
             {
             {
-                allScStats.areaCnt = areaCnt;
+                allScStats.areaCnt = easyInfos.Count;
                 allScStats.sc = statsInfos.Count;
                 allScStats.sc = statsInfos.Count;
                 allScStats.weekSc = scWeekCnt;
                 allScStats.weekSc = scWeekCnt;
                 allScStats.monthSc = scMonthCnt;
                 allScStats.monthSc = scMonthCnt;
@@ -1306,6 +1312,15 @@ namespace TEAMModelBI.Controllers.Census
 
 
         }
         }
 
 
+        public record AreaInfoStats
+        {
+            public string areaId { get; set; }
+            public string name { get; set; }
+            public int lessAct { get; set; }
+            public int lessCnt { get; set; }
+            public int actCnt { get; set; }
+        }
+
         /// <summary>
         /// <summary>
         /// 课例活动数据
         /// 课例活动数据
         /// </summary>
         /// </summary>

+ 8 - 0
TEAMModelBI/Models/RearEndMiddle.cs

@@ -18,4 +18,12 @@
 
 
         public string areaId { get; set; }
         public string areaId { get; set; }
     }
     }
+
+
+    public record EasyInfo
+    {
+        public string id { get; set; }
+        public string code { get; set; }
+        public string name { get; set; }
+    }
 }
 }