|
|
@ -30,13 +30,15 @@ public class InjectionJobAppService |
|
|
|
{ |
|
|
|
private readonly IInjectionJobManager _injectionJobManager; |
|
|
|
private readonly ILocationAppService _locationAppService; |
|
|
|
private readonly ITransferLibJobAppService _transferLibJobAppService; |
|
|
|
|
|
|
|
public InjectionJobAppService( |
|
|
|
IInjectionJobRepository repository, IInjectionJobManager injectionJobManager, |
|
|
|
ILocationAppService locationAppService) : base(repository, injectionJobManager) |
|
|
|
ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService) : base(repository, injectionJobManager) |
|
|
|
{ |
|
|
|
_injectionJobManager = injectionJobManager; |
|
|
|
_locationAppService = locationAppService; |
|
|
|
_transferLibJobAppService = transferLibJobAppService; |
|
|
|
} |
|
|
|
|
|
|
|
public override async Task<List<InjectionJobDTO>> CreateManyAsync(List<InjectionJobEditInput> inputs) |
|
|
@ -57,24 +59,48 @@ public class InjectionJobAppService |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 判断是不是在最底层 如果不是则把状态变更为等待
|
|
|
|
/// 判断是不是在最底层 如果不是则把状态变更为等待 并把库移推荐的From和To赋值
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="input"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private async Task CheckMinRowAndSetStatusAsync (InjectionJobEditInput input) |
|
|
|
private async Task CheckMinRowAndSetStatusAsync(InjectionJobEditInput input) |
|
|
|
{ |
|
|
|
var detail = input.Details.FirstOrDefault(); |
|
|
|
var jobDetailInputdetail = input.Details.FirstOrDefault(); |
|
|
|
|
|
|
|
var loctionDto = await _locationAppService.GetByCodeAsync(detail.RecommendFromLocationCode) |
|
|
|
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) |
|
|
|
.ConfigureAwait(false); |
|
|
|
|
|
|
|
if (loctionDto.RowCode != 1) |
|
|
|
{ |
|
|
|
input.JobStatus = EnumJobStatus.Wait; |
|
|
|
|
|
|
|
var locationDtos = await _locationAppService.GetListByGroupsAsync(new List<string>() { loctionDto.LocationGroupCode }).ConfigureAwait(false); |
|
|
|
var minLocation = locationDtos.First(p => p.ColumnCode == 1); |
|
|
|
detail.OnTheWayLocationCode = minLocation.Code; |
|
|
|
jobDetailInputdetail.TransferLibFromArriveDate = jobDetailInputdetail.RecommendFromArriveDate; |
|
|
|
jobDetailInputdetail.TransferLibFromContainerCode = jobDetailInputdetail.RecommendFromContainerCode; |
|
|
|
jobDetailInputdetail.TransferLibFromExpireDate = jobDetailInputdetail.RecommendFromExpireDate; |
|
|
|
jobDetailInputdetail.TransferLibFromLocationArea = jobDetailInputdetail.RecommendFromLocationArea; |
|
|
|
jobDetailInputdetail.TransferLibFromLocationCode = jobDetailInputdetail.RecommendFromLocationCode; |
|
|
|
jobDetailInputdetail.TransferLibFromLocationErpCode = jobDetailInputdetail.RecommendFromLocationErpCode; |
|
|
|
jobDetailInputdetail.TransferLibFromLocationGroup = jobDetailInputdetail.RecommendFromLocationGroup; |
|
|
|
jobDetailInputdetail.TransferLibFromLot = jobDetailInputdetail.RecommendFromLot; |
|
|
|
jobDetailInputdetail.TransferLibFromPackingCode = jobDetailInputdetail.RecommendFromPackingCode; |
|
|
|
jobDetailInputdetail.TransferLibFromProduceDate = jobDetailInputdetail.RecommendFromProduceDate; |
|
|
|
jobDetailInputdetail.TransferLibFromQty = jobDetailInputdetail.RecommendFromQty; |
|
|
|
jobDetailInputdetail.TransferLibFromSupplierBatch = jobDetailInputdetail.RecommendFromSupplierBatch; |
|
|
|
jobDetailInputdetail.TransferLibFromWarehouseCode = jobDetailInputdetail.RecommendFromWarehouseCode; |
|
|
|
|
|
|
|
jobDetailInputdetail.TransferLibToArriveDate = jobDetailInputdetail.RecommendToArriveDate; |
|
|
|
jobDetailInputdetail.TransferLibToContainerCode = jobDetailInputdetail.RecommendToContainerCode; |
|
|
|
jobDetailInputdetail.TransferLibToExpireDate = jobDetailInputdetail.RecommendToExpireDate; |
|
|
|
jobDetailInputdetail.TransferLibToLocationArea = jobDetailInputdetail.RecommendToLocationArea; |
|
|
|
jobDetailInputdetail.TransferLibToLocationCode = jobDetailInputdetail.RecommendToLocationCode; |
|
|
|
jobDetailInputdetail.TransferLibToLocationErpCode = jobDetailInputdetail.RecommendToLocationErpCode; |
|
|
|
jobDetailInputdetail.TransferLibToLocationGroup = jobDetailInputdetail.RecommendToLocationGroup; |
|
|
|
jobDetailInputdetail.TransferLibToLot = jobDetailInputdetail.RecommendToLot; |
|
|
|
jobDetailInputdetail.TransferLibToPackingCode = jobDetailInputdetail.RecommendToPackingCode; |
|
|
|
jobDetailInputdetail.TransferLibToProduceDate = jobDetailInputdetail.RecommendToProduceDate; |
|
|
|
jobDetailInputdetail.TransferLibToQty = jobDetailInputdetail.RecommendToQty; |
|
|
|
jobDetailInputdetail.TransferLibToSupplierBatch = jobDetailInputdetail.RecommendToSupplierBatch; |
|
|
|
jobDetailInputdetail.TransferLibToWarehouseCode = jobDetailInputdetail.RecommendToWarehouseCode; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -112,10 +138,48 @@ public class InjectionJobAppService |
|
|
|
[HttpPost("Do-Call-Back")] |
|
|
|
public async Task<Tuple<bool?, string>> DoTransferLibCallbackAsync(string businessType, string requestNum, string jobNum) |
|
|
|
{ |
|
|
|
var job= await _repository.FindAsync(p=>p.Number==jobNum).ConfigureAwait(false); |
|
|
|
var job = await _repository.FindAsync(p => p.Number == jobNum).ConfigureAwait(false); |
|
|
|
|
|
|
|
//todo 等云峰写好换成真实的
|
|
|
|
var transferLibJobDto= await _transferLibJobAppService.GetByNumberAsync("AAA").ConfigureAwait(false); |
|
|
|
var transferLibNote = new TransferLibNote(); |
|
|
|
|
|
|
|
var transferLibNoteDetail=transferLibNote.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); |
|
|
|
return Tuple.Create<bool?, string>(true,string.Empty); |
|
|
|
|
|
|
|
return new Tuple<bool?, string>(true,"s"); |
|
|
|
} |
|
|
|
|
|
|
|
[HttpPost("test")] |
|
|
|