diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 78f695cd..46013013 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1141,6 +1141,11 @@ 收货数量 + + + 序列号集 + + erp入库任务明细表 diff --git a/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs b/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs index a17ee8a9..6d7f0265 100644 --- a/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs @@ -34,5 +34,10 @@ namespace WMS.Web.Domain.Entitys /// 收货数量 /// public decimal ReceiveQty { get; set; } + + /// + /// 序列号集 + /// + public List SerialNumbers { get; set; } = new List(); } } diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 7151da3f..55ebdeee 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -584,6 +584,9 @@ namespace WMS.Web.Domain.Services if (taskBoxList != null && taskBoxList.Count != 0) return Result.ReFailure(ResultCodes.InStockTaskBoxIsHaveData); + //序列号 + var serialNumbs= await _serialNumbersRepositories.GetEntityListByBoxIds(dto_boxIds); + //3.组装绑定关系表,要添加的集合 var boxEntitys = await _boxRepositories.GetEntityList(dto_boxIds); var taskBoxAdd = new List(); @@ -592,9 +595,15 @@ namespace WMS.Web.Domain.Services var taskBox = _mapper.Map(item); taskBox.TaskId = entity.Id; taskBox.Receiver(staffId); + + var currentBox_serialNumbs= serialNumbs.Where(s => s.BoxId == taskBox.BoxId).ToList(); var current_dto_box_dets = boxEntitys.Where(x => x.Id == item.BoxId).SelectMany(x => x.Details).ToList(); taskBox.Details = _mapper.Map>(current_dto_box_dets); - taskBox.Details.ForEach(x => { x.ErpDetailId = item.ErpDetailId; }); + taskBox.Details.ForEach(x => + { + x.ErpDetailId = item.ErpDetailId; + x.SerialNumbers= currentBox_serialNumbs.Where(s => s.MaterialNumber == x.MaterialNumber).Select(s => s.SerialNumber).ToList(); + }); taskBoxAdd.Add(taskBox); } var isSuccess = await _inStockTaskBoxRepositories.AddRange(taskBoxAdd, isTransaction); diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs index 61b66934..ea726d5d 100644 --- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs @@ -190,7 +190,8 @@ namespace WMS.Web.Repositories ReceiveTime = x.box.CreateTime.HasValue ? x.box.CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", Receiver = x.box.ReceiverId.HasValue ? _singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.box.ReceiverId.Value) : "", Qty = x.detail.ReceiveQty, - ReceiveQty = x.detail.ReceiveQty + ReceiveQty = x.detail.ReceiveQty, + SerialNumbers= (string.Join(",", x.detail.SerialNumbers).TrimEnd(',')) }).ToListAsync(); if (boxList != null && boxList.Count != 0) @@ -218,14 +219,14 @@ namespace WMS.Web.Repositories }); } - //序列号 - var materNumbs = boxList.GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList(); - var serialNumbList = _context.SerialNumbers.Where(x => materNumbs.Contains(x.MaterialNumber)).ToList(); + ////序列号 + //var materNumbs = boxList.GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList(); + //var serialNumbList = _context.SerialNumbers.Where(x => materNumbs.Contains(x.MaterialNumber)).ToList(); - boxList.ForEach(x => - { - x.SerialNumbers = (string.Join(",", serialNumbList.Where(t => t.BoxId == x.BoxId && t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList())).TrimEnd(','); - }); + //boxList.ForEach(x => + //{ + // x.SerialNumbers = (string.Join(",", serialNumbList.Where(t => t.BoxId == x.BoxId && t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList())).TrimEnd(','); + //}); }