diff --git a/Src/Dlhis.Canteen/Setting/Services/Implements/CanteenSettingService.cs b/Src/Dlhis.Canteen/Setting/Services/Implements/CanteenSettingService.cs index 4f6a4446..11309527 100644 --- a/Src/Dlhis.Canteen/Setting/Services/Implements/CanteenSettingService.cs +++ b/Src/Dlhis.Canteen/Setting/Services/Implements/CanteenSettingService.cs @@ -2,16 +2,11 @@ using Dlhis.Canteen.Setting.Response; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Canteen.Enums; -using Kurisu.AspNetCore.UnifyResultAndValidation; using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.Core.DataAccess.Dto; using Kurisu.SqlSugar.Extensions; using Kurisu.SqlSugar.Services; using Mapster; -using Newtonsoft.Json.Linq; -using System; -using System.ComponentModel.DataAnnotations; -using System.Globalization; namespace Dlhis.Canteen.Setting.Services.Implements; @@ -30,11 +25,10 @@ public class CanteenSettingService : ICanteenSettingService public async Task> GetPageAsync(CanteenSettingPageRequest request) { var page = await _context.Queryable() - .LeftJoin((setting, user) => setting.UniqueValue == user.UserNo) .WhereIF(request.UniqueType.HasValue, setting => setting.UniqueType == request.UniqueType) .WhereIF(request.Item.HasValue, setting => setting.Item == request.Item) .WhereIF(request.Search.IsPresent(), setting => setting.Catalog.Contains(request.Search)) - .Select((setting, user) => new CanteenSettingResponse + .Select((setting) => new CanteenSettingResponse { Id = setting.Id, UniqueType = setting.UniqueType, @@ -46,6 +40,15 @@ public class CanteenSettingService : ICanteenSettingService }) .ToPageListAsync(request); + var userNos = page.Data.Select(x => x.UniqueValue).Distinct().ToList(); + + var gainfos = await _context.Queryable().Where(x => userNos.Contains(x.No)).ToListAsync(); + + page.Data.ForEach(x => + { + x.UniqueValue = gainfos.FirstOrDefault(item => item.No == x.UniqueValue)?.Name; + }); + return page; }