diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index 035e9239..78585889 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -264,6 +264,8 @@ namespace WMS.Web.Domain.Services } }); + var serial= generateDtoList.SelectMany(x => x.Details).SelectMany(x => x.SerialNumbers).ToList(); + _logger.LogInformation("出入库回退上下架:开始的序列号:" + JsonConvert.SerializeObject(serial)); //4.提交处理 var result = await this.ExeBackBox(generateDtoList, isTransaction); if (!result.IsSuccess) @@ -1015,8 +1017,17 @@ namespace WMS.Web.Domain.Services update_entity.Details.ForEach(x => { var current_box_mat_serNums = dto.Details.Where(m => m.MaterialId == x.MaterialId).FirstOrDefault(); - if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialId == x.MaterialId) - x.SerialNumbers.AddRange(current_box_mat_serNums.SerialNumbers); + if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialId == x.MaterialId) + { + foreach (var serialitem in current_box_mat_serNums.SerialNumbers) + { + var isHaveSerial= x.SerialNumbers.Where(sn => sn == serialitem).Any(); + if (!isHaveSerial) + x.SerialNumbers.Add(serialitem); + } + // x.SerialNumbers.AddRange(current_box_mat_serNums.SerialNumbers); + } + }); #endregion