|
@ -94,15 +94,16 @@ public class UnplannedReceiptJobAppService |
|
|
public async Task DoByFreeAsync(string jobNumber,string worker,List<UnplannedReceiptJobDetailDTO> detailDtos) |
|
|
public async Task DoByFreeAsync(string jobNumber,string worker,List<UnplannedReceiptJobDetailDTO> detailDtos) |
|
|
{ |
|
|
{ |
|
|
var details = ObjectMapper.Map<List<UnplannedReceiptJobDetailDTO>, List<UnplannedReceiptJobDetail>>(detailDtos); |
|
|
var details = ObjectMapper.Map<List<UnplannedReceiptJobDetailDTO>, List<UnplannedReceiptJobDetail>>(detailDtos); |
|
|
var job=await _repository.FindAsync(p => p.Number == jobNumber).ConfigureAwait(false); |
|
|
var job=await _repository.FindAsync(p => p.Number == jobNumber).ConfigureAwait(false); |
|
|
|
|
|
|
|
|
if (job == null) |
|
|
if (job == null) |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException($"{jobNumber}【任务】不存在"); |
|
|
throw new UserFriendlyException($"{jobNumber}【任务】不存在"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (job.JobStatus != EnumJobStatus.Open) |
|
|
if (job.JobStatus!=EnumJobStatus.Doing) |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException($"{jobNumber}【任务】不是【打开】状态"); |
|
|
throw new UserFriendlyException($"{jobNumber}【任务】不是【执行】状态"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (detailDtos.Count(p => p.ItemCode != job.ItemCode)>0) |
|
|
if (detailDtos.Count(p => p.ItemCode != job.ItemCode)>0) |
|
@ -121,7 +122,7 @@ public class UnplannedReceiptJobAppService |
|
|
var itemBasicDto=await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); |
|
|
var itemBasicDto=await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
|
detail.HandledToLocationArea = locationDto.AreaCode; |
|
|
detail.HandledToLocationArea = locationDto.AreaCode; |
|
|
detail.HandledToLocationErpCode = locationDto.ErpLocationCode; |
|
|
detail.HandledToLocationErpCode = locationDto.ErpLocationCode; |
|
|
detail.HandledToLocationGroup = locationDto.LocationGroupCode; |
|
|
detail.HandledToLocationGroup = locationDto.LocationGroupCode; |
|
|
detail.HandledToLocationCode=locationDto.Code; |
|
|
detail.HandledToLocationCode=locationDto.Code; |
|
|
detail.Status = EnumInventoryStatus.OK; |
|
|
detail.Status = EnumInventoryStatus.OK; |
|
@ -167,6 +168,8 @@ public class UnplannedReceiptJobAppService |
|
|
job.Details = details; |
|
|
job.Details = details; |
|
|
job.CompleteUserName = worker; |
|
|
job.CompleteUserName = worker; |
|
|
job.JobStatus = EnumJobStatus.Done; |
|
|
job.JobStatus = EnumJobStatus.Done; |
|
|
|
|
|
job.CompleteTime=DateTime.Now; |
|
|
|
|
|
job.Worker=worker; |
|
|
job =await _repository.UpdateAsync(job).ConfigureAwait(false); |
|
|
job =await _repository.UpdateAsync(job).ConfigureAwait(false); |
|
|
await LocalEventBus.PublishAsync(new SfsCompletedEntityEventData<UnplannedReceiptJob>(job), false).ConfigureAwait(false); |
|
|
await LocalEventBus.PublishAsync(new SfsCompletedEntityEventData<UnplannedReceiptJob>(job), false).ConfigureAwait(false); |
|
|
await UpdateRequestStatusAsync(job.UnplannedReceiptRequestNumber).ConfigureAwait(false); |
|
|
await UpdateRequestStatusAsync(job.UnplannedReceiptRequestNumber).ConfigureAwait(false); |
|
@ -207,6 +210,8 @@ public class UnplannedReceiptJobAppService |
|
|
job.DeptCode = requestDto.DeptCode; |
|
|
job.DeptCode = requestDto.DeptCode; |
|
|
job.DeptName = requestDto.DeptName; |
|
|
job.DeptName = requestDto.DeptName; |
|
|
job.Qty = requestDtoDetail.Qty; |
|
|
job.Qty = requestDtoDetail.Qty; |
|
|
|
|
|
job.Worker = "未执行"; |
|
|
|
|
|
job.BuildDate = DateTime.Now; |
|
|
if (locationDtos == null || locationDtos.Count < 1) |
|
|
if (locationDtos == null || locationDtos.Count < 1) |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException($"该【{requestDtoDetail.FromErpLocationCode}】储位下没有库位"); |
|
|
throw new UserFriendlyException($"该【{requestDtoDetail.FromErpLocationCode}】储位下没有库位"); |
|
|