diff --git a/Src/Dlhis.Basic/Dishes/Response/DishesCategoryResponse.cs b/Src/Dlhis.Basic/Dishes/Response/DishesCategoryResponse.cs index fdaca520..024d2606 100644 --- a/Src/Dlhis.Basic/Dishes/Response/DishesCategoryResponse.cs +++ b/Src/Dlhis.Basic/Dishes/Response/DishesCategoryResponse.cs @@ -2,6 +2,11 @@ public class DishesCategoryTreeResponse { + /// + /// 营业点code + /// + public Guid BusinessPlaceCode { get; set; } + public Guid? PCode { get; set; } public Guid Code { get; set; } diff --git a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesCategoryService.cs b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesCategoryService.cs index 8fda1dc2..18f1f8e9 100644 --- a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesCategoryService.cs +++ b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesCategoryService.cs @@ -1,5 +1,6 @@ using Dlhis.Basic.Dishes.Request; using Dlhis.Basic.Dishes.Response; +using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Canteen.Entities; using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.SqlSugar.Services; @@ -18,7 +19,17 @@ public class DishesCategoryService : IDishesCategoryService public async Task> TreeAsync() { - var categories = await _dbContext.Queryable().Select().ToListAsync(); + var categories = await _dbContext.Queryable() + .LeftJoin((x, bplace) => x.BusinessPlaceCode == bplace.Code) + .Select((x, bplace) => new DishesCategoryTreeResponse + { + BusinessPlaceCode = bplace.Code, + Code = x.Code, + Name = x.Name, + PCode = x.PCode, + }) + .ToListAsync(); + var tops = categories.Where(x => !x.PCode.HasValue).ToList(); tops.ForEach(x =>