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();