diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/GaoTongs/GaoTongAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/GaoTongs/GaoTongAppService.cs index 35f80e4ca..825bc484a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/GaoTongs/GaoTongAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/GaoTongs/GaoTongAppService.cs @@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Volo.Abp; using Volo.Abp.Application.Services; +using Volo.Abp.Uow; using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Domain; @@ -32,6 +33,7 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService private readonly IItemBasicAppService _itemBasicAppService; private readonly ILocationAppService _locationAppService; private readonly IPositionCodeAppService _positionCodeAppService; + private readonly UnitOfWorkManager _unitOfWorkManager; public GaoTongAppService( IBalanceAppService balanceAppService @@ -39,7 +41,7 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService , CurrentUser currentUser , IItemBasicAppService itemBasicAppService , ILocationAppService locationAppService - , IPositionCodeAppService positionCodeAppService) + , IPositionCodeAppService positionCodeAppService, UnitOfWorkManager unitOfWorkManager) { _balanceAppService = balanceAppService; _transferNoteAppService = transferNoteAppService; @@ -47,6 +49,7 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService _itemBasicAppService = itemBasicAppService; _locationAppService = locationAppService; _positionCodeAppService = positionCodeAppService; + _unitOfWorkManager = unitOfWorkManager; } /// /// 组盘信息反馈到东阳WMS @@ -57,6 +60,7 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService public async Task FeedbackZuPanAsync(ZuPanEditInput input) { GaoTongResultDTO ret = new GaoTongResultDTO(); + using var unitOfWork = _unitOfWorkManager.Begin(); try { ItemBasicDTO itemBasicObj = await _itemBasicAppService.GetByCodeAsync(input.ItemCode).ConfigureAwait(false); @@ -139,6 +143,7 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService ret.Code = GaoTongResultStatus.Failure; ret.Message = "FeedbackZuPanAsync执行失败:" + ex.Message; ret.OperateTime = CommonHelper.CurTimeStr; + await unitOfWork.RollbackAsync().ConfigureAwait(false); return ret; } } @@ -173,6 +178,7 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService public async Task ManualSelection(ZuPanEditInput input) { GaoTongResultDTO ret = new GaoTongResultDTO(); + using var unitOfWork = _unitOfWorkManager.Begin(); try { ItemBasicDTO itemBasicObj = await _itemBasicAppService.GetByCodeAsync(input.ItemCode).ConfigureAwait(false); @@ -268,6 +274,7 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService ret.Code = GaoTongResultStatus.Failure; ret.Message = "ManualSelection执行失败:" + ex.Message; ret.OperateTime = CommonHelper.CurTimeStr; + await unitOfWork.RollbackAsync(); return ret; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs index 40879dd96..4d0273d08 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs @@ -51,6 +51,7 @@ public class AssembleIssueJobAppService private readonly IOptions _options; private readonly ILogger _logger; private readonly ICurrentUser _currentUser; + private readonly UnitOfWorkManager _unitOfWorkManager; public AssembleIssueJobAppService( ILogger logger, @@ -58,7 +59,7 @@ public class AssembleIssueJobAppService ILocationAppService locationAppService, IAssembleIssueNoteAppService assembleIssueNoteAppService, IExpectOutAppService expectOutAppService , IHttpClientFactory httpClientFactory - , IOptions options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser) : base( + , IOptions options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser, UnitOfWorkManager unitOfWorkManager) : base( repository, assembleIssueJobManager) { _assembleIssueJobManager = assembleIssueJobManager; @@ -69,6 +70,7 @@ public class AssembleIssueJobAppService _options = options; _transferLibRequestAppService = transferLibRequestAppService; _currentUser = currentUser; + _unitOfWorkManager = unitOfWorkManager; _logger = logger; } @@ -463,6 +465,7 @@ public class AssembleIssueJobAppService ret.Code = 0; ret.Message = "操作成功"; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); + using var unitOfWork = _unitOfWorkManager.Begin(); try { var IssueJobToRestoDetailDTOs = new List(); @@ -534,6 +537,7 @@ public class AssembleIssueJobAppService ret.Code = 1; ret.Message = ex.Message; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); + await unitOfWork.RollbackAsync().ConfigureAwait(false); } return ret; @@ -549,6 +553,7 @@ public class AssembleIssueJobAppService #endif var errors = new List(); var ret = new ReusltObject { Code = int.Parse(GaoTongResultStatus.Success), OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Message = "操作成功" }; + using var unitOfWork = _unitOfWorkManager.Begin(); try { @@ -669,6 +674,7 @@ public class AssembleIssueJobAppService Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message , Data = json }; + await unitOfWork.RollbackAsync(); return ret; }