|
|
@ -154,20 +154,22 @@ public class AssembleIssueJobAppService |
|
|
|
public override async Task<AssembleIssueJobDTO> CreateAsync(AssembleIssueJobEditInput input) |
|
|
|
{ |
|
|
|
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); |
|
|
|
await UpdateJobStatusWaitByDimensionalStorehouseAsync(input).ConfigureAwait(false); |
|
|
|
await UpdateJobStatusWaitByAgvAsync(input).ConfigureAwait(false); |
|
|
|
var flagDimensionalStorehouse= await UpdateJobStatusWaitByDimensionalStorehouseAsync(input).ConfigureAwait(false); |
|
|
|
if (flagDimensionalStorehouse == false) |
|
|
|
{ |
|
|
|
await UpdateJobStatusWaitByAgvAsync(input).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
var assembleIssueJobDto = await base.CreateAsync(input).ConfigureAwait(false); |
|
|
|
await DoingDimensionalStorehouseAsync(assembleIssueJobDto).ConfigureAwait(false); |
|
|
|
await DoingAgvAsync(assembleIssueJobDto).ConfigureAwait(false); |
|
|
|
if (flagDimensionalStorehouse == false) |
|
|
|
{ |
|
|
|
await DoingAgvAsync(assembleIssueJobDto).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
return assembleIssueJobDto; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[HttpPost("invalid")] |
|
|
|
public override async Task CancelAsync(Guid id) |
|
|
|
{ |
|
|
@ -180,7 +182,8 @@ public class AssembleIssueJobAppService |
|
|
|
if (assembleJob.JobStatus == EnumJobStatus.Open || |
|
|
|
assembleJob.JobStatus == EnumJobStatus.Partial || |
|
|
|
assembleJob.JobStatus == EnumJobStatus.Wait || |
|
|
|
assembleJob.JobStatus == EnumJobStatus.Doing) |
|
|
|
assembleJob.JobStatus == EnumJobStatus.Doing|| |
|
|
|
assembleJob.JobStatus==EnumJobStatus.WaitAgv) |
|
|
|
{ |
|
|
|
await _expectOutAppService.RemoveByNumberAsync(assembleJob.Number).ConfigureAwait(false); |
|
|
|
await _transferLibRequestAppService.CancelByCallRequestNumberAsync(assembleJob.AssembleRequestNumber) |
|
|
@ -195,7 +198,9 @@ public class AssembleIssueJobAppService |
|
|
|
$"{EnumJobStatus.Open.GetDisplayName()}、" + |
|
|
|
$"{EnumJobStatus.Partial.GetDisplayName()}、" + |
|
|
|
$"{EnumJobStatus.Doing.GetDisplayName()}、" + |
|
|
|
$"{EnumJobStatus.Wait.GetDisplayName()}"); |
|
|
|
$"{EnumJobStatus.Wait.GetDisplayName()}"+ |
|
|
|
$"{EnumJobStatus.WaitAgv.GetDisplayName()}" |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -207,58 +212,6 @@ public class AssembleIssueJobAppService |
|
|
|
return ObjectMapper.Map<List<AssembleIssueJob>, List<AssembleIssueJobDTO>>(entitys); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 库移回调
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="dto"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost("Do-Call-Back")] |
|
|
|
public async Task DoTransferLibCallbackAsync(TransferLibJobDTO dto) |
|
|
|
{ |
|
|
|
var job = await _repository.FindAsync(p => p.Number == dto.CallJobNumber).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; |
|
|
|
jobDetail.TransferLibFromContainerCode = transferLibNoteDetail.HandledFromContainerCode; |
|
|
|
jobDetail.TransferLibFromExpireDate = transferLibNoteDetail.HandledFromExpireDate; |
|
|
|
jobDetail.TransferLibFromLocationArea = transferLibNoteDetail.HandledFromLocationArea; |
|
|
|
jobDetail.TransferLibFromLocationCode = transferLibNoteDetail.HandledFromLocationCode; |
|
|
|
jobDetail.TransferLibFromLocationErpCode = transferLibNoteDetail.HandledFromLocationErpCode; |
|
|
|
jobDetail.TransferLibFromLocationGroup = transferLibNoteDetail.HandledFromLocationGroup; |
|
|
|
jobDetail.TransferLibFromLot = transferLibNoteDetail.HandledFromLot; |
|
|
|
jobDetail.TransferLibFromPackingCode = transferLibNoteDetail.HandledFromPackingCode; |
|
|
|
jobDetail.TransferLibFromProduceDate = transferLibNoteDetail.HandledFromProduceDate; |
|
|
|
jobDetail.TransferLibFromQty = transferLibNoteDetail.HandledFromQty; |
|
|
|
jobDetail.TransferLibFromSupplierBatch = transferLibNoteDetail.HandledFromSupplierBatch; |
|
|
|
jobDetail.TransferLibFromWarehouseCode = transferLibNoteDetail.HandledFromWarehouseCode; |
|
|
|
|
|
|
|
jobDetail.TransferLibToArriveDate = transferLibNoteDetail.HandledToArriveDate; |
|
|
|
jobDetail.TransferLibToContainerCode = transferLibNoteDetail.HandledToContainerCode; |
|
|
|
jobDetail.TransferLibToExpireDate = transferLibNoteDetail.HandledToExpireDate; |
|
|
|
jobDetail.TransferLibToLocationArea = transferLibNoteDetail.HandledToLocationArea; |
|
|
|
jobDetail.TransferLibToLocationCode = transferLibNoteDetail.HandledToLocationCode; |
|
|
|
jobDetail.TransferLibToLocationErpCode = transferLibNoteDetail.HandledToLocationErpCode; |
|
|
|
jobDetail.TransferLibToLocationGroup = transferLibNoteDetail.HandledToLocationGroup; |
|
|
|
jobDetail.TransferLibToLot = transferLibNoteDetail.HandledToLot; |
|
|
|
jobDetail.TransferLibToPackingCode = transferLibNoteDetail.HandledToPackingCode; |
|
|
|
jobDetail.TransferLibToProduceDate = transferLibNoteDetail.HandledToProduceDate; |
|
|
|
jobDetail.TransferLibToQty = transferLibNoteDetail.HandledToQty; |
|
|
|
jobDetail.TransferLibToSupplierBatch = transferLibNoteDetail.HandledToSupplierBatch; |
|
|
|
jobDetail.TransferLibToWarehouseCode = transferLibNoteDetail.HandledToWarehouseCode; |
|
|
|
|
|
|
|
await _repository.UpdateAsync(job).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 执行任务明细
|
|
|
|
/// </summary>
|
|
|
@ -328,7 +281,6 @@ public class AssembleIssueJobAppService |
|
|
|
await CancelAcceptAsync(masterId).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 执行任务明细
|
|
|
|
/// </summary>
|
|
|
@ -407,7 +359,6 @@ public class AssembleIssueJobAppService |
|
|
|
await CancelAcceptAsync(masterId).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 完成任务
|
|
|
|
/// </summary>
|
|
|
@ -492,6 +443,62 @@ public class AssembleIssueJobAppService |
|
|
|
return dto; |
|
|
|
} |
|
|
|
|
|
|
|
#region 业务库移 高位置库位转低位置库位
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 库移回调
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="dto"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost("Do-Call-Back")] |
|
|
|
public async Task DoTransferLibCallbackAsync(TransferLibJobDTO dto) |
|
|
|
{ |
|
|
|
var job = await _repository.FindAsync(p => p.Number == dto.CallJobNumber).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; |
|
|
|
jobDetail.TransferLibFromContainerCode = transferLibNoteDetail.HandledFromContainerCode; |
|
|
|
jobDetail.TransferLibFromExpireDate = transferLibNoteDetail.HandledFromExpireDate; |
|
|
|
jobDetail.TransferLibFromLocationArea = transferLibNoteDetail.HandledFromLocationArea; |
|
|
|
jobDetail.TransferLibFromLocationCode = transferLibNoteDetail.HandledFromLocationCode; |
|
|
|
jobDetail.TransferLibFromLocationErpCode = transferLibNoteDetail.HandledFromLocationErpCode; |
|
|
|
jobDetail.TransferLibFromLocationGroup = transferLibNoteDetail.HandledFromLocationGroup; |
|
|
|
jobDetail.TransferLibFromLot = transferLibNoteDetail.HandledFromLot; |
|
|
|
jobDetail.TransferLibFromPackingCode = transferLibNoteDetail.HandledFromPackingCode; |
|
|
|
jobDetail.TransferLibFromProduceDate = transferLibNoteDetail.HandledFromProduceDate; |
|
|
|
jobDetail.TransferLibFromQty = transferLibNoteDetail.HandledFromQty; |
|
|
|
jobDetail.TransferLibFromSupplierBatch = transferLibNoteDetail.HandledFromSupplierBatch; |
|
|
|
jobDetail.TransferLibFromWarehouseCode = transferLibNoteDetail.HandledFromWarehouseCode; |
|
|
|
|
|
|
|
jobDetail.TransferLibToArriveDate = transferLibNoteDetail.HandledToArriveDate; |
|
|
|
jobDetail.TransferLibToContainerCode = transferLibNoteDetail.HandledToContainerCode; |
|
|
|
jobDetail.TransferLibToExpireDate = transferLibNoteDetail.HandledToExpireDate; |
|
|
|
jobDetail.TransferLibToLocationArea = transferLibNoteDetail.HandledToLocationArea; |
|
|
|
jobDetail.TransferLibToLocationCode = transferLibNoteDetail.HandledToLocationCode; |
|
|
|
jobDetail.TransferLibToLocationErpCode = transferLibNoteDetail.HandledToLocationErpCode; |
|
|
|
jobDetail.TransferLibToLocationGroup = transferLibNoteDetail.HandledToLocationGroup; |
|
|
|
jobDetail.TransferLibToLot = transferLibNoteDetail.HandledToLot; |
|
|
|
jobDetail.TransferLibToPackingCode = transferLibNoteDetail.HandledToPackingCode; |
|
|
|
jobDetail.TransferLibToProduceDate = transferLibNoteDetail.HandledToProduceDate; |
|
|
|
jobDetail.TransferLibToQty = transferLibNoteDetail.HandledToQty; |
|
|
|
jobDetail.TransferLibToSupplierBatch = transferLibNoteDetail.HandledToSupplierBatch; |
|
|
|
jobDetail.TransferLibToWarehouseCode = transferLibNoteDetail.HandledToWarehouseCode; |
|
|
|
|
|
|
|
await _repository.UpdateAsync(job).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 立库
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
@ -1063,6 +1070,9 @@ public class AssembleIssueJobAppService |
|
|
|
/// <returns></returns>
|
|
|
|
private async Task<AgvResultObject> SendInterFaceAsync(AssembleIssueJobDTO job) |
|
|
|
{ |
|
|
|
#if DEBUG
|
|
|
|
return new AgvResultObject(); |
|
|
|
#endif
|
|
|
|
var ret = new AgvResultObject |
|
|
|
{ |
|
|
|
Code = "0", |
|
|
@ -1119,7 +1129,7 @@ public class AssembleIssueJobAppService |
|
|
|
ret.Message = e.Message; |
|
|
|
ret.ReqCode = job.AssembleRequestNumber; |
|
|
|
await unitOfWork.RollbackAsync().ConfigureAwait(false); |
|
|
|
|
|
|
|
throw new UserFriendlyException($"接口报错 错误信息{e.Message}"); |
|
|
|
} |
|
|
|
return ret; |
|
|
|
} |
|
|
|