|
|
@ -29,7 +29,7 @@ public class PurchaseReturnNoteController : AbpController |
|
|
|
private readonly IInventoryLabelAppService _labelAppService; |
|
|
|
|
|
|
|
private readonly IBalanceAppService _balanceAppService; |
|
|
|
|
|
|
|
private readonly IPurchaseOrderAppService _purchaseOrderAppService; |
|
|
|
/// <summary>
|
|
|
|
///
|
|
|
|
/// </summary>
|
|
|
@ -38,12 +38,14 @@ public class PurchaseReturnNoteController : AbpController |
|
|
|
/// <param name="balanceAppService"></param>
|
|
|
|
public PurchaseReturnNoteController(IPurchaseReturnNoteAppService noteAppService, |
|
|
|
IInventoryLabelAppService labelAppService, |
|
|
|
IBalanceAppService balanceAppService |
|
|
|
IBalanceAppService balanceAppService, |
|
|
|
IPurchaseOrderAppService purchaseOrderAppService |
|
|
|
) |
|
|
|
{ |
|
|
|
_noteAppService = noteAppService; |
|
|
|
this._labelAppService = labelAppService; |
|
|
|
this._balanceAppService = balanceAppService; |
|
|
|
_purchaseOrderAppService = purchaseOrderAppService; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
@ -133,7 +135,7 @@ public class PurchaseReturnNoteController : AbpController |
|
|
|
//createInputDetail.WarehouseCode= poNumberItem.
|
|
|
|
|
|
|
|
await SetDetailByBalanceAsync(packingCode, createInputDetail).ConfigureAwait(false); |
|
|
|
|
|
|
|
await SetDetailByPoAsync(poNumberDetail.PoNumber, createInputDetail).ConfigureAwait(false); |
|
|
|
returnNoteEditInput.Details.Add(createInputDetail); |
|
|
|
} |
|
|
|
|
|
|
@ -142,11 +144,17 @@ public class PurchaseReturnNoteController : AbpController |
|
|
|
|
|
|
|
return createInputs; |
|
|
|
} |
|
|
|
|
|
|
|
private async Task SetDetailByPoAsync(string poNumber, PurchaseReturnNoteDetailInput createInputDetail) |
|
|
|
{ |
|
|
|
var po = await _purchaseOrderAppService.GetListByNumberAndItemCodeAsync(poNumber, createInputDetail.ItemCode).ConfigureAwait(false); |
|
|
|
Check.NotNull(po, nameof(PurchaseOrderDTO)); |
|
|
|
var detail = po.Details.FirstOrDefault(r => r.ItemCode == createInputDetail.ItemCode); |
|
|
|
Check.NotNull(detail, nameof(PurchaseOrderDetailDTO)); |
|
|
|
createInputDetail.PoLine = detail.PoLine; |
|
|
|
} |
|
|
|
private async Task SetDetailByBalanceAsync(string packingCode, PurchaseReturnNoteDetailInput createInputDetail) |
|
|
|
{ |
|
|
|
var balance = await _balanceAppService.GetByPackingCodeAsync(packingCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
Check.NotNull(balance, nameof(BalanceDTO)); |
|
|
|
|
|
|
|
createInputDetail.LocationCode = balance.LocationCode; |
|
|
|