From 7fb11a7d4717f7e402cb92f0fc527dcc522bb5a7 Mon Sep 17 00:00:00 2001 From: liuyunfeng Date: Fri, 24 May 2024 10:46:18 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=90=8C=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs index 9a8c61aad..d8632cf2a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs @@ -97,10 +97,11 @@ public class PurchaseReceiptNoteAppService : foreach (var item in lst) { - var obj = splitPackingRecLst.FirstOrDefault(itm => itm.ToPackingCode == item.PackingCode); + var obj = splitPackingRecLst.FirstOrDefault(itm => itm.ToPackingCode == item.PackingCode + && itm.OprType == Basedata.Domain.Shared.OprTypeEnum.SplitBox); //只取拆箱的记录,前端没有拆箱的 原箱码显示空 if (obj != null) { - item.FromPackingCode = obj.FromPackingCode; + item.FromPackingCode = obj.FromTopPackingCode; //前端显示顶级原箱码 item.ToPackingCode = obj.ToPackingCode; } } From a3aed5077863a56f34cc9c69fae7d18babf6397c Mon Sep 17 00:00:00 2001 From: liuyunfeng Date: Tue, 28 May 2024 11:37:46 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseReturnRequestManager.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReturnRequests/PurchaseReturnRequestManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReturnRequests/PurchaseReturnRequestManager.cs index 6db0da0ca..68a317fcd 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReturnRequests/PurchaseReturnRequestManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReturnRequests/PurchaseReturnRequestManager.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Volo.Abp; using Volo.Abp.Uow; using Win_in.Sfs.Shared.Domain.Shared; @@ -19,8 +21,14 @@ public class PurchaseReturnRequestManager : SfsStoreRequestManagerBase> CreateManyAsync(List entities) { var results = new List(); + foreach (var entity in entities) { + var lst = await Repository.GetPagedListAsync(itm => itm.PoNumber == entity.PoNumber && itm.Details.Any(itm => itm.PackingCode == entity.Details[0].PackingCode), 0, 1, null).ConfigureAwait(false); + if (lst.Count > 0) + { + throw new UserFriendlyException($"采购退货申请的订单号{entity.PoNumber}、箱码{entity.Details[0].PackingCode}重复"); + } entity.SetIdAndNumberWithDetails(GuidGenerator, await GenerateNumberAsync(typeof(PurchaseReturnRequest).Name, entity.ActiveDate).ConfigureAwait(false)); PurchaseReturnRequest result; if (entity.AutoSubmit) From d7d5450ce1f69115e8deb8a97896859a3e278db6 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Tue, 28 May 2024 11:57:40 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A9=BA=E5=99=A8?= =?UTF-8?q?=E5=85=B7=E5=91=BC=E5=8F=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContainerRequestAppService.cs | 31 ++++++--- .../Requests/ContainerRequestEventHandler.cs | 63 +++++-------------- 2 files changed, 40 insertions(+), 54 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs index 79f901e1f..a57e2b4a0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs @@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.Application.Dtos; +using Win_in.Sfs.Basedata.Application; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Application.Contracts; using Win_in.Sfs.Shared.Domain; @@ -32,12 +33,14 @@ public class ContainerRequestAppService : private readonly IAreaAppService _areaApp; private readonly ICustomerAppService _customerApp; private readonly ICustomerAddressAppService _customerAddressApp; + private readonly ITransactionTypeAppService _transactionTypeAppService; public ContainerRequestAppService( IContainerRequestRepository repository , IContainerRequestManager containerRequestManager , IAreaAppService areaApp , ICustomerAppService customerApp + , ITransactionTypeAppService transactionTypeAppService , ICustomerAddressAppService customerAddressApp) : base(repository, containerRequestManager) { @@ -45,6 +48,7 @@ public class ContainerRequestAppService : _areaApp = areaApp; _customerApp = customerApp; _customerAddressApp = customerAddressApp; + _transactionTypeAppService= transactionTypeAppService; } @@ -56,12 +60,8 @@ public class ContainerRequestAppService : [HttpPost("")] public override async Task CreateAsync(ContainerRequestEditInput input) { - - input.AutoAgree = true; - input.AutoHandle = true; - input.AutoSubmit = true; - input.AutoCompleteJob = false; - input.DirectCreateNote = false; + + await SetRequestAutoPropertiesAsync(input).ConfigureAwait(false); var entity = ObjectMapper.Map(input); @@ -71,5 +71,22 @@ public class ContainerRequestAppService : return dto; } - + /// + /// 赋值Request业务属性 + /// + /// + /// + private async Task SetRequestAutoPropertiesAsync(ContainerRequestEditInput entity) + { + var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false); + + Check.NotNull(tranType, "事务类型", "事务类型不存在"); + + entity.AutoSubmit = tranType.AutoSubmitRequest; + entity.AutoAgree = tranType.AutoAgreeRequest; + entity.AutoHandle = tranType.AutoHandleRequest; + entity.AutoCompleteJob = tranType.AutoCompleteJob; + entity.DirectCreateNote = tranType.DirectCreateNote; + } + } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs index d190cae40..4d6b3e577 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs @@ -28,7 +28,7 @@ public class ContainerRequestEventHandler private readonly IContainerNoteAppService _containerNoteApp; private readonly IContainerJobAppService _containerJobApp; private readonly IEquipmentLocAppService _equipmentLocApp; - + private readonly ILocationAppService _locationAppService; private readonly IContainerRequestManager _containerRequestManager; @@ -36,12 +36,15 @@ public class ContainerRequestEventHandler IContainerNoteAppService containerNoteApp, IContainerJobAppService containerJobApp, IEquipmentLocAppService equipmentLocApp, + ILocationAppService locationAppService, IContainerRequestManager containerRequestManager) { _containerNoteApp = containerNoteApp; _containerJobApp = containerJobApp; _equipmentLocApp= equipmentLocApp; _containerRequestManager = containerRequestManager; + _locationAppService = locationAppService; + } @@ -127,59 +130,25 @@ public class ContainerRequestEventHandler var createInput = ObjectMapper.Map(request); ContainerNoteDetailInput detail=new ContainerNoteDetailInput(); - //createInput.Details = new List(); - //detail.ToLocationCode = request.RequestLocationCode; - - //detail.FromLocationCode = "123"; - //detail.FromPackingCode = "123"; - //detail.ToPackingCode = "123"; - //detail.FromLot = "123"; - //detail.ToLot = "123"; - //detail.FromLocationErpCode = "123"; - //detail.FromWarehouseCode = "123"; - //detail.ToLocationErpCode = "123"; - //detail.ToWarehouseCode = "123"; - //detail.Uom = "123"; - //detail.ItemCode = "123"; - //detail.ItemName = "123"; - - ////var container = await _equipmentLocApp.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false); - - ////if (container != null) - ////{ - //// detail.ItemCode = container.Code; - ////} - - //createInput.Details.Add(detail); - + return createInput; } - - private async Task BuildContainerJobsAsync(ContainerRequest request) { var createInput = ObjectMapper.Map(request); - - createInput.WarehouseCode = "T8"; - - //ContainerJobDetailInput detail=new ContainerJobDetailInput(); - - //detail.FromLocationCode = "123"; - //detail.ToLocationCode = "123"; - - //detail.ItemCode = "123"; - //detail.ItemName = "123"; - //detail.RecommendPackingCode = "123"; - //detail.RecommendLot = "123"; - //detail.RecommendFromLocationCode = "123"; - //detail.RecommendFromLocationErpCode = "123"; - //detail.Uom = "123"; - - - //createInput.Details.Add(detail); - + var toLocationDto = await _locationAppService.GetByCodeAsync(createInput.RequestLocationCode).ConfigureAwait(false); + if(toLocationDto!=null) + { + createInput.WarehouseCode = toLocationDto.WarehouseCode; + } + else + { + createInput.WarehouseCode = ""; + } + + return createInput ; } From 4dcb744c68aa726aa5a03223edb035a39c659768 Mon Sep 17 00:00:00 2001 From: liuyunfeng Date: Tue, 28 May 2024 15:57:02 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TransferLibJobAppService.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs index 913dc928e..e4286437b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs @@ -27,6 +27,7 @@ public class TransferLibJobAppService private readonly ILocationAppService _locationAppService; private readonly IExpectOutAppService _expectOutAppService; private readonly IBalanceAppService _balanceAppService; + private readonly IItemBasicAppService _itemBasicAppService; protected ITransferLibRequestAppService TransferLibRequestAppService => LazyServiceProvider.LazyGetRequiredService(); @@ -34,13 +35,15 @@ public class TransferLibJobAppService public TransferLibJobAppService( ITransferLibJobRepository repository, ITransferLibJobManager TransferLibJobManager, IServiceProvider serviceProvider, ILocationAppService locationAppService, - IExpectOutAppService expectOutAppService, IBalanceAppService balanceAppService) : base(repository, - TransferLibJobManager) + IExpectOutAppService expectOutAppService, IBalanceAppService balanceAppService, + IItemBasicAppService itemBasicAppService) : + base(repository, TransferLibJobManager) { _serviceProvider = serviceProvider; _locationAppService = locationAppService; _expectOutAppService = expectOutAppService; _balanceAppService = balanceAppService; + _itemBasicAppService = itemBasicAppService; } /// @@ -202,6 +205,13 @@ public class TransferLibJobAppService #endregion + List itemLst = new List(); + if (dto.Details.Any(itm => itm.StdPackQty == 0)) + { + var codeLst = dto.Details.Where(itm => itm.StdPackQty == 0).Select(itm => itm.ItemCode).ToList(); + itemLst = await _itemBasicAppService.GetByCodesAsync(codeLst).ConfigureAwait(false); + } + foreach (var detail in dto.Details) { detail.HandledFromContainerCode = string.Empty; @@ -213,6 +223,15 @@ public class TransferLibJobAppService .ConfigureAwait(false); var toLocationDto = await _locationAppService.GetByCodeAsync(detail.HandledToLocationCode).ConfigureAwait(false); + //标包为空时赋值 + if (detail.StdPackQty == 0) + { + var itemObj = itemLst.FirstOrDefault(itm => itm.Code == detail.ItemCode); + if (itemObj != null) + { + detail.StdPackQty = itemObj.StdPackQty; + } + } detail.HandledFromLocationArea = fromLocationDto.AreaCode; detail.HandledFromLocationCode = fromLocationDto.Code;