diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index b0754f55c..a481eadbd 100644 Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ 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 be1af1ebc..441c35645 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 @@ -99,21 +99,26 @@ public class KittingIssueJobAppService throw new UserFriendlyException($"未找到ID为 {id} 的任务"); } - if (kittingJob.JobStatus == EnumJobStatus.Open || kittingJob.JobStatus == EnumJobStatus.Partial || - kittingJob.JobStatus == EnumJobStatus.Wait) + if (kittingJob.JobStatus == EnumJobStatus.Open || + kittingJob.JobStatus == EnumJobStatus.Partial || + kittingJob.JobStatus == EnumJobStatus.Wait|| + kittingJob.JobStatus == EnumJobStatus.Doing) + { + await _expectOutAppService.RemoveByNumberAsync(kittingJob.Number).ConfigureAwait(false); + await _transferLibRequestAppService.CancelByCallRequestNumberAsync(kittingJob.KittingRequestNumber) + .ConfigureAwait(false); + + kittingJob.JobStatus = EnumJobStatus.Cancelled; + await _repository.UpdateAsync(kittingJob).ConfigureAwait(false); + } + else { throw new UserFriendlyException($"任务状态不是" + $"{EnumJobStatus.Open.GetDisplayName()}、" + $"{EnumJobStatus.Partial.GetDisplayName()}、" + + $"{EnumJobStatus.Doing.GetDisplayName()}、" + $"{EnumJobStatus.Wait.GetDisplayName()}"); } - - 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("by-request-number/{requestNumber}")] 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 3bd73f5ab..121bf4934 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 @@ -399,7 +399,10 @@ public class TransferLibRequestAppService : SfsStoreRequestAppServiceBase } else { - throw new UserFriendlyException($"【{request.RequestStatus.GetDisplayName()}】状态不允许取消"); + if (request.RequestStatus != EnumRequestStatus.Completed) + { + throw new UserFriendlyException($"【{request.RequestStatus.GetDisplayName()}】状态不允许取消"); + } } }