diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index 4c570a67..c9e1bfaa 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -419,7 +419,7 @@ namespace WMS.Web.Domain.Services //2.1.遍历:组装明细 generateDtoList.ForEach(x => - { + { foreach (var detItem in dtoData.Details) { //2.1箱是当前的 @@ -434,6 +434,7 @@ namespace WMS.Web.Domain.Services } } }); + //提交处理 var result = await this.ExeInStockBox(generateDtoList, isTransaction); if (!result.IsSuccess) @@ -1270,7 +1271,16 @@ namespace WMS.Web.Domain.Services //3.2组装要新增的箱库存信息:箱和明细和序列号 var addEntity = _mapper.Map(dto); - addEntity.Details = _mapper.Map>(dto.Details); + + //3.3要合并下相同的物料 + var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialId }).Select(d => new BoxInventoryGenerateDetailsDto + { + MaterialId = d.Key.MaterialId, + Qty = d.Sum(t => t.Qty), + SerialNumbers = d.SelectMany(t => t.SerialNumbers).ToList() + }).ToList(); + //3.4明细映射:用合并过的dto数据 + addEntity.Details = _mapper.Map>(dtoDets_merge); add_entitys.Add(addEntity); //4.组装即时库存 @@ -1298,7 +1308,15 @@ namespace WMS.Web.Domain.Services { //3.2组装要新增的箱库存信息:箱和明细和序列号 var addEntity = _mapper.Map(dto); - addEntity.Details = _mapper.Map>(dto.Details); + //3.3要合并下相同的物料 + var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialId }).Select(d => new BoxInventoryGenerateDetailsDto + { + MaterialId = d.Key.MaterialId, + Qty = d.Sum(t => t.Qty), + SerialNumbers = d.SelectMany(t => t.SerialNumbers).ToList() + }).ToList(); + //3.4明细映射:用合并过的dto数据 + addEntity.Details = _mapper.Map>(dtoDets_merge); add_entitys.Add(addEntity); //3.3.遍历:dto明细;组装即时库存数据