From eb525248aaa821d5a7f6d955ed679857d50651fc Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Thu, 23 May 2024 09:34:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E4=B8=8A=E6=9E=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseDatas/SplitPackingRecController.cs | 12 +++++++++ .../ISplitPackingRecAppService.cs | 3 ++- .../ErpLocationItemAppService.cs | 3 +-- .../SplitPackingRecAppService.cs | 25 ++++++++++++++++++ .../SplitPackings/ISplitPackingRecManager.cs | 3 ++- .../SplitPackings/SplitPackingRecManager.cs | 26 +++++++++++++++++++ .../PurchaseReceiptNoteAppService.cs | 4 +-- 7 files changed, 70 insertions(+), 6 deletions(-) diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/SplitPackingRecController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/SplitPackingRecController.cs index b95eb57c5..d02f1f80f 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/SplitPackingRecController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/SplitPackingRecController.cs @@ -6,6 +6,7 @@ using Microsoft.Extensions.Options; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Json; using Win_in.Sfs.Basedata.Application.Contracts; +using Win_in.Sfs.Basedata.Domain; namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas; @@ -39,4 +40,15 @@ public class SplitPackingRecController : AbpController { return await _splitPackingRecApp.GetAllListByFilterAsync(input).ConfigureAwait(false); } + + /// + /// 获取拆箱记录 + /// + /// 目标箱码列表 + /// + [HttpGet("get-split-packing-code")] + public async Task GetSplitPackingCode(string toPackingCode) + { + return await _splitPackingRecApp.GetSplitPackingCode(toPackingCode).ConfigureAwait(false); + } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/ISplitPackingRecAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/ISplitPackingRecAppService.cs index b36056209..48c7c4837 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/ISplitPackingRecAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/ISplitPackingRecAppService.cs @@ -26,5 +26,6 @@ public interface ISplitPackingRecAppService /// 源标箱码列表 /// Task> GetListByFromPackingCode(List fromPackingCodeList); - + Task GetTopPackingCode(string toPackingCode); + Task GetSplitPackingCode(string toPackingCode); } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs index 1e34c1f8b..a15dfd319 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs @@ -80,9 +80,8 @@ public class ErpLocationItemAppService if (entity == null) { - if (await SettingManager.IsTrueAsync(BasedataSettings.ErpLocationItem.NotFoundReturnInfinity).ConfigureAwait(false)) + if (erpLocationCode=="无"||await SettingManager.IsTrueAsync(BasedataSettings.ErpLocationItem.NotFoundReturnInfinity).ConfigureAwait(false)) { - entity = new ErpLocationItem() { ItemCode = itemCode, diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs index fc87385c9..1c3c268ce 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs @@ -38,7 +38,32 @@ public class SplitPackingRecAppService : bool ret = await _splitPackingRecManager.BatchInsertAsync(lst).ConfigureAwait(false); return ret; } + /// + /// 获取顶级箱码 + /// + /// 目标箱码列表 + /// + [HttpGet("get-top-packing-code")] + public async Task GetTopPackingCode(string toPackingCode) + { + var entity = await _splitPackingRecManager.GetTopPackingCode(toPackingCode).ConfigureAwait(false); + SplitPackingRecDTO dto = ObjectMapper.Map(entity); + return dto; + } + /// + /// 获取拆箱记录 + /// + /// 目标箱码列表 + /// + [HttpGet("get-split-packing-code")] + public async Task GetSplitPackingCode(string toPackingCode) + { + var entity = await _splitPackingRecManager.GetSplitPackingCode(toPackingCode).ConfigureAwait(false); + SplitPackingRecDTO dto = ObjectMapper.Map(entity); + return dto; + } + /// /// 取每个目标箱码的最后一条拆箱记录 /// diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs index 4ce568e61..85d68bc5b 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs @@ -23,5 +23,6 @@ public interface ISplitPackingRecManager : IDomainService /// 源标箱码列表 /// Task> GetListByFromPackingCode(List fromPackingCodeList); - + Task GetTopPackingCode(string packingCode); + Task GetSplitPackingCode(string packingCode); } 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 fec61d5b1..41e5fa644 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 @@ -4,6 +4,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp; +using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Services; using Volo.Abp.ObjectMapping; using Win_in.Sfs.Basedata.Domain.Shared; @@ -145,6 +146,31 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager } return ret; } + /// + /// 获取顶级条码 + /// + /// + /// + public async Task GetTopPackingCode(string packingCode) + { + SplitPackingRec entity = new SplitPackingRec(); + SplitPackingRec item = await _repository.FirstOrDefaultAsync(itm => itm.ToPackingCode == packingCode && itm.OprType == OprTypeEnum.SplitBox).ConfigureAwait(false); + if (item != null) + { + entity = await _repository.FirstOrDefaultAsync(itm => itm.ToPackingCode == packingCode && itm.OprType == OprTypeEnum.Other).ConfigureAwait(false); + } + return entity; + } + /// + /// 获取顶级条码 + /// + /// + /// + public async Task GetSplitPackingCode(string packingCode) + { + SplitPackingRec item = await _repository.FirstOrDefaultAsync(itm => itm.ToPackingCode == packingCode && itm.OprType == OprTypeEnum.SplitBox).ConfigureAwait(false); + return item; + } /// /// 取顶级箱码 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 e1bd42b58..013e43786 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 @@ -172,8 +172,8 @@ public class PurchaseReceiptNoteAppService : { var list=await _splitPackingRecAppService.GetListByToPackingCode(new List(){ packingCode }).ConfigureAwait(false); var splitPackingRecDto=list.FirstOrDefault(); - - var entity = (await _repository.GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode && y.PackingCode == splitPackingRecDto.ToTopPackingCode), true).ConfigureAwait(false)).FirstOrDefault(); + + var entity = (await _repository.GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode && y.PackingCode == (splitPackingRecDto==null? packingCode: splitPackingRecDto.ToTopPackingCode)), true).ConfigureAwait(false)).FirstOrDefault(); if (entity != null) {