From daf5d12c23e2be753aa9b2c8be584467b408a1d0 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 6 Mar 2025 15:51:05 +0800 Subject: [PATCH] fix . --- .../WorkGrids/Controllers/WorkGridsController.cs | 7 ++++++- .../WorkGrids/Response/WorkGridScheduleResponse.cs | 6 ++++++ .../Services/Implements/WorkGridScheduleService.cs | 12 +++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs index 08c422f5..3900d9f3 100644 --- a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs +++ b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs @@ -31,6 +31,11 @@ public class WorkGridsController : ControllerBase _workGridScheduleService = workGridScheduleService; } + /// + /// 人员查询选择 + /// + /// + /// [HttpGet("gainfo-selections")] public async Task> GetPageAsync([FromQuery] WorkGridGainfoPageRequest request) { @@ -149,7 +154,7 @@ public class WorkGridsController : ControllerBase } /// - /// 获取网格员排班列表 + /// 获取网格排班列表 /// /// 网格code /// diff --git a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridScheduleResponse.cs b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridScheduleResponse.cs index 34a61f34..f95fa2a3 100644 --- a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridScheduleResponse.cs +++ b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridScheduleResponse.cs @@ -11,4 +11,10 @@ public class WorkGridScheduleResponse public string UserCode { get; set; } public string UserName { get; set; } + + + /// + /// 最大连续排班信息 + /// + public WorkGridScheduleMaximumConsecutiveDto MaximumConsecutiveSchedules { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs index cca1ce30..505c544e 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs @@ -90,7 +90,7 @@ public class WorkGridScheduleService : IWorkGridScheduleService /// public async Task> GetListAsync(Guid workGridCode, DateOnly date, WorkGridTimePeriodEnumType? periodType) { - return await _dbContext.Queryable() + var data = await _dbContext.Queryable() .LeftJoin((x, ga) => x.UserCode == ga.Code) .Where(x => x.WorkGridCode == workGridCode && x.Date == date) .WhereIF(periodType.HasValue, x => x.PeriodType == periodType) @@ -102,6 +102,16 @@ public class WorkGridScheduleService : IWorkGridScheduleService UserName = ga.Name }) .ToListAsync(); + + var userCodes = data.Select(x => x.UserCode).ToList(); + var maximumConsecutiveUserCodes = await MaximumConsecutiveUserCodesAsync(userCodes, 1, date); + + foreach (var item in data) + { + item.MaximumConsecutiveSchedules = maximumConsecutiveUserCodes.FirstOrDefault(x => x.UserCode == item.UserCode); + } + + return data; } ///