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 cf9b64ad2..5b481cb05 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 @@ -83,7 +83,8 @@ public class BalanceManager : DomainService, IBalanceManager //检查是否存在物料存储关系 await CheckItemStoreRelationAsync(transaction, location).ConfigureAwait(false); - + //校验开账信息 + await CheckErpLocationItemAsync(transaction).ConfigureAwait(false); //获取已存在库存 var existBalance = await GetFirstAsync( transaction.PackingCode, @@ -150,6 +151,19 @@ public class BalanceManager : DomainService, IBalanceManager throw new UserFriendlyException($"未找到零件【{transaction.ItemCode}】与库位【{transaction.LocationCode}】的映射关系"); } } + /// + /// 校验开账信息 + /// + /// + /// + /// + private async Task CheckErpLocationItemAsync(Transaction transaction) + { + if (transaction == null) + { + throw new UserFriendlyException($"未找到零件【{transaction.ItemCode}】与ERP储位【{transaction.LocationErpCode}】的开账信息"); + } + } /// /// 出库形式 @@ -178,6 +192,9 @@ public class BalanceManager : DomainService, IBalanceManager //TODO 物品状态判断 item.CheckStatus(validStatusList: new List()); + //校验开账信息 + await CheckErpLocationItemAsync(transaction).ConfigureAwait(false); + var existBalance = await GetFirstAsync( transaction.PackingCode, transaction.ItemCode,