Li 2 年之前
父节点
当前提交
33b9ebc06e

+ 4 - 4
TEAMModelBI/Controllers/BITest/TestController.cs

@@ -2030,10 +2030,10 @@ namespace TEAMModelBI.Controllers.BITest
                     else
                         statsInfo.lesson.dayInter = 0;
 
-                    if (monthS <= statsInfo.lesson.upTime && statsInfo.lesson.upTime <= monthE)
-                        statsInfo.lesson.monthInter += interaction.GetInt32();
-                    else
-                        statsInfo.lesson.monthInter = 0;
+                    //if (monthS <= statsInfo.lesson.upTime && statsInfo.lesson.upTime <= monthE)
+                    //    statsInfo.lesson.monthInter += interaction.GetInt32();
+                    //else
+                    //    statsInfo.lesson.monthInter = 0;
 
                     if (lastWeekS <= statsInfo.activity.upTime && statsInfo.activity.upTime <= lastWeekE)
                     {

+ 124 - 10
TEAMModelBI/Controllers/Census/SchoolController.cs

@@ -567,8 +567,8 @@ namespace TEAMModelBI.Controllers.Census
                     scStats.lessStats.term = statsInfo.lesson.term;
                     scStats.lessStats.lastDayInter = statsInfo.lesson.lastDayInter;
                     scStats.lessStats.dayInter = statsInfo.lesson.dayInter;
-                    scStats.lessStats.lastMonthInter = statsInfo.lesson.lastMonthInter;
-                    scStats.lessStats.monthInter = statsInfo.lesson.monthInter;
+                    //scStats.lessStats.lastMonthInter = statsInfo.lesson.lastMonthInter;
+                    //scStats.lessStats.monthInter = statsInfo.lesson.monthInter;
                     scStats.lessStats.lastYearInter = statsInfo.lesson.lastYearInter;
                     scStats.lessStats.yearInter = statsInfo.lesson.yearInter;
                     scStats.lessStats.yearInters = TimeHelper.GetYearMonth(statsInfo.lesson.yearInters, dateTime.Year, dateTime.Month);
@@ -747,8 +747,8 @@ namespace TEAMModelBI.Controllers.Census
                 areaScStats.lessStats.term = statsInfo.lesson.term;
                 areaScStats.lessStats.lastDayInter = statsInfo.lesson.lastDayInter;
                 areaScStats.lessStats.dayInter = statsInfo.lesson.dayInter;
-                areaScStats.lessStats.lastMonthInter = statsInfo.lesson.lastMonthInter;
-                areaScStats.lessStats.monthInter = statsInfo.lesson.monthInter;
+                //areaScStats.lessStats.lastMonthInter = statsInfo.lesson.lastMonthInter;
+                //areaScStats.lessStats.monthInter = statsInfo.lesson.monthInter;
                 areaScStats.lessStats.lastYearInter = statsInfo.lesson.lastYearInter;
                 areaScStats.lessStats.yearInter = statsInfo.lesson.yearInter;
                 areaScStats.lessStats.yearInters = TimeHelper.GetYearMonth(statsInfo.lesson.yearInters, dateTime.Year, dateTime.Month);
@@ -829,6 +829,84 @@ namespace TEAMModelBI.Controllers.Census
             return Ok(new { state = RespondCode.Ok, allCnt = scInfos.Count, scInfos });
         }
 
