diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index eefc326d..8546c7ad 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -97,13 +97,21 @@ namespace WMS.Web.Domain.Services bool isSuccess = true; var res_Inventory = await _boxInventoryService.GenerateChangeBox(inventoryList, false); if (!res_Inventory.IsSuccess) isRollback = true; - isSuccess = await _changeBoxRecordRepositories.AddRange(list, false); - if (!isSuccess) isRollback = true; - var res_change = await _serialNumberService.ChangeBox(list, loginInfo, false); - if (!res_change.IsSuccess) isRollback = true; - isSuccess = await _boxRepositories.EditEntityList(boxList, false); - if (!isSuccess) isRollback = true; - + if (!isRollback) + { + isSuccess = await _changeBoxRecordRepositories.AddRange(list, false); + if (!isSuccess) isRollback = true; + } + if (!isRollback) + { + var res_change = await _serialNumberService.ChangeBox(list, loginInfo, false); + if (!res_change.IsSuccess) isRollback = true; + } + if (!isRollback) + { + isSuccess = await _boxRepositories.EditEntityList(boxList, false); + if (!isSuccess) isRollback = true; + } //提交事务 if (isTransaction) { @@ -111,6 +119,7 @@ namespace WMS.Web.Domain.Services if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); } + if (isRollback) return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReSuccess(); } @@ -120,7 +129,7 @@ namespace WMS.Web.Domain.Services /// /// /// - public async Task MoveBoxSave(List dto,bool IsUp, LoginInDto loginInfo) + public async Task MoveBoxSave(List dto, bool IsUp, LoginInDto loginInfo) { //1.下架时 需要验证箱是否在库存里 @@ -137,16 +146,25 @@ namespace WMS.Web.Domain.Services IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); bool isRollback = false; bool isSuccess = true; + string messageError = ""; var res_Inventory = await _boxInventoryService.GenerateMoveBox(inventoryList, false); if (!res_Inventory.IsSuccess) isRollback = true; - isSuccess = await _moveBoxRecordRepositories.AddRange(entityList, false); - if (!isSuccess) isRollback = true; - var res_change = await _serialNumberService.MoveBox(entityList, loginInfo, false); - if (!res_change.IsSuccess) isRollback = true; + + if (!isRollback) + { + isSuccess = await _moveBoxRecordRepositories.AddRange(entityList, false); + if (!isSuccess) isRollback = true; + } + if (!isRollback) + { + var res_change = await _serialNumberService.MoveBox(entityList, loginInfo, false); + if (!res_change.IsSuccess) isRollback = true; + } //提交事务 isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); + if (isRollback) return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReSuccess(); }