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()