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,