From 87b4c097f11ad5912c654f898dc87985ed4d3702 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 7 Apr 2025 09:47:41 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=A4=84=E7=90=86=E5=B7=B2=E7=9F=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/GainfoUpdateService.cs | 1 - .../Services/Implements/WorkGridService.cs | 8 +++- .../Implements/DeviceUploadLogService.cs | 2 +- .../Jobs/SendMsgToWorkGridLeaderJob.cs | 38 +++++++++++++++++++ 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 Src/Dlhis.ScheduledTask/Jobs/SendMsgToWorkGridLeaderJob.cs diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs index 7971716a..80d8627d 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs @@ -28,7 +28,6 @@ public class GainfoUpdateService : IGainfoUpdateService IIdentityUserSyncService identityUserSyncService) { _dbContext = dbContext; - _dbContext.Client.QueryFilter.Clear(); _logger = logger; _jinkoSapService = jinkoSapService; _gainfoPermissionService = gainfoPermissionService; diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs index 8eb9bcf6..51a1bf44 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs @@ -142,7 +142,13 @@ public class WorkGridService : IWorkGridService .LeftJoin((x, ga) => x.LeaderUserCode == ga.Code) .WhereIF(!isAll, x => x.LeaderUserCode == userCode) .WhereIF(request.Search.IsPresent(), x => x.Name.Contains(request.Search) || x.LeaderUserCode == request.Search) - .Where(x => SqlFunc.Subqueryable().Where(p => p.Code == x.LeaderUserCode && p.Factory == factory).Any()) + .Where(x => SqlFunc.Subqueryable() + .LeftJoin((p, pga) => p.UserCode == pga.Code) + .Where(p => p.WorkGridCode == x.Code) + .Where((p, pga) => pga.Factory == factory) + .Where(p => p.IsDeleted == false) + .Any() + ) .Select((x, ga) => new WorkGridPageResponse { Id = x.Id, diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs index 1401c2f3..215ef13b 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs @@ -227,7 +227,7 @@ public class DeviceUploadLogService : IDeviceUploadLogService { await _dingTalkApi.SendWorkMessageAsync(new JinkoSendWorkMessageRequest { - Content = $"{workGridInfo.WorkGrid.WorkGridName}的网格长,你好,检测到你网格中 {currentGainfo.Name}({currentGainfo.Code})今日未排班,但是有考勤记录,请前往系统处理!", + Content = $"{workGridInfo.WorkGrid.WorkGridName}的网格长,你好,检测到你网格中 {currentGainfo.Name}({currentGainfo.Code}){request.RaiseDateTime.ToString("yyyy年MM月dd日")}未排班,但是有考勤记录,请前往系统处理!", WorkCodes = new List { workGridInfo.WorkGrid.LeaderUserCode } }); diff --git a/Src/Dlhis.ScheduledTask/Jobs/SendMsgToWorkGridLeaderJob.cs b/Src/Dlhis.ScheduledTask/Jobs/SendMsgToWorkGridLeaderJob.cs new file mode 100644 index 00000000..2adfdfd7 --- /dev/null +++ b/Src/Dlhis.ScheduledTask/Jobs/SendMsgToWorkGridLeaderJob.cs @@ -0,0 +1,38 @@ +using Dlhis.Basic.Api; +using Dlhis.Basic.Api.Requests; +using Dlhis.Entity.Basic.Entity; +using Dlhis.ScheduledTask.Attributes; + +namespace Dlhis.ScheduledTask.Jobs; + +/// +/// 发送信息到网格长 +/// +[RecurringJob(nameof(SendMsgToWorkGridLeaderJob), "0 0 18 * * ? ", Name = "发送信息到网格长")] +public class SendMsgToWorkGridLeaderJob : BaseJob +{ + public SendMsgToWorkGridLeaderJob(IServiceProvider serviceProvider) : base(serviceProvider) + { + } + + protected override async Task RunAsync(IServiceProvider serviceProvider) + { + // + var infos = await DbContext.Queryable() + .LeftJoin((x, ga) => x.LeaderUserCode == ga.Code) + .Select((x, ga) => new + { + x.LeaderUserCode, + WorkGridName = x.Name, + UserName = x.Name, + }) + .ToListAsync(); + + var dingtalkApi = serviceProvider.GetService(); + await dingtalkApi.SendWorkMessageAsync(new JinkoSendWorkMessageRequest + { + Content = "你好,网格长,请看到消息后,前往人脸应用平台,执行明天的排班,已排班的请忽略!", + WorkCodes = infos.Select(x => x.LeaderUserCode).ToList() + }); + } +} \ No newline at end of file