From 24ac38114cf675ade2cd2a22fa9cae5cd164c5ba Mon Sep 17 00:00:00 2001 From: yanghongwei Date: Tue, 11 Mar 2025 20:19:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E7=AD=9B=E9=80=89=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- langguanApi.xml | 8 ++++++- langguanApi/Program.cs | 10 ++++---- langguanApi/Service/Hj212Service.cs | 37 ++++++++++++++++++++++++----- langguanApi/Service/HomeService.cs | 2 +- 4 files changed, 44 insertions(+), 13 deletions(-) diff --git a/langguanApi.xml b/langguanApi.xml index 6c80353..34a1e25 100644 --- a/langguanApi.xml +++ b/langguanApi.xml @@ -195,6 +195,12 @@ 客户端push消息 + + + 构造函数 + + + 全部消息 @@ -3041,7 +3047,7 @@ - + 发送GPS数据 diff --git a/langguanApi/Program.cs b/langguanApi/Program.cs index efcb461..e49b755 100644 --- a/langguanApi/Program.cs +++ b/langguanApi/Program.cs @@ -105,11 +105,11 @@ app.UseCors("CorsPolicy"); -if (!await GetNowTimeAsync()) -{ - Console.WriteLine("当前时间不在可运行时间范围内,请联系供应商。"); - Environment.Exit(0); -} +//if (!await GetNowTimeAsync()) +//{ +// Console.WriteLine("当前时间不在可运行时间范围内,请联系供应商。"); +// Environment.Exit(0); +//} app.Run(); diff --git a/langguanApi/Service/Hj212Service.cs b/langguanApi/Service/Hj212Service.cs index eccf609..e47a4bb 100644 --- a/langguanApi/Service/Hj212Service.cs +++ b/langguanApi/Service/Hj212Service.cs @@ -61,9 +61,20 @@ namespace langguanApi.Service /// public async Task GetTodayData() { - // 只取当天的日数据 - Expression> exp = filter => filter.ST == 31 || filter.ST == 27 && filter.CN == 2031 && filter.CreateDateTime >= DateTime.Now.Date; - var result = (await base.GetListWithExp(exp)).ToList(); + + // Expression> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7); + // CN = 2031是日数据 + var dateFilter = BuildFilter(DateTime.Now.Date); + // 构建查询 + var conditionFilter = Builders.Filter.Or( + Builders.Filter.Eq(x => x.ST, 31), + Builders.Filter.And( + Builders.Filter.Eq(x => x.ST, 27), + Builders.Filter.Eq(x => x.CN, 2031) + ) + ); + var finalFilter = Builders.Filter.And(dateFilter, conditionFilter); + var result = await base.FindListyFilter(finalFilter); // 过滤掉voc设备 var voc = result.Where(s => s.ST == 31).ToList().Select(s => s.a05002_Cou + s.a24087_Cou + @@ -90,10 +101,20 @@ namespace langguanApi.Service { // Expression> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7); // CN = 2031是日数据 - Expression> exp = filter => filter.ST == 31 || filter.ST == 27 && filter.CN == 2031 && filter.CreateDateTime >= DateTime.Now.AddDays(-7); + var dateFilter = Builders.Filter.Gte(x => x.CreateDateTime, DateTime.Now.AddDays(-7)); + + // 构建查询 + var conditionFilter = Builders.Filter.Or( + Builders.Filter.Eq(x => x.ST, 31), + Builders.Filter.And( + Builders.Filter.Eq(x => x.ST, 27), + Builders.Filter.Eq(x => x.CN, 2031) + ) + ); + // 组合过滤器(先按时间,再按其他条件) + var finalFilter = Builders.Filter.And(dateFilter, conditionFilter); + var result = await base.FindListyFilter(finalFilter); ////a21026_Cou,a21002_Cou,a34013_Cou - var result = (await base.GetListWithExp(exp)).ToList(); - //cems var cems = result.Where(s => s.ST == 31).Select(s => new { s.a21002_Cou, @@ -124,6 +145,10 @@ namespace langguanApi.Service }); return new { voc, cems }; } + private FilterDefinition BuildFilter(DateTime end) + { + return Builders.Filter.Gte(x => x.CreateDateTime, end); + } /// /// 新加数据 /// diff --git a/langguanApi/Service/HomeService.cs b/langguanApi/Service/HomeService.cs index 3b726b0..de3bf2c 100644 --- a/langguanApi/Service/HomeService.cs +++ b/langguanApi/Service/HomeService.cs @@ -87,7 +87,7 @@ namespace langguanApi.Service yesterday = 0.8, lastWeek = 0.6 }; - // var today = await _hj212Service.GetTodayData(); + // var today1 = await _hj212Service.GetTodayData(); Func> getTodayFunc = async () => await _hj212Service.GetTodayData(); var today = await _cacheManager.GetConvertVale(RedisKeylist.Today, getTodayFunc, 60 * 60 * 24 * 1);