From d4425f6965a1c752b842167dc108d6a427727e1c Mon Sep 17 00:00:00 2001 From: liuyunfeng Date: Tue, 18 Jun 2024 16:57:22 +0800 Subject: [PATCH 1/2] bug --- .../SplitPackings/SplitPackingRecManager.cs | 56 ++++++++++++------- .../PurchaseReceiptRequestAppService.cs | 9 ++- 2 files changed, 41 insertions(+), 24 deletions(-) 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/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 1bfe1c39d..37ac275c1 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,7 +9,6 @@ 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; @@ -31,20 +30,20 @@ public class PurchaseReceiptRequestAppService : { private readonly IPurchaseReceiptRequestManager _purchaseReceiptRequestManager; - private readonly ISplitPackingRecManager _splitPackingRecManager; + private readonly ISplitPackingRecAppService _splitPackingRecAppService; public PurchaseReceiptRequestAppService( IPurchaseReceiptRequestRepository repository, IPurchaseReceiptRequestManager purchaseReceiptRequestManager, - ISplitPackingRecManager splitPackingRecManager) : base(repository, purchaseReceiptRequestManager) + ISplitPackingRecAppService splitPackingRecAppService) : base(repository, purchaseReceiptRequestManager) { _purchaseReceiptRequestManager = purchaseReceiptRequestManager; base.CreatePolicyName = PurchaseReceiptRequestPermissions.Create; base.UpdatePolicyName = PurchaseReceiptRequestPermissions.Update; base.DeletePolicyName = PurchaseReceiptRequestPermissions.Delete; - _splitPackingRecManager = splitPackingRecManager; + _splitPackingRecAppService = splitPackingRecAppService; } #region 东阳使用 @@ -103,7 +102,7 @@ public class PurchaseReceiptRequestAppService : public virtual async Task 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}到拆箱记录表中没有取到顶级箱码!"); From 0438ec323074ca206c55a2c9ac1379152c7d4806 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Wed, 19 Jun 2024 09:30:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B3=A8=E5=A1=91=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BB=99PDA=E5=B8=A6=E5=87=BA=E6=94=B6?= =?UTF-8?q?=E5=AE=B9=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Stores/InjectionPlanRequestController.cs | 25 +++++++++++++++-- .../Enums/Store/EnumIssueRequestType.cs | 6 ++++ .../InjectionPlanRequestAppService.cs | 28 ++++++++++--------- 3 files changed, 43 insertions(+), 16 deletions(-) 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/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