This commit is contained in:
tongfei
2024-03-18 11:03:51 +08:00
parent c0520b5cd3
commit 896450fd23
49 changed files with 394 additions and 536 deletions

View File

@@ -51,16 +51,16 @@ namespace WMS.Web.Domain.Services
//找到物料对应的即时库存明细
var orgCodes = dtos.Select(x => x.OrgCode).ToList();
var materialIds = dtos.Select(x => x.MaterialId).ToList();
var materialNumbers = dtos.Select(x => x.MaterialNumber).ToList();
var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList();
var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, orgCodes);
var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialNumbers, stockCodes, orgCodes);
//还要汇总出:只对仓库的库存合集,不要仓位
var inventoryDetailsTotal = inventoryDetails.GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode })
var inventoryDetailsTotal = inventoryDetails.GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode })
.Select(x => new
{
OrgCode = x.Key.OrgCode,
MaterialId = x.Key.MaterialId,
MaterialNumber = x.Key.MaterialNumber,
StockCode = x.Key.StockCode,
Qty = x.Sum(t => t.Qty)
}).ToList();
@@ -73,7 +73,7 @@ namespace WMS.Web.Domain.Services
{
//2.1当前的即时库存明细
var currentDetail= inventoryDetailsTotal.Where(x =>
x.MaterialId == dto.MaterialId &&
x.MaterialNumber == dto.MaterialNumber &&
x.StockCode == dto.StockCode &&
x.OrgCode==dto.OrgCode).FirstOrDefault();
@@ -99,23 +99,23 @@ namespace WMS.Web.Domain.Services
/// 生成dto
/// </summary>
/// <param name="boxId"></param>
/// <param name="materialId"></param>
/// <param name="materialNumber"></param>
/// <param name="orgCode"></param>
/// <param name="stockCode"></param>
/// <param name="subStockId"></param>
/// <param name="subStockCode"></param>
/// <param name="orderType"></param>
/// <param name="billNo"></param>
/// <param name="qty"></param>
/// <param name="inventoryInOutType"></param>
/// <returns></returns>
public InventoryInOutDetailsGenerateDto GenerateDto(int boxId,int materialId,string orgCode,string stockCode,int subStockId, OrderType orderType,string billNo,decimal qty, InventoryInOutType inventoryInOutType)
public InventoryInOutDetailsGenerateDto GenerateDto(int boxId,string materialNumber, string orgCode,string stockCode, string subStockCode, OrderType orderType,string billNo,decimal qty, InventoryInOutType inventoryInOutType)
{
var item = new InventoryInOutDetailsGenerateDto();
item.BoxId = boxId;
item.MaterialId = materialId;
item.MaterialNumber = materialNumber;
item.OrgCode = orgCode;
item.StockCode = stockCode;
item.SubStockId = subStockId;
item.SubStockCode = subStockCode;
item.OrderType = (int)orderType;
item.OrderBillNo = billNo;
item.Qty = qty;