diff --git a/Src/Dlhis.External/OpenApi/Controllers/GainfosController.cs b/Src/Dlhis.External/OpenApi/Controllers/GainfosController.cs index b0338270..0d4d6840 100644 --- a/Src/Dlhis.External/OpenApi/Controllers/GainfosController.cs +++ b/Src/Dlhis.External/OpenApi/Controllers/GainfosController.cs @@ -36,6 +36,17 @@ public class GainfosController : ControllerBase return await _gainfoService.GetAllGainfosAsync(); } + /// + /// 根据厂区获取人员 + /// + /// + /// + [HttpGet("list")] + public async Task> GetGainfosAsync(string factory) + { + return await _gainfoService.GetGainfosAsync(factory); + } + /// /// 获取考勤数据 /// diff --git a/Src/Dlhis.External/OpenApi/Services/IGainfoService.cs b/Src/Dlhis.External/OpenApi/Services/IGainfoService.cs index 5385b488..1da9ed40 100644 --- a/Src/Dlhis.External/OpenApi/Services/IGainfoService.cs +++ b/Src/Dlhis.External/OpenApi/Services/IGainfoService.cs @@ -8,8 +8,10 @@ public interface IGainfoService : IScopeDependency { Task> GetAllGainfosAsync(); + Task> GetGainfosAsync(string factory); + Task> GetDepartmentsAsync(); Task> GetAttendanceRecordPageAsync(DeviceUploadLogMyRecordRequest request); -} +} \ No newline at end of file diff --git a/Src/Dlhis.External/OpenApi/Services/Implements/GainfoService.cs b/Src/Dlhis.External/OpenApi/Services/Implements/GainfoService.cs index e580e4e5..b154d303 100644 --- a/Src/Dlhis.External/OpenApi/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.External/OpenApi/Services/Implements/GainfoService.cs @@ -57,6 +57,27 @@ public class GainfoService : IGainfoService return gainfos.Concat(gainfoLeaves).ToList(); } + /// + public async Task> GetGainfosAsync(string factory) + { + var gainfos = await _dbContext.Queryable() + .LeftJoin((x, d) => x.DepartmentNo == d.No) + .Where(x => x.Factory == factory) + .Select((x, d) => new GainfoOpenResponse + { + Code = x.Code, + DepartmentNo = x.DepartmentNo, + DepartmentName = d.Name, + Name = x.Name, + Gender = x.Gender, + Factory = x.Factory, + Status = GainfoStatusEnumType.Working, + }) + .ToListAsync(); + + return gainfos; + } + public async Task> GetDepartmentsAsync() { return await _dbContext.Queryable()