Browse Source

修改叫料

Agv分支2024-11-19
郑勃旭 5 months ago
parent
commit
717a4be59a
  1. 138
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs
  2. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs

138
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

@ -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;
}

4
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs

@ -345,7 +345,9 @@ public class TransferLibRequestAppService : SfsStoreRequestAppServiceBase
if (kittingIssueJobDto.JobStatus == EnumJobStatus.Open ||
kittingIssueJobDto.JobStatus == EnumJobStatus.Partial ||
kittingIssueJobDto.JobStatus == EnumJobStatus.Doing ||
kittingIssueJobDto.JobStatus == EnumJobStatus.Wait)
kittingIssueJobDto.JobStatus == EnumJobStatus.Wait||
kittingIssueJobDto.JobStatus==EnumJobStatus.WaitAgv
)
{
await _transferLibJobAppService.CancelAsync(kittingIssueJobDto.Id).ConfigureAwait(false);
}

Loading…
Cancel
Save