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 c349fbe50..1be488c64 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 @@ -104,6 +104,15 @@ public class KittingIssueJobAppService { throw new UserFriendlyException($"未找到ID为 {id} 的任务"); } + + if (kittingJob.JobStatus == EnumJobStatus.Open || kittingJob.JobStatus == EnumJobStatus.Partial || + kittingJob.JobStatus == EnumJobStatus.Wait) + { + throw new UserFriendlyException($"任务状态不是{kittingJob.JobStatus == EnumJobStatus.Open}、" + + $"{kittingJob.JobStatus == EnumJobStatus.Partial}、" + + $"{kittingJob.JobStatus == EnumJobStatus.Wait}"); + } + await _expectOutAppService.RemoveByNumberAsync(kittingJob.Number).ConfigureAwait(false); kittingJob.JobStatus = EnumJobStatus.Cancelled; await _repository.UpdateAsync(kittingJob).ConfigureAwait(false); @@ -138,11 +147,15 @@ public class KittingIssueJobAppService { var job = await _repository.FindAsync(p => p.Number == dto.CallJobNumber).ConfigureAwait(false); - var transferLibJobDto = await _transferLibJobAppService.GetByNumberAsync(dto.Number).ConfigureAwait(false); + if (job.JobStatus != EnumJobStatus.Wait) + { + throw new UserFriendlyException($"任务状态不是{EnumJobStatus.Wait.GetDisplayName()}"); + } var transferLibNoteDetail = dto.Details.First(); var jobDetail = job.Details.First(); + job.JobStatus = EnumJobStatus.Open; jobDetail.TransferLibFromArriveDate = transferLibNoteDetail.HandledFromArriveDate;