+        [ProducesDefaultResponseType]
+        [HttpPost("get-allscstats")]
+        public async Task<IActionResult> GetAllAreaStats (JsonElement jsonElement)
+        {
+            var cosmosClient = _azureCosmos.GetCosmosClient();
+
+            AllScStats allScStats = new();
+            List<StatsInfo> statsInfos = new();
+            DateTimeOffset dateTime = DateTimeOffset.UtcNow;
+
+            await foreach (var item in cosmosClient.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIterator<StatsInfo>(queryText: $"select value(c) from c", requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Statistics") }))
+            {
+                statsInfos.Add(item);
+            }
+            var areaCnt = statsInfos.GroupBy(g => g.areaId).ToList().Select(s=>s.Where(w=>w.areaId.Equals(s.Key)));
+
+            StatsInfo statsInfo = null;
+            statsInfo = SchoolStatsWay.GetAreaStats(cosmosClient, _httpTrigger, _option, statsInfos);
+            if (statsInfo != null)
+            {
+                allScStats.tch = statsInfo.tch;
+                allScStats.dayTch = statsInfo.dayTch;
+                allScStats.weekTch = statsInfo.weekTch;
+                allScStats.monthTch = statsInfo.monthTch;
+                allScStats.stu = statsInfo.stu;
+                allScStats.dayStu = statsInfo.dayStu;
+                allScStats.weekStu = statsInfo.weekStu;
+                allScStats.monthStu = statsInfo.monthStu;
+                allScStats.room = statsInfo.room;
+                allScStats.witRoom = statsInfo.witRoom;
+                allScStats.size = statsInfo.size;
+                allScStats.scCreateTime = statsInfo.scCreateTime;
+                allScStats.upTime = statsInfo.upTime;
+                allScStats.lessStats.open = statsInfo.lesson.all;
+                allScStats.lessStats.open = statsInfo.lesson.open;
+                allScStats.lessStats.less = statsInfo.lesson.less;
+                allScStats.lessStats.lastDay = statsInfo.lesson.lastDay;
+                allScStats.lessStats.day = statsInfo.lesson.day;
+                allScStats.lessStats.lastWeek = statsInfo.lesson.lastWeek;
+                allScStats.lessStats.week = statsInfo.lesson.week;
+                allScStats.lessStats.lastTerm = statsInfo.lesson.lastTerm;
+                allScStats.lessStats.term = statsInfo.lesson.term;
+                allScStats.lessStats.lastDayInter = statsInfo.lesson.lastDayInter;
+                allScStats.lessStats.dayInter = statsInfo.lesson.dayInter;
+                //allScStats.lessStats.lastMonthInter = statsInfo.lesson.lastMonthInter;
+                //allScStats.lessStats.monthInter = statsInfo.lesson.monthInter;
+                allScStats.lessStats.lastYearInter = statsInfo.lesson.lastYearInter;
+                allScStats.lessStats.yearInter = statsInfo.lesson.yearInter;
+                allScStats.actStats.all = statsInfo.activity.all;
+                allScStats.actStats.exam = statsInfo.activity.exam;
+                allScStats.actStats.survey = statsInfo.activity.survey;
+                allScStats.actStats.vote = statsInfo.activity.vote;
+                allScStats.actStats.homework = statsInfo.activity.homework;
+                allScStats.actStats.lastDay = statsInfo.activity.lastDay;
+                allScStats.actStats.dayCnt = statsInfo.activity.dayCnt;
+                allScStats.actStats.lastWeek = statsInfo.activity.lastWeek;
+                allScStats.actStats.week = statsInfo.activity.week;
+                allScStats.actStats.lastTerm = statsInfo.activity.lastTerm;
+                allScStats.actStats.term = statsInfo.activity.term;
+                if (statsInfo.study != null)
+                {
+                    allScStats.srStats.learnTime = statsInfo.study.learnTime;
+                    allScStats.srStats.online = statsInfo.study.online;
+                    allScStats.srStats.offline = statsInfo.study.offline;
+                    allScStats.srStats.classRoom = statsInfo.study.classRoom;
+                    allScStats.srStats.submit = statsInfo.study.submit;
+                    allScStats.srStats.notStarted = statsInfo.study.notStarted;
+                    allScStats.srStats.ongoing = statsInfo.study.ongoing;
+                    allScStats.srStats.finish = statsInfo.study.finish;
+                }
+            }
+
+
+            return Ok(new { state = RespondCode.Ok, allScStats });
+        }
+
+
+
         /// <summary>
         /// 依据Id查询School容器  数据管理工具——查询工具
         /// </summary>
@@ -875,6 +953,30 @@ namespace TEAMModelBI.Controllers.Census
             public string name { get; set; }
             public string picture { get; set; }
             public string areaId { get; set; }
+            public int tch { get; set; }
+            public int dayTch { get; set; }
+            public int weekTch { get; set; }
+            public int monthTch { get; set; }
+            public int stu { get; set; }
+            public int dayStu { get; set; }
+            public int weekStu { get; set; }
+            public int monthStu { get; set; }
+            public int room { get; set; }
+            public int witRoom { get; set; }
+            public int size { get; set; }
+            public long scCreateTime { get; set; }
+            public long upTime { get; set; }
+            public ManyLessStats lessStats { get; set; } = new ManyLessStats();
+            public ManyScActStats actStats { get; set; } = new ManyScActStats();
+
+            public ScSRStats srStats { get; set; } = new ScSRStats();
+        }
+
+        /// <summary>
+        /// 所有
+        /// </summary>
+        public record AllScStats
+        {
             public int tch { get; set; }
             public int dayTch { get; set; }
             public int weekTch { get; set; }
@@ -892,8 +994,8 @@ namespace TEAMModelBI.Controllers.Census
             public ScActStats actStats { get; set; } = new ScActStats();
 
             public ScSRStats srStats { get; set; } = new ScSRStats();
-        }
 
+        }
 
         /// <summary>
         /// 课例活动数据
