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>
<returns></returns>
</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">
<summary>
物料收发明细-仓储接口

View File

@@ -45,5 +45,14 @@ namespace WMS.Web.Domain.Infrastructure
/// <param name="orgCodes"></param>
/// <returns></returns>
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 materialIds = dtos.Select(x => x.MaterialId).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, subStockIds, orgCodes);
var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, 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.创建要新增的对象
var add_entitys = new List<InventoryInOutDetails>();
@@ -63,10 +72,9 @@ namespace WMS.Web.Domain.Services
foreach (var dto in dtos)
{
//2.1当前的即时库存明细
var currentDetail= inventoryDetails.Where(x =>
var currentDetail= inventoryDetailsTotal.Where(x =>
x.MaterialId == dto.MaterialId &&
x.StockCode == dto.StockCode &&
x.SubStockId == dto.SubStockId &&
x.OrgCode==dto.OrgCode).FirstOrDefault();
//2.2组装物料收发明细实体

View File

@@ -194,5 +194,20 @@ namespace WMS.Web.Repositories
orgCodes.Contains(x.OrgCode) &&
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();
}
}
}