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)
{