@@ -911,18 +1013,22 @@ namespace TEAMModelBI.Controllers.Census
             public int term { get; set; }
             public int lastDayInter { get; set; }
             public int dayInter { get; set; }
-            public int lastMonthInter { get; set; }
-            public int monthInter { get; set; }
+            //public int lastMonthInter { get; set; }
+            //public int monthInter { get; set; }
             public int lastYearInter { get; set; }
             public int yearInter { get; set; }
+        }
+
+        /// <summary>
+        /// 课例活动数据
+        /// </summary>
+        public record ManyLessStats: ScLessStats
+        {
             public List<YearMonth> yearInters { get; set; } = new List<YearMonth>();//12个月
             public List<YearMonth> LastYear { get; set; } = new List<YearMonth>();//12个月
             public List<YearMonth> year { get; set; } = new List<YearMonth>();    //12个月
         }
 
-        /// <summary>
-        /// 学校活动数据
-        /// </summary>
         public record ScActStats
         {
             public int all { get; set; }
@@ -936,6 +1042,14 @@ namespace TEAMModelBI.Controllers.Census
             public int week { get; set; }
             public int lastTerm { get; set; }
             public int term { get; set; }
+
+        }
+
+        /// <summary>
+        /// 学校活动数据
+        /// </summary>
+        public record ManyScActStats: ScActStats
+        {
             public List<YearMonth> LastYear { get; set; } = new List<YearMonth>(); //12个月
             public List<YearMonth> year { get; set; } = new List<YearMonth>();    //12个月
         }

+ 0 - 1
TEAMModelBI/Controllers/RepairApi/SchoolRepController.cs

@@ -23,7 +23,6 @@ using Pipelines.Sockets.Unofficial.Arenas;
 using TEAMModelBI.Tool;
 using TEAMModelOS.SDK.Models.Cosmos.BI.BISchool;
 using TEAMModelOS.SDK.Models.Cosmos.BI;
-using static TEAMModelBI.Controllers.Census.SchoolController;
 using DocumentFormat.OpenXml.Math;
 using TEAMModelOS.SDK.Models.Service.BI;
 using TEAMModelBI.Tool.CosmosBank;

+ 2 - 2
TEAMModelBI/Tool/CosmosBank/StatsWay.cs

