fix 已知数据查询
This commit is contained in:
@@ -69,11 +69,17 @@ public class GainfoService : IGainfoService
|
||||
}
|
||||
|
||||
//获取所有厂区
|
||||
var factories = request.DepartmentSelections.Select(x => x.Tenant);
|
||||
var factories = request.DepartmentSelections.Select(x => x.Tenant).ToList();
|
||||
if (factories.Count == 0)
|
||||
{
|
||||
factories = _currentUser.GetUserClaim("tenants").Split(",").ToList();
|
||||
}
|
||||
|
||||
var today = DateTime.Today;
|
||||
|
||||
var page = await _gainfoStore.Queryable(request.Status)
|
||||
.WhereIF(request.SearchType != GainfoSearchEnumType.BusinessTrip && request.DepartmentSelections?.Any() == true, where)
|
||||
.WhereIF(request.SearchType != GainfoSearchEnumType.BusinessTrip && request.DepartmentSelections?.Any() == false, gainfo => factories.Contains(gainfo.Factory))
|
||||
.WhereIF(request.SearchType == GainfoSearchEnumType.Internal, gainfo => SqlFunc.Subqueryable<OutsourceEntity>().Where(x => x.Code == gainfo.Code).NotAny())
|
||||
.WhereIF(request.SearchType == GainfoSearchEnumType.Outsource, gainfo => SqlFunc.Subqueryable<OutsourceEntity>().Where(x => x.Code == gainfo.Code).Any())
|
||||
.WhereIF(request.SearchType == GainfoSearchEnumType.BusinessTrip, gainfo =>
|
||||
@@ -85,6 +91,15 @@ public class GainfoService : IGainfoService
|
||||
.Select<GainfoPageResponse>()
|
||||
.ToPageListAsync(request);
|
||||
|
||||
|
||||
if (request.SearchType == GainfoSearchEnumType.Outsource)
|
||||
{
|
||||
var codes = page.Data.Select(x => x.Code).ToList();
|
||||
var outsourceInfos = await _dbContext.Queryable<OutsourceEntity>().Where(x => codes.Contains(x.Code)).Select(x => new { x.Code, x.Supplier }).ToListAsync();
|
||||
|
||||
page.Data.ForEach(item => { item.DepartmentNo = outsourceInfos.FirstOrDefault(x => x.Code == item.Code)?.Supplier; });
|
||||
}
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user