diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/ITransferLibRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/ITransferLibRequestAppService.cs index ead41f7fc..191365e01 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/ITransferLibRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/ITransferLibRequestAppService.cs @@ -18,4 +18,6 @@ public interface ITransferLibRequestAppService CancellationToken cancellationToken = default); Task CompleteByJobAsync(string requestNumber); + Task CancelByCallRequestNumberAsync(string callRequestNumber); + Task CompleteByCallRequestNumberAsync(string callRequestNumber); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs index d808124fa..d1caafaa7 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs @@ -36,10 +36,10 @@ public class KittingIssueJobAppService { private readonly IKittingIssueJobManager _kittingIssueJobManager; private readonly ILocationAppService _locationAppService; - private readonly ITransferLibJobAppService _transferLibJobAppService; private readonly IKittingIssueNoteAppService _kittingIssueNoteAppService; private readonly IExpectOutAppService _expectOutAppService; private readonly IHttpClientFactory _httpClientFactory; + private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; protected IKittingIssueRequestAppService KittingIssueRequestAppService => @@ -47,23 +47,19 @@ public class KittingIssueJobAppService public KittingIssueJobAppService( IKittingIssueJobRepository repository, IKittingIssueJobManager kittingIssueJobManager, - ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService, + ILocationAppService locationAppService, IKittingIssueNoteAppService kittingIssueNoteAppService, IExpectOutAppService expectOutAppService , IHttpClientFactory httpClientFactory - , IOptions options - - - - ) : base( + , IOptions options, ITransferLibRequestAppService transferLibRequestAppService) : base( repository, kittingIssueJobManager) { _kittingIssueJobManager = kittingIssueJobManager; _locationAppService = locationAppService; - _transferLibJobAppService = transferLibJobAppService; _kittingIssueNoteAppService = kittingIssueNoteAppService; _expectOutAppService = expectOutAppService; _httpClientFactory = httpClientFactory; _options = options; + _transferLibRequestAppService = transferLibRequestAppService; } [HttpPost("add-many")] @@ -115,21 +111,12 @@ public class KittingIssueJobAppService } await _expectOutAppService.RemoveByNumberAsync(kittingJob.Number).ConfigureAwait(false); + await _transferLibRequestAppService.CancelByCallRequestNumberAsync(kittingJob.KittingRequestNumber).ConfigureAwait(false); + kittingJob.JobStatus = EnumJobStatus.Cancelled; await _repository.UpdateAsync(kittingJob).ConfigureAwait(false); } - [HttpPost("cancel-by-request/{requestNumber}")] - public virtual async Task CancelByMaterialRequestAsync(string requestNumber) - { - var entities = await _repository.GetListAsync(p => p.KittingRequestNumber == requestNumber) - .ConfigureAwait(false); - foreach (var entity in entities) - { - await _kittingIssueJobManager.CancelAsync(entity).ConfigureAwait(false); - } - } - [HttpPost("by-request-number/{requestNumber}")] public virtual async Task> GetByRequestNumberAsync(string requestNumber) { @@ -249,6 +236,8 @@ public class KittingIssueJobAppService await _expectOutAppService.RemoveByNumberAsync(kittingIssueJob.Number).ConfigureAwait(false); await KittingIssueRequestAppService.UpdateStatusCompletedAsync(kittingIssueJob.KittingRequestNumber).ConfigureAwait(false); + await _transferLibRequestAppService.CancelByCallRequestNumberAsync(kittingIssueJob.KittingRequestNumber).ConfigureAwait(false); + await _repository.UpdateAsync(kittingIssueJob).ConfigureAwait(false); } @@ -267,6 +256,7 @@ public class KittingIssueJobAppService kittingIssueJob.JobStatus = EnumJobStatus.Done; await _repository.UpdateAsync(kittingIssueJob).ConfigureAwait(false); await _expectOutAppService.RemoveByNumberAsync(kittingIssueJob.Number).ConfigureAwait(false); + await _transferLibRequestAppService.CancelByCallRequestNumberAsync(kittingIssueJob.KittingRequestNumber).ConfigureAwait(false); } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs index 64501eb3e..3bd73f5ab 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs @@ -313,6 +313,26 @@ public class TransferLibRequestAppService : SfsStoreRequestAppServiceBase #endregion + [HttpPost("Cancel-By-CallRequestNumber")] + public async Task CancelByCallRequestNumberAsync(string callRequestNumber) + { + var list=await _repository.GetListAsync(p=>p.CallRequestNumber==callRequestNumber).ConfigureAwait(false); + foreach (var request in list) + { + await CancelAsync(request.Id).ConfigureAwait(false); + } + } + + [HttpPost("Complete-By-CallRequestNumber")] + public async Task CompleteByCallRequestNumberAsync(string callRequestNumber) + { + var list = await _repository.GetListAsync(p => p.CallRequestNumber == callRequestNumber).ConfigureAwait(false); + foreach (var request in list) + { + await CompleteAsync(request.Id).ConfigureAwait(false); + } + } + public override async Task CancelAsync(Guid id) { var request = await _repository.GetAsync(id).ConfigureAwait(false);