@@ -131,8 +131,8 @@ namespace TEAMModelBI.Tool.CosmosBank
 
             lessStats.lastDayInter = lessRelStats.FindAll(f => f.startTime >= lastDayS && f.startTime <= lastdayE).ToList().Select(s=>s.clientInteractionCount).Sum();
             lessStats.dayInter = lessRelStats.FindAll(f => f.startTime >= dayS && f.startTime <= dayS).ToList().Select(s => s.clientInteractionCount).Sum();
-            lessStats.lastMonthInter = lessRelStats.FindAll(f => f.startTime >= lastWeekS && f.startTime <= lastWeekE).ToList().Select(s => s.clientInteractionCount).Sum();
-            lessStats.monthInter = lessRelStats.FindAll(f => f.startTime >= weekS && f.startTime <= weekS).ToList().Select(s => s.clientInteractionCount).Sum();
+            //lessStats.lastMonthInter = lessRelStats.FindAll(f => f.startTime >= lastWeekS && f.startTime <= lastWeekE).ToList().Select(s => s.clientInteractionCount).Sum();
+            //lessStats.monthInter = lessRelStats.FindAll(f => f.startTime >= weekS && f.startTime <= weekS).ToList().Select(s => s.clientInteractionCount).Sum();
             lessStats.lastYearInter = lessRelStats.FindAll(f => f.startTime >= lastTermS && f.startTime <= lastTermE).ToList().Select(s => s.clientInteractionCount).Sum();
             lessStats.yearInter = lessRelStats.FindAll(f => f.startTime >= termS && f.startTime <= termE).ToList().Select(s => s.clientInteractionCount).Sum();
 

+ 6 - 2
TEAMModelOS.SDK/Models/Cosmos/BI/StatsInfo.cs

@@ -172,6 +172,10 @@ namespace TEAMModelOS.SDK.Models.Cosmos.BI
         /// </summary>
         public int term { get; set; }
 
+        /// <summary>
+        /// 所有互动
+        /// </summary>
+        public int allInter { get; set; }
         /// <summary>
         /// 昨天互动次数
         /// </summary>
@@ -185,12 +189,12 @@ namespace TEAMModelOS.SDK.Models.Cosmos.BI
         /// <summary>
         /// 上个月互动
         /// </summary>
-        public int lastMonthInter { get; set; }
+        //public int lastMonthInter { get; set; }
 
         /// <summary>
         /// 本月互动
         /// </summary>
-        public int monthInter { get; set; }
+        //public int monthInter { get; set; }
 
         /// <summary>
         /// 去年互动

+ 4 - 4
TEAMModelOS.SDK/Models/Service/BI/BIStats.cs

@@ -302,10 +302,10 @@ namespace TEAMModelOS.SDK.Models.Service.BI
                     else
                         statsInfo.lesson.dayInter = 0;
 
