diff --git a/Src/Dlhis.Basic/BusinessPlace/Response/BusinessPlaceWithShiftResponse.cs b/Src/Dlhis.Basic/BusinessPlace/Response/BusinessPlaceWithShiftResponse.cs
index 6b5374f5..9e346027 100644
--- a/Src/Dlhis.Basic/BusinessPlace/Response/BusinessPlaceWithShiftResponse.cs
+++ b/Src/Dlhis.Basic/BusinessPlace/Response/BusinessPlaceWithShiftResponse.cs
@@ -14,6 +14,16 @@ public class BusinessPlaceWithShiftResponse
///
public string Name { get; set; }
+ ///
+ /// 基地/租户code
+ ///
+ public string TenantCode { get; set; }
+
+ ///
+ /// 基地/租户名称
+ ///
+ public string TenantName { get; set; }
+
///
/// 餐次
///
diff --git a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs
index 4ed9e149..7286e3b2 100644
--- a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs
+++ b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs
@@ -2,9 +2,12 @@
using Dlhis.Basic.BusinessShift.Request;
using Dlhis.Basic.BusinessShift.Response;
using Dlhis.Entity.Basic.Entity;
+using Dlhis.User.Api;
using Kurisu.AspNetCore.Utils.Extensions;
using Kurisu.Core.CustomClass;
using Kurisu.Core.DataAccess.Dto;
+using Kurisu.Core.Result;
+using Kurisu.Core.User.Abstractions;
using Kurisu.SqlSugar.Attributes;
using Kurisu.SqlSugar.Extensions;
using Kurisu.SqlSugar.Services;
@@ -15,10 +18,12 @@ namespace Dlhis.Basic.BusinessShift.Services.Implements;
public class BusinessPlaceShiftService : IBusinessPlaceShiftService
{
private readonly IDbContext _dbContext;
+ private readonly ITenantApi _tenantApi;
- public BusinessPlaceShiftService(IDbContext dbContext)
+ public BusinessPlaceShiftService(IDbContext dbContext, ITenantApi tenantApi)
{
_dbContext = dbContext;
+ _tenantApi = tenantApi;
}
public async Task> GetPageAsync(BusinessPlaceShiftPageRequest request)
@@ -86,10 +91,16 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService
.OrderBy(x => x.Sequence) //排序
.ToListAsync();
+ var tenantResult = await _tenantApi.GetTenantByCodeAsync(place.TenantId);
+ (tenantResult.Code == ApiStateCode.Success).ThrowIfFalse(tenantResult.Msg);
+ var tenantInfo = tenantResult.Data;
+
return new BusinessPlaceWithShiftResponse
{
CustomCode = placeCustomCode,
Name = place.Name,
+ TenantCode = tenantInfo.Code,
+ TenantName = tenantInfo.Name,
Shifts = shifts.Select(shift => new BusinessPlaceShiftTinyResponse
{
CustomCode = shift.CustomCode,
diff --git a/Src/Dlhis.User.Api/ITenantApi.cs b/Src/Dlhis.User.Api/ITenantApi.cs
index 2a27136e..72be9696 100644
--- a/Src/Dlhis.User.Api/ITenantApi.cs
+++ b/Src/Dlhis.User.Api/ITenantApi.cs
@@ -11,4 +11,7 @@ public interface ITenantApi
[Auth]
[Get("/api/tenants/list")]
Task>> GetTenantsAsync();
+
+ [Get("/api/tenants/single")]
+ Task> GetTenantByCodeAsync(string code);
}
diff --git a/Src/Dlhis.User/Identity/Controllers/TenantsController.cs b/Src/Dlhis.User/Identity/Controllers/TenantsController.cs
index 52b02d55..c5228734 100644
--- a/Src/Dlhis.User/Identity/Controllers/TenantsController.cs
+++ b/Src/Dlhis.User/Identity/Controllers/TenantsController.cs
@@ -39,4 +39,16 @@ public class TenantsController : ControllerBase
{
return await _tenantService.GetListAsync();
}
+
+ ///
+ /// 获取租户
+ ///
+ ///
+ [AllowAnonymous]
+ [HttpGet("single")]
+ public async Task GetTenantByCode(string code)
+ {
+ return await _tenantService.GetTenantByCode(code);
+ }
+
}
diff --git a/Src/Dlhis.User/Identity/Services/ITenantService.cs b/Src/Dlhis.User/Identity/Services/ITenantService.cs
index 72c4bd87..1edb801e 100644
--- a/Src/Dlhis.User/Identity/Services/ITenantService.cs
+++ b/Src/Dlhis.User/Identity/Services/ITenantService.cs
@@ -9,4 +9,6 @@ public interface ITenantService : IScopeDependency
Task> GetPageAsync(TenantPageRequest request);
Task> GetListAsync();
+
+ Task GetTenantByCode(string code);
}
diff --git a/Src/Dlhis.User/Identity/Services/Implements/TenantService.cs b/Src/Dlhis.User/Identity/Services/Implements/TenantService.cs
index a6ec9b54..43be5531 100644
--- a/Src/Dlhis.User/Identity/Services/Implements/TenantService.cs
+++ b/Src/Dlhis.User/Identity/Services/Implements/TenantService.cs
@@ -31,4 +31,12 @@ public class TenantService : ITenantService
.Select()
.ToListAsync();
}
+
+ public async Task GetTenantByCode(string code)
+ {
+ return await _dbContext.Queryable()
+ .Where(x => x.Code == code)
+ .Select()
+ .FirstAsync();
+ }
}