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