-                    if (monthS <= statsInfo.lesson.upTime && statsInfo.lesson.upTime <= monthE)
-                        statsInfo.lesson.monthInter += interaction;
-                    else
-                        statsInfo.lesson.monthInter = 0;
+                    //if (monthS <= statsInfo.lesson.upTime && statsInfo.lesson.upTime <= monthE)
+                    //    statsInfo.lesson.monthInter += interaction;
+                    //else
+                    //    statsInfo.lesson.monthInter = 0;
 
                     if (lastWeekS <= statsInfo.activity.upTime && statsInfo.activity.upTime <= lastWeekE)
                     {

+ 4 - 3
TEAMModelOS.SDK/Models/Service/BIStatsWay/LessonRecordStatsWay.cs

@@ -61,11 +61,12 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
 
             lessStats.lastDayInter = lessRelStats.FindAll(f => f.startTime >= lastDayS && f.startTime <= lastdayE).ToList().Select(s => s.clientInteractionCount).Sum();
             lessStats.dayInter = lessRelStats.FindAll(f => f.startTime >= dayS && f.startTime <= dayS).ToList().Select(s => s.clientInteractionCount).Sum();
-            lessStats.lastMonthInter = lessRelStats.FindAll(f => f.startTime >= lastMthS && f.startTime <= LastmthE).ToList().Select(s => s.clientInteractionCount).Sum();
-            lessStats.monthInter = lessRelStats.FindAll(f => f.startTime >= mthS && f.startTime <= mthE).ToList().Select(s => s.clientInteractionCount).Sum();
+            //lessStats.lastMonthInter = lessRelStats.FindAll(f => f.startTime >= lastMthS && f.startTime <= LastmthE).ToList().Select(s => s.clientInteractionCount).Sum();
+            //lessStats.monthInter = lessRelStats.FindAll(f => f.startTime >= mthS && f.startTime <= mthE).ToList().Select(s => s.clientInteractionCount).Sum();
             //lessStats.lastYearInter = lessRelStats.FindAll(f => f.startTime >= lastYearS && f.startTime <= lastYearE).ToList().Select(s => s.clientInteractionCount).Sum();
+            lessStats.allInter = await JointlySingleQuery.GetValueInt(cosmosClient, "School", $"select value(sum(c.clientInteractionCount)) from c ", $"LessonRecord-{id}");
             lessStats.lastYearInter = await JointlySingleQuery.GetValueInt(cosmosClient, "School", $"select value(sum(c.clientInteractionCount)) from c where c.startTime >= {lastYearS} and c.startTime <= {lastYearE}", $"LessonRecord-{id}");
-            lessStats.yearInter = lessRelStats.FindAll(f => f.startTime >= yearS && f.startTime <= yearE).ToList().Select(s => s.clientInteractionCount).Sum();
+            //lessStats.yearInter = lessRelStats.FindAll(f => f.startTime >= yearS && f.startTime <= yearE).ToList().Select(s => s.clientInteractionCount).Sum();
 
             DateTimeOffset lyearDay = new(DateTimeOffset.UtcNow.Year - 1, DateTimeOffset.UtcNow.Month, DateTimeOffset.UtcNow.Day, DateTimeOffset.UtcNow.Hour, DateTimeOffset.UtcNow.Minute, DateTimeOffset.UtcNow.Second, TimeSpan.Zero);
             List<StartEndTime> leveryDay = TimeHelper.GetYearEveryDay(lyearDay);

+ 3 - 3
TEAMModelOS.SDK/Models/Service/BIStatsWay/SchoolStatsWay.cs

@@ -128,10 +128,10 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
             areaInfo.lesson.term = statsInfos.Select(s => s.lesson.term).Sum();
             areaInfo.lesson.lastDayInter = statsInfos.Select(s => s.lesson.lastDayInter).Sum();
             areaInfo.lesson.dayInter = statsInfos.Select(s => s.lesson.dayInter).Sum();
-            areaInfo.lesson.lastMonthInter = statsInfos.Select(s => s.lesson.lastMonthInter).Sum();
-            areaInfo.lesson.monthInter = statsInfos.Select(s => s.lesson.monthInter).Sum();
+            //areaInfo.lesson.lastMonthInter = statsInfos.Select(s => s.lesson.lastMonthInter).Sum();
+            //areaInfo.lesson.monthInter = statsInfos.Select(s => s.lesson.monthInter).Sum();
             areaInfo.lesson.lastYearInter = statsInfos.Select(s => s.lesson.lastYearInter).Sum();
-            areaInfo.lesson.yearInter = statsInfos.Select(s => s.lesson.yearInter).Sum();
+            //areaInfo.lesson.yearInter = statsInfos.Select(s => s.lesson.yearInter).Sum();
             areaInfo.lesson.yearInters = BICommonWay.ManyDoubleMerge(statsInfos.Select(s => s.lesson.yearInters).ToList());
             areaInfo.lesson.year = BICommonWay.ManyDoubleMerge(statsInfos.Select(s => s.lesson.year).Where(w => w.Count > 0).ToList());