diff --git a/src/WMS.Web.Domain/Services/BackRecordService.cs b/src/WMS.Web.Domain/Services/BackRecordService.cs index 2bc8f38e..6caf8c19 100644 --- a/src/WMS.Web.Domain/Services/BackRecordService.cs +++ b/src/WMS.Web.Domain/Services/BackRecordService.cs @@ -31,16 +31,19 @@ namespace WMS.Web.Domain.Services private readonly IBoxInventoryService _boxInventoryService; private readonly IChangeMoveBoxService _changeMoveBoxService; private readonly ISerialNumbersRepositories _serialNumbersRepositories; + private readonly IInStockTaskBoxService _inStockTaskBoxService; public BackRecordService(IMapper mapper, ILoginService loginService, IBasicsRepositories basicsRepositories, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, IChangeMoveBoxService changeMoveBoxService, ISerialNumbersRepositories serialNumbersRepositories, - IBackRecordRepositories backRecordRepositories) + IBackRecordRepositories backRecordRepositories, + IInStockTaskBoxService inStockTaskBoxService) { _mapper = mapper; _loginService = loginService; + _inStockTaskBoxService = inStockTaskBoxService; _changeMoveBoxService = changeMoveBoxService; _serialNumberService = serialNumberService; _boxInventoryService = boxInventoryService; @@ -140,6 +143,15 @@ namespace WMS.Web.Domain.Services if (!boxInventoryResult.IsSuccess) return boxInventoryResult; + //下架:需要解绑收货过的箱子 + if (entity.Type == BackRecordType.InstockOff) + { + var boxIds= entity.Details.GroupBy(x => x.BoxId).Select(x => x.Key).ToList(); + var unBindResult= await _inStockTaskBoxService.UnBind(boxIds, isTransaction); + if (!unBindResult.IsSuccess) + return unBindResult; + } + //提交事务 var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction); if (!isSuccess)