|
@ -237,23 +237,25 @@ public class PurchaseReceiptJobAppService : |
|
|
public virtual async Task<PurchaseReceiptJobDTO> SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input) |
|
|
public virtual async Task<PurchaseReceiptJobDTO> SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input) |
|
|
{ |
|
|
{ |
|
|
var job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false); |
|
|
var job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false); |
|
|
PurchaseReceiptJobDetail detail = job.Details.FirstOrDefault(p => p.HandledPackingCode == input.FromPackingCode && p.HandledQty == input.FromQty); |
|
|
PurchaseReceiptJobDetail detail = job.Details.FirstOrDefault(p => p.RecommendPackingCode == input.FromPackingCode); /* && p.RecommendQty == input.FromQty*/ |
|
|
if (detail == null) |
|
|
if (detail == null) |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException($"根据HandledPackingCode={input.FromPackingCode}取ReceiptRequestDetail表为空!"); |
|
|
//throw new UserFriendlyException($"根据HandledPackingCode={input.FromPackingCode}取ReceiptRequestDetail表为空!");
|
|
|
|
|
|
throw new UserFriendlyException($"根据RecommendPackingCode={input.FromPackingCode}取PurchaseReceiptJobDetail表为空!"); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
//插入目标箱
|
|
|
//插入目标箱
|
|
|
var newDetail = CommonHelper.CloneObj(detail); |
|
|
var newDetail = CommonHelper.CloneObj(detail); |
|
|
newDetail.SetId(GuidGenerator.Create()); |
|
|
newDetail.SetId(GuidGenerator.Create()); |
|
|
newDetail.RecommendPackingCode = input.ToPackingCode; |
|
|
newDetail.RecommendPackingCode = input.ToPackingCode; |
|
|
newDetail.RecommendQty = input.ToQty; |
|
|
newDetail.RecommendQty = input.ToQty; |
|
|
newDetail.HandledPackingCode = input.ToPackingCode; |
|
|
newDetail.HandledPackingCode = detail.HandledPackingCode.HasValue() ? input.ToPackingCode : null; //源实际实际箱码有值,则新记录实际箱码有值
|
|
|
newDetail.HandledQty = input.ToQty; |
|
|
newDetail.HandledQty = detail.HandledQty > 0 ? input.ToQty : 0; |
|
|
//newDetail.CreationTime = CommonHelper.CurTime;
|
|
|
//newDetail.CreationTime = CommonHelper.CurTime;
|
|
|
job.Details.Add(newDetail); |
|
|
job.Details.Add(newDetail); |
|
|
//修改源箱
|
|
|
//修改源箱
|
|
|
detail.RecommendQty = input.FromQty - input.ToQty; |
|
|
detail.RecommendQty = input.FromQty - input.ToQty; |
|
|
detail.HandledQty = input.FromQty - input.ToQty; |
|
|
detail.HandledQty = detail.HandledQty > 0 ? input.FromQty - input.ToQty : 0; |
|
|
var entity = await _repository.UpdateAsync(job).ConfigureAwait(false); |
|
|
var entity = await _repository.UpdateAsync(job).ConfigureAwait(false); |
|
|
var ret = ObjectMapper.Map<PurchaseReceiptJob, PurchaseReceiptJobDTO>(entity); |
|
|
var ret = ObjectMapper.Map<PurchaseReceiptJob, PurchaseReceiptJobDTO>(entity); |
|
|
return ret; |
|
|
return ret; |
|
|