bug修复

This commit is contained in:
tongfei
2023-12-08 15:12:17 +08:00
parent 0aba076c50
commit a2d7f522ec
4 changed files with 45 additions and 4 deletions

View File

@@ -2192,6 +2192,15 @@
<param name="orgCodes"></param> <param name="orgCodes"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Infrastructure.IInventoryDetailsRepositories.GetListBy(System.Collections.Generic.List{System.Int32},System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String})">
<summary>
列表-根据物料和仓库
</summary>
<param name="materialIds"></param>
<param name="stockCodes"></param>
<param name="orgCodes"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Domain.Infrastructure.IInventoryInOutDetailsRepositories"> <member name="T:WMS.Web.Domain.Infrastructure.IInventoryInOutDetailsRepositories">
<summary> <summary>
物料收发明细-仓储接口 物料收发明细-仓储接口

View File

@@ -45,5 +45,14 @@ namespace WMS.Web.Domain.Infrastructure
/// <param name="orgCodes"></param> /// <param name="orgCodes"></param>
/// <returns></returns> /// <returns></returns>
Task<List<InventoryDetails>> GetListBy(List<int> materialIds, List<string> stockCodes, List<int> subStockIds, List<string> orgCodes); Task<List<InventoryDetails>> GetListBy(List<int> materialIds, List<string> stockCodes, List<int> subStockIds, List<string> orgCodes);
/// <summary>
/// 列表-根据物料和仓库
/// </summary>
/// <param name="materialIds"></param>
/// <param name="stockCodes"></param>
/// <param name="orgCodes"></param>
/// <returns></returns>
Task<List<InventoryDetails>> GetListBy(List<int> materialIds, List<string> stockCodes, List<string> orgCodes);
} }
} }

View File

@@ -53,8 +53,17 @@ namespace WMS.Web.Domain.Services
var orgCodes = dtos.Select(x => x.OrgCode).ToList(); var orgCodes = dtos.Select(x => x.OrgCode).ToList();
var materialIds = dtos.Select(x => x.MaterialId).ToList(); var materialIds = dtos.Select(x => x.MaterialId).ToList();
var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList(); var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList();
var subStockIds = dtos.GroupBy(x => x.SubStockId).Select(x => x.Key).ToList(); var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, orgCodes);
var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds, orgCodes);
//还要汇总出:只对仓库的库存合集,不要仓位
var inventoryDetailsTotal = inventoryDetails.GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode })
.Select(x => new
{
OrgCode = x.Key.OrgCode,
MaterialId = x.Key.MaterialId,
StockCode = x.Key.StockCode,
Qty = x.Sum(t => t.Qty)
}).ToList();
//1.创建要新增的对象 //1.创建要新增的对象
var add_entitys = new List<InventoryInOutDetails>(); var add_entitys = new List<InventoryInOutDetails>();
@@ -63,10 +72,9 @@ namespace WMS.Web.Domain.Services
foreach (var dto in dtos) foreach (var dto in dtos)
{ {
//2.1当前的即时库存明细 //2.1当前的即时库存明细
var currentDetail= inventoryDetails.Where(x => var currentDetail= inventoryDetailsTotal.Where(x =>
x.MaterialId == dto.MaterialId && x.MaterialId == dto.MaterialId &&
x.StockCode == dto.StockCode && x.StockCode == dto.StockCode &&
x.SubStockId == dto.SubStockId &&
x.OrgCode==dto.OrgCode).FirstOrDefault(); x.OrgCode==dto.OrgCode).FirstOrDefault();
//2.2组装物料收发明细实体 //2.2组装物料收发明细实体

View File

@@ -194,5 +194,20 @@ namespace WMS.Web.Repositories
orgCodes.Contains(x.OrgCode) && orgCodes.Contains(x.OrgCode) &&
subStockIds.Contains(x.SubStockId) ).ToListAsync(); subStockIds.Contains(x.SubStockId) ).ToListAsync();
} }
/// <summary>
/// 列表-根据物料和仓库和仓位
/// </summary>
/// <param name="materialIds"></param>
/// <param name="stockCodes"></param>
/// <param name="subStockIds"></param>
/// <param name="orgCodes"></param>
/// <returns></returns>
public async Task<List<InventoryDetails>> GetListBy(List<int> materialIds, List<string> stockCodes,List<string> orgCodes)
{
return await _context.InventoryDetails.Where(x => materialIds.Contains(x.MaterialId) &&
stockCodes.Contains(x.StockCode) &&
orgCodes.Contains(x.OrgCode)).ToListAsync();
}
} }
} }