diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs index f95d99a9..88eb6c54 100644 --- a/src/WMS.Web.Domain/Services/SerialNumberService.cs +++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs @@ -307,7 +307,7 @@ namespace WMS.Web.Domain.Services //获取序列号信息 var serialNumbers = inStock.Details.SelectMany(s => s.SerialNumbers).ToList(); var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers); - var boxIds = entityList.Select(s => s.BoxId).ToList(); + var boxIds = inStock.Details.Select(s => s.BoxId).ToList(); var boxList = await _boxRepositories.GetEntityList(boxIds); var userName = _singleDataService.GetSingleData(SingleAction.Staffs, loginInfo.UserInfo.CompanyId, loginInfo.UserInfo.StaffId); @@ -319,19 +319,21 @@ namespace WMS.Web.Domain.Services List sList = new List(); foreach (var entity in entityList) { - var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId); + var boxId = inStock.Details.FirstOrDefault(s => s.SerialNumbers.Contains(entity.SerialNumber))?.BoxId ?? 0; + var box = boxList.FirstOrDefault(f => f.Id == boxId); var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId); var subStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, inStock.SubStockId); //修改序列号和箱绑定关系 entity.InStock(instockDetail.SourceBillNo, inStock.Type); + entity.Bind(boxId, box?.CompleteCartonTime ?? DateTime.Now); //记录序列号操作日志 SerialNumberOperate op = new SerialNumberOperate() { MaterialId = entity.MaterialId, SerialNumber = entity.SerialNumber, - OrgId = box.OrgId, - SupplierId = box.SupplierId, + OrgId = box?.OrgId ?? 0, + SupplierId = box?.SupplierId ?? 0, OperateTime = DateTime.Now, OperateType = InStockTypeConvert(inStock.Type), OperateUser = userName, @@ -499,7 +501,7 @@ namespace WMS.Web.Domain.Services if (isSuccess) isSuccess = await _serialNumbersRepositories.AddRange(sList, false); if (isSuccess) - isSuccess = await _boxRepositories.EditEntityList(box_New_List,false); + isSuccess = await _boxRepositories.EditEntityList(box_New_List, false); //序列号操作记录 var res = await this.SerialNumberOperate(soList, false);