From f59ff79a42f15f096b497c2aad1d0409de6f0b96 Mon Sep 17 00:00:00 2001 From: mahao Date: Mon, 3 Jul 2023 14:50:15 +0800 Subject: [PATCH] =?UTF-8?q?FindAsync=20=E6=96=B9=E6=B3=95=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E4=BD=99=E9=A2=9D=E6=95=B0=E6=8D=AE=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E3=80=81=E4=BF=AE=E6=94=B9=E4=B8=BA=20FirstO?= =?UTF-8?q?rDefaultAsync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Balances/BalanceManager.cs | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs index d0c19e6a6..526f26173 100644 --- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs +++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs @@ -192,6 +192,15 @@ public class BalanceManager : DomainService, IBalanceManager Logger.LogDebug($"{transaction.DocNumber}|BeforeOutBound:{existBalance}"); if (transaction.ManageType == EnumItemManageType.SingleUnit) { + if (existBalance == null) + { + throw new UserFriendlyException($"库位在{transaction.LocationCode}," + + $"物品编号为{transaction.ItemCode}," + + $"箱码为{transaction.PackingCode}," + + $"批次为{transaction.Lot}," + + $"状态为{transaction.Status.GetDisplayName()}" + + $"的库存未找到"); + } //检查出库数量与库存数量是否一致 transaction.CheckSingleUnitQtyEqual(existBalance.Qty); @@ -263,6 +272,16 @@ public class BalanceManager : DomainService, IBalanceManager balance.Status ).ConfigureAwait(false); + if (existBalance == null) + { + throw new UserFriendlyException($"库位在{balance.LocationCode}," + + $"物品编号为{balance.ItemCode}," + + $"箱码为{balance.PackingCode}," + + $"批次为{balance.Lot}," + + $"状态为{balance.Status.GetDisplayName()}" + + $"的库存未找到"); + } + //if (!existBalance.IsActive) //{ // throw new UserFriendlyException( @@ -318,9 +337,8 @@ public class BalanceManager : DomainService, IBalanceManager protected virtual async Task GetFirstAsync(string packingCode, string itemCode, string lot, string locationCode, EnumInventoryStatus enumInventoryStatus) { - var balance = await _balanceRepository - .FindAsync(p => p.ItemCode == itemCode + .FirstOrDefaultAsync(p => p.ItemCode == itemCode && p.LocationCode == locationCode && p.Lot == lot && p.PackingCode == packingCode