|
|
@ -22,16 +22,19 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou |
|
|
|
private readonly IBalanceAppService _balanceAppService; |
|
|
|
private readonly ICountJobRepository _repository; |
|
|
|
private readonly ICountNoteRepository _noteRepository; |
|
|
|
private readonly ICountAdjustRequestRepository _countAdjustRequestRepository; |
|
|
|
public CountJobManager( |
|
|
|
ICountJobRepository repository, |
|
|
|
IBalanceAppService balanceAppService, |
|
|
|
ICountNoteRepository noteRepository |
|
|
|
ICountNoteRepository noteRepository, |
|
|
|
ICountAdjustRequestRepository countAdjustRequestRepository |
|
|
|
) : base(repository) |
|
|
|
|
|
|
|
{ |
|
|
|
_noteRepository = noteRepository; |
|
|
|
_balanceAppService = balanceAppService; |
|
|
|
_repository = repository; |
|
|
|
_countAdjustRequestRepository= countAdjustRequestRepository; |
|
|
|
} |
|
|
|
/// <summary>
|
|
|
|
/// 根据选择的任务号码重置盘点任务
|
|
|
@ -47,13 +50,13 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"所选任务属于多个盘点计划,无法重盘!"); |
|
|
|
} |
|
|
|
var note = await _noteRepository.FindAsync(r => r.CountPlanNumber == planNumbers.First()).ConfigureAwait(false); |
|
|
|
if (note != null && note.Adjusted == true) |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"计划单号 【{note.CountPlanNumber}】生成了调整纪律,无法重盘"); |
|
|
|
} |
|
|
|
foreach (var job in joblist) |
|
|
|
{ |
|
|
|
var note = await _noteRepository.FindAsync(r => r.CountJobNumber == job.Number).ConfigureAwait(false); |
|
|
|
if (note != null && note.Adjusted == true) |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"任务号 【{job.Number}】生成的记录【{note.Number}】已经进行了调整,无法重盘"); |
|
|
|
} |
|
|
|
job.JobStatus = EnumJobStatus.Open; |
|
|
|
var details = job.Details.Where(r => r.InventoryStage == job.InventoryStage && r.InventoryQty != 0).ToList(); |
|
|
|
List<CountJobDetail> newDetails = new List<CountJobDetail>(); |
|
|
|