diff --git a/src/WMS.Web.Domain/Entitys/OutStockTask.cs b/src/WMS.Web.Domain/Entitys/OutStockTask.cs index 51776e6f..970e7701 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTask.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTask.cs @@ -209,6 +209,7 @@ namespace WMS.Web.Domain.Entitys else details_new.Add(d); } + this.CreateTime = list.Max(o => o.CreateTime);//取最新的时间 this.OperatorId = creatorId; this.OperateTime = DateTime.Now; this.Status = OutStockStatus.Wait; diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index 2dd937f3..315e165f 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -29,10 +29,11 @@ namespace WMS.Web.Domain.Services private readonly IBoxRepositories _boxRepositories; private readonly ISerialNumberService _serialNumberService; private readonly IBoxInventoryService _boxInventoryService; + private readonly IBoxInventoryRepositories _boxInventoryRepositories; public ChangeMoveBoxService(IMapper mapper, ILoginService loginService, IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories, IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories, - ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService) + ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories) { _mapper = mapper; _loginService = loginService; @@ -42,6 +43,7 @@ namespace WMS.Web.Domain.Services _boxRepositories = boxRepositories; _serialNumberService = serialNumberService; _boxInventoryService = boxInventoryService; + _boxInventoryRepositories = boxInventoryRepositories; } /// /// 改箱保存 @@ -75,21 +77,21 @@ namespace WMS.Web.Domain.Services if (destBox != null) boxList.Add(destBox); - var subStock= await _basbicsRepositories.GetSubUcStockAsync(dto.SubStockId, loginInfo.UserInfo.CompanyId); - + var subStock = await _basbicsRepositories.GetSubUcStockAsync(dto.SubStockId, loginInfo.UserInfo.CompanyId); + var boxInventory = await _boxInventoryRepositories.Get(dto.SrcBoxId); List list = new List(); foreach (var d in dto.Details) { ChangeBoxRecord entity = new ChangeBoxRecord(); entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialId, d.SerialNumbers, dto.SrcBoxId, dto.DestBoxId); - entity.SrcSubStockId = 0;//原乡仓位需要去拉一下库存获取 + entity.SrcSubStockId = boxInventory?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取 if (subStock != null) { entity.DestSubStockId = dto.SubStockId; entity.DestBoxOrgCode = subStock.ErpOrgCode; entity.DestStockCode = subStock.StockCode; } - list.Add(entity); + list.Add(entity); } IDbContextTransaction _transaction = null; @@ -97,11 +99,11 @@ namespace WMS.Web.Domain.Services _transaction = _basbicsRepositories.GetTransaction(); Result res_Rollback = Result.ReSuccess(); bool isSuccess = true; - + if (res_Rollback.IsSuccess) { isSuccess = await _changeBoxRecordRepositories.AddRange(list, false); - if (!isSuccess) res_Rollback=Result.ReFailure(ResultCodes.DateWriteError); + if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError); } if (res_Rollback.IsSuccess) { @@ -111,9 +113,9 @@ namespace WMS.Web.Domain.Services if (res_Rollback.IsSuccess) { isSuccess = await _boxRepositories.EditEntityList(boxList, false); - if (!isSuccess) res_Rollback= Result.ReFailure(ResultCodes.DateWriteError); + if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError); } - if(res_Rollback.IsSuccess) + if (res_Rollback.IsSuccess) { var res_Inventory = await _boxInventoryService.GenerateChangeBox(list, false); if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory; @@ -142,7 +144,7 @@ namespace WMS.Web.Domain.Services { var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId); var entity = new MoveBoxRecord(); - entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, subStock ?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId); + entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, subStock?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId); entityList.Add(entity); } var inventoryList = _mapper.Map>(dto); @@ -169,7 +171,7 @@ namespace WMS.Web.Domain.Services if (!res_Rollback.IsSuccess) return res_Rollback; if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); - + return Result.ReSuccess(); }