diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs index b2b9d996..f2775b35 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs @@ -46,6 +46,17 @@ public class GainfosController : ControllerBase return await _gainfoService.GetPageAsync(request); } + /// + /// 档案分页(所有人) + /// + /// + /// + [HttpPost("page-all")] + public async Task> GetPageByCodeAsync(string code) + { + return await _gainfoService.GetPageByCodeAsync(code); + } + /// /// 当前人员信息,余额 /// diff --git a/Src/Dlhis.Basic/Organization/Response/GainfoAllPageResponse.cs b/Src/Dlhis.Basic/Organization/Response/GainfoAllPageResponse.cs new file mode 100644 index 00000000..3b6e5550 --- /dev/null +++ b/Src/Dlhis.Basic/Organization/Response/GainfoAllPageResponse.cs @@ -0,0 +1,26 @@ +namespace Dlhis.Basic.Organization.Response; + +public class GainfoAllPageResponse +{ + public string No { get; set; } + + /// + /// 姓名 + /// + public string Name { get; set; } + + /// + /// 工号 + /// + public string Code { get; set; } + + /// + /// 工作地 + /// + public string Workplace { get; set; } + + /// + /// 厂区 + /// + public string Factory { get; set; } +} diff --git a/Src/Dlhis.Basic/Organization/Services/IGainfoService.cs b/Src/Dlhis.Basic/Organization/Services/IGainfoService.cs index 175926aa..6fca4a02 100644 --- a/Src/Dlhis.Basic/Organization/Services/IGainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/IGainfoService.cs @@ -9,6 +9,8 @@ public interface IGainfoService : IScopeDependency { Task> GetPageAsync(GainfoPageRequest request); + Task> GetPageByCodeAsync(string code); + Task SaveAsync(List requests); Task UpdateAsync(GainfoSaveRequest request); diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs index 724575a5..edb11c45 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs @@ -4,6 +4,7 @@ using Dlhis.Basic.Organization.Response; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Basic.Enums; using Dlhis.Entity.Device.Enums; +using Dlhis.Sys.Api; using Kurisu.AspNetCore.Utils; using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.Core.DataAccess.Dto; @@ -26,6 +27,7 @@ public class GainfoService : IGainfoService private readonly RedisCache _redisCache; private readonly IServiceProvider _serviceProvider; private readonly IConfiguration _configuration; + private readonly ITenantApi _tenantApi; private readonly ILogger _logger; public GainfoService(IGainfoStore gainfoStore, @@ -35,8 +37,8 @@ public class GainfoService : IGainfoService RedisCache redisCache, IServiceProvider serviceProvider, IConfiguration configuration, - ILogger logger, - IDepartmentService departmentService) + ITenantApi tenantApi, + ILogger logger) { _gainfoStore = gainfoStore; _dbContext = dbContext; @@ -45,6 +47,7 @@ public class GainfoService : IGainfoService _redisCache = redisCache; _serviceProvider = serviceProvider; _configuration = configuration; + _tenantApi = tenantApi; _logger = logger; } @@ -83,6 +86,26 @@ public class GainfoService : IGainfoService return page; } + public async Task> GetPageByCodeAsync(string code) + { + var page = await _gainfoStore.Queryable() + .Where(x => x.Code == code) + .Select() + .ToPageListAsync(new PageDto { PageIndex = 1, PageSize = 1 }); + + + var tenantsResult = await _tenantApi.GetTenantsInternalAsync(); + var tenants = tenantsResult.Data; + + page.Data.ForEach(x => + { + x.Workplace = tenants.FirstOrDefault(item => item.Code == x.Workplace)?.Name; + x.Factory = tenants.FirstOrDefault(item => item.Code == x.Factory)?.Name; + }); + + return page; + } + /// ///保存档案号 /// @@ -508,5 +531,4 @@ public class GainfoService : IGainfoService } } } - }