|
|
@ -9,6 +9,7 @@ using Volo.Abp.Domain.Entities; |
|
|
|
using Volo.Abp.ObjectMapping; |
|
|
|
using Volo.Abp.Uow; |
|
|
|
using Win_in.Sfs.Basedata.Application.Contracts; |
|
|
|
using Win_in.Sfs.Basedata.Domain; |
|
|
|
using Win_in.Sfs.Basedata.Domain.Shared; |
|
|
|
using Win_in.Sfs.Label.Application.Contracts; |
|
|
|
using Win_in.Sfs.Shared.Domain.Shared; |
|
|
@ -30,16 +31,20 @@ public class PurchaseReceiptRequestAppService : |
|
|
|
{ |
|
|
|
private readonly IPurchaseReceiptRequestManager _purchaseReceiptRequestManager; |
|
|
|
|
|
|
|
private readonly ISplitPackingRecManager _splitPackingRecManager; |
|
|
|
|
|
|
|
|
|
|
|
public PurchaseReceiptRequestAppService( |
|
|
|
IPurchaseReceiptRequestRepository repository, |
|
|
|
IPurchaseReceiptRequestManager purchaseReceiptRequestManager |
|
|
|
) : base(repository, purchaseReceiptRequestManager) |
|
|
|
IPurchaseReceiptRequestManager purchaseReceiptRequestManager, |
|
|
|
ISplitPackingRecManager splitPackingRecManager) : base(repository, purchaseReceiptRequestManager) |
|
|
|
{ |
|
|
|
_purchaseReceiptRequestManager = purchaseReceiptRequestManager; |
|
|
|
|
|
|
|
base.CreatePolicyName = PurchaseReceiptRequestPermissions.Create; |
|
|
|
base.UpdatePolicyName = PurchaseReceiptRequestPermissions.Update; |
|
|
|
base.DeletePolicyName = PurchaseReceiptRequestPermissions.Delete; |
|
|
|
_splitPackingRecManager = splitPackingRecManager; |
|
|
|
} |
|
|
|
|
|
|
|
#region 东阳使用
|
|
|
@ -88,6 +93,39 @@ public class PurchaseReceiptRequestAppService : |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 【获取】【收货记录详情】根据 物品 传入箱码的根箱码
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="itemCode"></param>
|
|
|
|
/// <param name="packingCode"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpGet("detail-by-item-and-rootpacking")] |
|
|
|
public virtual async Task<PurchaseReceiptRequestDetailDTO> GetDetailByItemAndRootPackingAsync(string itemCode, |
|
|
|
string packingCode) |
|
|
|
{ |
|
|
|
var topObj = await _splitPackingRecManager.GetTopPackingCode(packingCode).ConfigureAwait(false); |
|
|
|
if (topObj == null || string.IsNullOrEmpty(topObj.ToTopPackingCode)) |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"根据箱码{packingCode}到拆箱记录表中没有取到顶级箱码!"); |
|
|
|
} |
|
|
|
|
|
|
|
var entitysList = (await _repository.GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode && y.PackingCode == topObj.ToTopPackingCode), true).ConfigureAwait(false)); |
|
|
|
|
|
|
|
if (entitysList != null && entitysList.Any()) |
|
|
|
{ |
|
|
|
var entity = entitysList.FirstOrDefault(); |
|
|
|
|
|
|
|
var detail = entity.Details.FirstOrDefault(y => y.ItemCode == itemCode && y.PackingCode == topObj.ToTopPackingCode); |
|
|
|
|
|
|
|
var dto = ObjectMapper.Map<PurchaseReceiptRequestDetail, PurchaseReceiptRequestDetailDTO>(detail); |
|
|
|
|
|
|
|
return dto; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
throw new UserFriendlyException("未在到货通知中找到该箱码信息"); |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|