diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs index 941bde049..2f01874b8 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs @@ -14,6 +14,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Domain.Entities; using Volo.Abp.ObjectMapping; using Volo.Abp.Uow; +using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Domain.Shared; using Win_in.Sfs.Shared.Domain; @@ -37,18 +38,20 @@ public class ThirdLocationJobAppService private readonly ITransferLogAppService _transferLogAppService; private readonly ILocationAppService _locationAppService; private readonly IThirdLocationNoteAppService _thirdLocationNoteAppService; + private readonly ICurrentUser _currentUser; protected IThirdLocationRequestAppService ThirdLocationRequestAppService => LazyServiceProvider.LazyGetRequiredService(); public ThirdLocationJobAppService( IThirdLocationJobRepository repository, IThirdLocationJobManager thirdLocationJobManager, - ITransferLogAppService transferLogAppService, ILocationAppService locationAppService, IThirdLocationNoteAppService thirdLocationNoteAppService) : base(repository, thirdLocationJobManager) + ITransferLogAppService transferLogAppService, ILocationAppService locationAppService, IThirdLocationNoteAppService thirdLocationNoteAppService, ICurrentUser currentUser) : base(repository, thirdLocationJobManager) { _thirdLocationJobManager = thirdLocationJobManager; _transferLogAppService = transferLogAppService; _locationAppService = locationAppService; _thirdLocationNoteAppService = thirdLocationNoteAppService; + _currentUser = currentUser; } [HttpPost("")] @@ -152,6 +155,34 @@ public class ThirdLocationJobAppService return ObjectMapper.Map, List>(list); } + [HttpPost("accept/{id}")] + [UnitOfWork] + public override async Task AcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = true; + entity.ClaimsUserName = _currentUser.UserName; + entity.ClaimsUserId = _currentUser.Id.ToString(); + entity.AcceptTime = Clock.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + + /// + /// 取消承接任务 + /// + /// + /// + [HttpPost("cancel-accept/{id}")] + [UnitOfWork] + public override async Task CancelAcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = false; + entity.ClaimsUserName = string.Empty; + entity.ClaimsUserId = string.Empty; + entity.AcceptTime = DateTime.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } #region 私有 private async Task UpdateJobStatusAsync(ThirdLocationJob thirdLocationJob) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs index 13aae9191..cc4fbcfff 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs @@ -142,7 +142,7 @@ public class ThirdLocationRequestAppService : SfsStoreRequestAppServiceBase(entity); @@ -168,14 +168,20 @@ public class ThirdLocationRequestAppService : SfsStoreRequestAppServiceBase(entity);