|
@@ -19,11 +19,15 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
|
|
|
/// <param name="cosmosClient"></param>
|
|
|
/// <param name="id"></param>
|
|
|
/// <returns></returns>
|
|
|
- public static async Task<LessonStats> GetSchoolAll(CosmosClient cosmosClient, string id)
|
|
|
+ public static async Task<LessonStats> GetSchoolAll(CosmosClient cosmosClient, string id,int year = 0)
|
|
|
{
|
|
|
LessonStats lessStats = new();
|
|
|
|
|
|
DateTimeOffset dateTime = DateTimeOffset.UtcNow;
|
|
|
+ if (year == 0)
|
|
|
+ year = dateTime.Year;
|
|
|
+ else
|
|
|
+ dateTime = new(year, 12, 31, 23, 59, 59, TimeSpan.Zero);
|
|
|
|
|
|
var (lastDayS, lastdayE) = TimeHelper.GetStartOrEnd(dateTime.AddDays(-1)); //昨天开始时间
|
|
|
var (dayS, dayE) = TimeHelper.GetStartOrEnd(dateTime); //今天开始时间
|
|
@@ -64,17 +68,12 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
|
|
|
//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.allInter = await JointlySingleQuery.GetValueInt(cosmosClient, "School", $"select value(sum(c.clientInteractionCount)) from c where c.startTime <= {yearE}", $"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();
|
|
|
|
|
|
- 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);
|
|
|
- List<StartEndTime> everyDay = TimeHelper.GetYearEveryDay(DateTimeOffset.UtcNow);
|
|
|
-
|
|
|
- List<double> doubles = new();
|
|
|
- List<object> list = new();
|
|
|
- List<object> list1 = new();
|
|
|
+ DateTimeOffset lyearDay = new(year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, dateTime.Second, TimeSpan.Zero);
|
|
|
+ List<StartEndTime> everyDay = TimeHelper.GetYearEveryDay(lyearDay);
|
|
|
|
|
|
for (int i = 0; i < everyDay.Count; i++)
|
|
|
{
|
|
@@ -82,7 +81,6 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
|
|
|
lessStats.yearInters[i] = (double)lessRelStats.FindAll(f => (f.startTime >= everyDay[i].start && f.startTime <= everyDay[i].end)).Select(s => s.clientInteractionCount).Sum();
|
|
|
else
|
|
|
lessStats.yearInters.Add((double)lessRelStats.FindAll(f => (f.startTime >= everyDay[i].start && f.startTime <= everyDay[i].end)).Select(s => s.clientInteractionCount).Sum());
|
|
|
-
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < everyDay.Count; i++)
|