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;
}
///