From 9775052ab21cf73451e2554365e6d48ec876d3a0 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 24 Sep 2024 22:53:25 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=B6=88=E8=B4=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E9=80=89=E8=90=A5=E4=B8=9A=E7=82=B9?= =?UTF-8?q?/=E9=A4=90=E8=A1=A5=E9=83=A8=E9=97=A8=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Response/MealSupplementRecordResponse.cs | 6 ++++ .../Implements/MealSupplementRecordService.cs | 30 +++++++++++-------- .../Request/BalanceRecordAnalysisRequest.cs | 4 --- .../Implements/BalanceSummaryService.cs | 5 ---- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/Src/Dlhis.Canteen/MealSupplementRecord/Response/MealSupplementRecordResponse.cs b/Src/Dlhis.Canteen/MealSupplementRecord/Response/MealSupplementRecordResponse.cs index 86e0d236..6ebce013 100644 --- a/Src/Dlhis.Canteen/MealSupplementRecord/Response/MealSupplementRecordResponse.cs +++ b/Src/Dlhis.Canteen/MealSupplementRecord/Response/MealSupplementRecordResponse.cs @@ -78,6 +78,12 @@ public class MealSupplementRecordResponse /// public DateTime CreateTime { get; set; } + + /// + /// 部门号 + /// + public string DepartmentNo { get; set; } + /// /// 部门名称 /// diff --git a/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs b/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs index 254b6c06..21c4835c 100644 --- a/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs +++ b/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs @@ -4,6 +4,7 @@ using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Canteen.Entities; using Dlhis.Entity.Canteen.Enums; using Dlhis.Sys.Api; +using Dlhis.Sys.Api.Response; using Kurisu.AspNetCore.Authentication.Abstractions; using Kurisu.AspNetCore.CustomClass; using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions; @@ -31,18 +32,18 @@ public class MealSupplementRecordService : IMealSupplementRecordService { var queryable = _dbContext.Queryable() .LeftJoin((x, ga) => x.Code == ga.Code) - .LeftJoin((x, ga, department) => ga.DepartmentNo == department.No) + .LeftJoin((x, ga, gaLeave) => gaLeave.Code == x.Code) .WhereIF(request.Status.HasValue, x => x.Status == request.Status) .WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync) .WhereIF(request.Workplace.IsPresent(), x => x.Workplace == request.Workplace) .WhereIF(request.Factory.IsPresent(), x => x.Factory == request.Factory) - .WhereIF(request.DepartmentNo.IsPresent(), (x, ga) => ga.DepartmentNo == request.DepartmentNo) + .WhereIF(request.DepartmentNo.IsPresent(), (x, ga, gaLeave) => ga.DepartmentNo == request.DepartmentNo || gaLeave.DepartmentNo == request.DepartmentNo) .WhereIF(request.Werks.IsPresent(), (x, ga) => ga.Werks == request.Werks) .WhereIF(request.DateTimePeriod.HasValue(), x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End) .WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name == request.Search); var page = await queryable - .Select((x, ga, department) => new MealSupplementRecordResponse + .Select((x, ga, gaLeave) => new MealSupplementRecordResponse { Amount = x.Amount, Code = x.Code, @@ -52,32 +53,37 @@ public class MealSupplementRecordService : IMealSupplementRecordService Status = x.Status, Sync = x.Sync, UniqueId = x.UniqueId, - UserName = ga.Name, + UserName = SqlFunc.IIF(SqlFunc.IsNullOrEmpty(ga.Name), gaLeave.Name, ga.Name), Workplace = x.Workplace, + DepartmentNo = SqlFunc.IIF(SqlFunc.IsNullOrEmpty(ga.DepartmentNo), gaLeave.DepartmentNo, ga.DepartmentNo), Factory = x.Factory, CreateTime = x.CreateTime, - DepartmentName = department.Name, Werks = ga.Werks }) .ToPageListAsync(request); + var departmentNos = page.Data.Select(x => x.DepartmentNo).Distinct().ToList(); + var departmentInfos = await _dbContext.Queryable().Where(x => departmentNos.Contains(x.No)).Select(x => new { x.No, x.Name }).ToListAsync(); + + var tenants = new List(); try { var tenantsResult = await _tenantApi.GetTenantsInternalAsync(); - var tenants = tenantsResult.Data; - - page.Data.ForEach(item => - { - item.Workplace = tenants.FirstOrDefault(x => x.Code == item.Workplace)?.Name; - item.Factory = tenants.FirstOrDefault(x => x.Code == item.Factory)?.Name; - }); + tenants = tenantsResult.Data; } catch (Exception) { //ignore } + page.Data.ForEach(item => + { + item.Workplace = tenants.FirstOrDefault(x => x.Code == item.Workplace)?.Name; + item.Factory = tenants.FirstOrDefault(x => x.Code == item.Factory)?.Name; + item.DepartmentName = departmentInfos.FirstOrDefault(x => x.No == item.DepartmentNo)?.Name; + }); + return new MealSupplementRecordSummaryResponse { diff --git a/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs b/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs index 8b02b7a6..cd5dd4b5 100644 --- a/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs +++ b/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs @@ -4,8 +4,4 @@ namespace Dlhis.Canteen.Order.Request; public class BalanceRecordAnalysisRequest : SummaryCommonDto { - /// - /// 营业点 - /// - public Guid? BusinessPlaceCode { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs index f22fb99a..cc85035e 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs @@ -26,11 +26,6 @@ public class BalanceSummaryService : IBalanceSummaryService public async Task BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request) { - if (request.BusinessPlaceCode.HasValue) - { - request.BusinessPlaceCodes = new List { request.BusinessPlaceCode.Value }; - } - var queryable = GetQueryable(request); var list = await queryable.ToListAsync();