diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs
index b7cdd062a..4de253506 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs
@@ -48,4 +48,19 @@ public class PurchaseReceiptRequestController : AbpController
{
return await _purchaseReceiptRequestAppService.GetDetailByItemAndPackingAsync(itemCode, packingCode).ConfigureAwait(false);
}
+
+ ///
+ /// 【获取】【收货记录详情】根据 物品 传入箱码的根箱码
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("detail-by-item-and-rootpacking")]
+ public virtual async Task GetDetailByItemAndRootPackingAsync(string itemCode,
+ string packingCode)
+ {
+ return await _purchaseReceiptRequestAppService.GetDetailByItemAndRootPackingAsync(itemCode, packingCode).ConfigureAwait(false);
+ }
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
index 9bb0ff309..060ae62d9 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
@@ -32,12 +32,21 @@ public interface IPurchaseReceiptRequestAppService
string packingCode);
///
- /// 修改请求状态
+ /// 【获取】【收货记录详情】根据 物品 传入箱码的根箱码
///
- ///
- ///
+ ///
+ ///
///
- Task UpdatePurchaseReceiptRequestAsync(string number,
+ Task GetDetailByItemAndRootPackingAsync(string itemCode,
+ string packingCode);
+
+ ///
+ /// 修改请求状态
+ ///
+ ///
+ ///
+ ///
+ Task UpdatePurchaseReceiptRequestAsync(string number,
EnumRequestStatus enumRequestStatus);
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
index 9a9df2444..37b2887a8 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
@@ -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 :
}
}
+ ///
+ /// 【获取】【收货记录详情】根据 物品 传入箱码的根箱码
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("detail-by-item-and-rootpacking")]
+ public virtual async Task 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(detail);
+
+ return dto;
+ }
+ else
+ {
+ throw new UserFriendlyException("未在到货通知中找到该箱码信息");
+ }
+ }
#endregion