diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionPlanRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionPlanRequestController.cs
index ea9d93094..f37f32737 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionPlanRequestController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionPlanRequestController.cs
@@ -17,14 +17,16 @@ namespace Win_in.Sfs.Wms.Pda.Controllers.Stores;
public class InjectionPlanRequestController : AbpController
{
private readonly IInjectionPlanRequestAppService _injectionRequestAppService;
+ private readonly IItemContainerAppService _itemContainerAppService;
///
///
///
///
- public InjectionPlanRequestController(IInjectionPlanRequestAppService InjectionPlanRequestAppService)
+ public InjectionPlanRequestController(IInjectionPlanRequestAppService InjectionPlanRequestAppService, IItemContainerAppService itemContainerAppService)
{
_injectionRequestAppService = InjectionPlanRequestAppService;
+ _itemContainerAppService = itemContainerAppService;
}
///
@@ -73,9 +75,26 @@ public class InjectionPlanRequestController : AbpController
[HttpGet("list/item-category")]
public virtual async Task> GetItemCategoryListAsync(string categoryName)
{
- var entities = await _injectionRequestAppService.GetItemCategoryListAsync().ConfigureAwait(false);
+ var entities = await _injectionRequestAppService.GetItemCategoryListAsync().ConfigureAwait(false);
+
+ var itemEntities = entities.Where(p => p.Category == categoryName).ToList();
+ foreach (var item in itemEntities)
+ {
+ var itemContainerDto = await _itemContainerAppService.GetByItemCodeAsync(item.Code).ConfigureAwait(false);
+
+ if(itemContainerDto != null)
+ {
+ item.StdPackQty = itemContainerDto.Qty;
+ item.BasicUom = itemContainerDto.BasicUom;
+ }
+ else
+ {
+ item.StdPackQty = 1;
+ }
+
+ }
- return entities.Where(p=>p.Category== categoryName).ToList();
+ return itemEntities;
}
}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs
index 04916ad6d..994c5308e 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs
@@ -42,14 +42,6 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager
{
throw new UserFriendlyException("操作类型不是拆箱或合箱状态,源箱码和目标箱码必须相同!");
}
- if (item.FromTopPackingCode.IsNullOrEmpty())
- {
- item.FromTopPackingCode = item.FromPackingCode;
- }
- if (item.ToTopPackingCode.IsNullOrEmpty())
- {
- item.ToTopPackingCode = item.FromPackingCode;// ToPackingCode;
- }
}
#endregion
@@ -91,6 +83,14 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager
}
else
{
+ if (item.FromTopPackingCode.IsNullOrEmpty())
+ {
+ item.FromTopPackingCode = item.FromPackingCode;
+ }
+ if (item.ToTopPackingCode.IsNullOrEmpty())
+ {
+ item.ToTopPackingCode = item.FromPackingCode;// ToPackingCode;
+ }
SplitPackingRec newEntity = CommonHelper.CloneObj(item);
newEntity.SetId(GuidGenerator.Create());
var ret = await _repository.InsertAsync(newEntity, true).ConfigureAwait(false);
@@ -202,24 +202,42 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager
/// 取顶级箱码
///
/// 箱码历史
- /// 当前箱码
+ /// 箱码,from to时都传入from
///
private static string GetTopPackingCode(IQueryable historyQuery, string packingCode)
{
- var historyRec = historyQuery.Where(itm => itm.FromPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
- if (historyRec != null)
- {
- return historyRec.FromTopPackingCode;
- }
- else
+ var qry = historyQuery.Where(itm => itm.OprType == OprTypeEnum.SplitBox || itm.OprType == OprTypeEnum.MergeBox);
+ string ret = null;
+ SplitPackingRec? firstObj = null;
+ string toCode = packingCode;
+ while (1 == 1)
{
- historyRec = historyQuery.Where(itm => itm.ToPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
- if (historyRec != null)
+ firstObj = qry.FirstOrDefault(itm => itm.ToPackingCode == toCode);
+ if (firstObj == null)
+ {
+ ret = toCode;
+ break;
+ }
+ else
{
- return historyRec.ToTopPackingCode;
+ toCode = firstObj.FromPackingCode;
}
}
- return null;
+ return ret;
+ //var historyRec = historyQuery.Where(itm => itm.FromPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
+ //if (historyRec != null)
+ //{
+ // return historyRec.FromTopPackingCode;
+ //}
+ //else
+ //{
+ // historyRec = historyQuery.Where(itm => itm.ToPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
+ // if (historyRec != null)
+ // {
+ // return historyRec.ToTopPackingCode;
+ // }
+ //}
+ //return null;
}
private static void SetBillNumber(IQueryable historyQuery, SplitPackingRec obj)
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs
index d9b2baaee..6518de328 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs
@@ -39,4 +39,10 @@ public enum EnumIssueRequestType
///
[Display(Name = "EXCEL导入")]
ExcelImport=5,
+
+ ///
+ /// 注塑计划
+ ///
+ [Display(Name = "EXCEL导入")]
+ InjectionPlan = 6,
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InjectionPlanRequests/InjectionPlanRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InjectionPlanRequests/InjectionPlanRequestAppService.cs
index 371b5240d..46cdee401 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InjectionPlanRequests/InjectionPlanRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InjectionPlanRequests/InjectionPlanRequestAppService.cs
@@ -99,20 +99,22 @@ public class InjectionPlanRequestAppService : SfsStoreRequestAppServiceBase GetDetailByItemAndRootPackingAsync(string itemCode,
string packingCode)
{
- var topObj = await _splitPackingRecManager.GetTopPackingCode(packingCode).ConfigureAwait(false);
+ var topObj = await _splitPackingRecAppService.GetTopPackingCode(packingCode).ConfigureAwait(false);
if (topObj == null || string.IsNullOrEmpty(topObj.ToTopPackingCode))
{
throw new UserFriendlyException($"根据箱码{packingCode}到拆箱记录表中没有取到顶级箱码!");