From cdc2c041c044e591b04c09127fe8ec16fd341ef6 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Wed, 22 Nov 2023 16:26:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E7=AE=B1=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/BoxInventoryService.cs | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index 95748d4d..aa83dfb5 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -69,24 +69,37 @@ namespace WMS.Web.Domain.Services var sour = sourceBoxInventorys.Where(x => x.BoxId == dto.BoxId).FirstOrDefault(); if (sour != null) { + //2.2箱库存 var sour_update_entity = sour; sour_update_entity.Details = sour.Details; foreach (var dtoItem in dto.Details) { - //找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题 + //2.2.1箱库存:找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题 var sour_ChangeDetail = sour_update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); if (sour_ChangeDetail == null) return Result.ReFailure(ResultCodes.BoxInventoryNoDataError); - //箱物料的库存数量不足;小于要拿出来的数量 + //2.2.1箱库存:箱物料的库存数量不足;小于要拿出来的数量 if (sour_ChangeDetail.Qty < dtoItem.Qty) return Result.ReFailure(ResultCodes.BoxInventoryNoInventoryError); - //减库存 + //2.2.1箱库存:减库存 sour_ChangeDetail.Qty = sour_ChangeDetail.Qty - dtoItem.Qty; - //再移除要改箱的序列号;最后就是原箱库存的新序列号 + //2.2.1箱库存:再移除要改箱的序列号;最后就是原箱库存的新序列号 sour_ChangeDetail.SerialNumbers.RemoveAll(x => dtoItem.SerialNumbers.Contains(x)); + //2.2.2组装即时库存dto + var inventoryDet = new InventoryDetailsGenerateDto(); + inventoryDet.MaterialId = dtoItem.MaterialId; + inventoryDet.OrgCode = sour_update_entity.OrgCode; + inventoryDet.StockCode = sour_update_entity.StockCode; + inventoryDet.SubStockId = sour_update_entity.SubStockId; + inventoryDet.Qty = dtoItem.Qty; + inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; + //2.2.2即时库存:修改箱库存的集合 + InventoryDetailsGenerateDto.Add(inventoryDet); + } + //2.2.1箱库存:修改箱库存的集合 update_entitys.Add(sour_update_entity); }