接口优化

This commit is contained in:
tongfei
2024-03-27 11:14:58 +08:00
parent e686a1a04a
commit 7c56ef72d0
8 changed files with 21 additions and 7 deletions

View File

@@ -180,7 +180,8 @@ namespace WMS.Web.Api.Controllers
//获取物料对应的仓位 //获取物料对应的仓位
var materialNumbers = list.GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList(); var materialNumbers = list.GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList();
var stockCodes = list.GroupBy(x => x.StockCode).Select(x => x.Key).ToList(); var stockCodes = list.GroupBy(x => x.StockCode).Select(x => x.Key).ToList();
var materialSubStocks= await _inventoryDetailsRepositories.GetMaterialSubStocks(materialNumbers, stockCodes, loginInfo.UserInfo.CompanyId); var orgCodes = list.GroupBy(x => x.OrgCode).Select(x => x.Key).ToList();
var materialSubStocks= await _inventoryDetailsRepositories.GetMaterialSubStocks(materialNumbers, stockCodes, orgCodes, loginInfo.UserInfo.CompanyId);
list.ForEach(x => list.ForEach(x =>
{ {
x.MaterialSubStocks = materialSubStocks.Where(t => t.MaterialNumber == x.MaterialNumber).ToList(); x.MaterialSubStocks = materialSubStocks.Where(t => t.MaterialNumber == x.MaterialNumber).ToList();
@@ -233,7 +234,8 @@ namespace WMS.Web.Api.Controllers
//获取物料对应的仓位 //获取物料对应的仓位
var materialNumbers = list.SelectMany(x=>x.Details).GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList(); var materialNumbers = list.SelectMany(x=>x.Details).GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList();
var stockCodes = list.SelectMany(x => x.Details).GroupBy(x => x.StockCode).Select(x => x.Key).ToList(); var stockCodes = list.SelectMany(x => x.Details).GroupBy(x => x.StockCode).Select(x => x.Key).ToList();
var materialSubStocks = await _inventoryDetailsRepositories.GetMaterialSubStocks(materialNumbers, stockCodes, loginInfo.UserInfo.CompanyId); var orgCodes = list.SelectMany(x => x.Details).GroupBy(x => x.OrgCode).Select(x => x.Key).ToList();
var materialSubStocks = await _inventoryDetailsRepositories.GetMaterialSubStocks(materialNumbers, stockCodes, orgCodes, loginInfo.UserInfo.CompanyId);
list.SelectMany(x=>x.Details).ToList().ForEach(x => list.SelectMany(x=>x.Details).ToList().ForEach(x =>
{ {
x.MaterialSubStocks = materialSubStocks.Where(t => t.MaterialNumber == x.MaterialNumber).ToList(); x.MaterialSubStocks = materialSubStocks.Where(t => t.MaterialNumber == x.MaterialNumber).ToList();

View File

@@ -2208,6 +2208,11 @@
组织 组织
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.InStockTask.SourceBillNoQueryResponse.OrgCode">
<summary>
组织编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStockTask.SourceBillNoQueryResponse.SourceBillNo"> <member name="P:WMS.Web.Core.Dto.InStockTask.SourceBillNoQueryResponse.SourceBillNo">
<summary> <summary>
来源单号 来源单号

View File

@@ -2920,7 +2920,7 @@
<param name="orgCodes"></param> <param name="orgCodes"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Infrastructure.IInventoryDetailsRepositories.GetMaterialSubStocks(System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String},System.Int32)"> <member name="M:WMS.Web.Domain.Infrastructure.IInventoryDetailsRepositories.GetMaterialSubStocks(System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String},System.Int32)">
<summary> <summary>
获取物料对应的仓位集合 获取物料对应的仓位集合
</summary> </summary>

View File

@@ -32,6 +32,11 @@ namespace WMS.Web.Core.Dto.InStockTask
/// </summary> /// </summary>
public int OrgId { get; set; } public int OrgId { get; set; }
/// <summary>
/// 组织编码
/// </summary>
public string OrgCode { get; set; }
/// <summary> /// <summary>
/// 来源单号 /// 来源单号
/// </summary> /// </summary>

View File

@@ -117,7 +117,7 @@ namespace WMS.Web.Core.Help
HttpClient client = new HttpClient(); HttpClient client = new HttpClient();
//请求头添加其他值 //请求头添加其他值
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", reqData.AccessToken); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", reqData.AccessToken);
client.DefaultRequestHeaders.Add("Refresh-Authorization", reqData.RefreshToken); client.DefaultRequestHeaders.Add("Refresh-Authorization", "Bearer " + reqData.RefreshToken);
client.DefaultRequestHeaders.Connection.Add("Keep-Alive"); client.DefaultRequestHeaders.Connection.Add("Keep-Alive");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue ("utf-8")); client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue ("utf-8"));

View File

@@ -64,6 +64,6 @@ namespace WMS.Web.Domain.Infrastructure
/// <param name="stockCodes"></param> /// <param name="stockCodes"></param>
/// <param name="companyId"></param> /// <param name="companyId"></param>
/// <returns></returns> /// <returns></returns>
Task<List<MaterialSubStock>> GetMaterialSubStocks(List<string> materialNumbers, List<string> stockCodes, int companyId); Task<List<MaterialSubStock>> GetMaterialSubStocks(List<string> materialNumbers, List<string> stockCodes, List<string> orgCodes, int companyId);
} }
} }

View File

@@ -340,6 +340,7 @@ namespace WMS.Web.Repositories
DetailsId = s.detail.Id, DetailsId = s.detail.Id,
SupplierId = s.detail.SupplierId, SupplierId = s.detail.SupplierId,
OrgId = s.detail.OrgId, OrgId = s.detail.OrgId,
OrgCode=s.detail.OrgCode,
SourceBillNo = s.order.SourceBillNo, SourceBillNo = s.order.SourceBillNo,
StockCode = s.detail.StockCode, StockCode = s.detail.StockCode,
StockName = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, _loginRepositories.CompanyId, s.detail.StockCode + s.detail.OrgCode), StockName = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, _loginRepositories.CompanyId, s.detail.StockCode + s.detail.OrgCode),

View File

@@ -233,10 +233,11 @@ namespace WMS.Web.Repositories
/// <param name="stockCodes"></param> /// <param name="stockCodes"></param>
/// <param name="companyId"></param> /// <param name="companyId"></param>
/// <returns></returns> /// <returns></returns>
public async Task<List<MaterialSubStock>> GetMaterialSubStocks(List<string> materialNumbers, List<string> stockCodes,int companyId) public async Task<List<MaterialSubStock>> GetMaterialSubStocks(List<string> materialNumbers, List<string> stockCodes, List<string> orgCodes, int companyId)
{ {
return await _context.InventoryDetails.Where(x => materialNumbers.Contains(x.MaterialNumber) && return await _context.InventoryDetails.Where(x => materialNumbers.Contains(x.MaterialNumber) &&
stockCodes.Contains(x.StockCode)).Select(x=>new MaterialSubStock() stockCodes.Contains(x.StockCode) &&
orgCodes.Contains(x.OrgCode)).Select(x=>new MaterialSubStock()
{ {
MaterialNumber=x.MaterialNumber, MaterialNumber=x.MaterialNumber,
SubStockCode=x.SubStockCode, SubStockCode=x.SubStockCode,