Browse Source

验证是否开账

dev_DY_CC
lvzb 1 year ago
parent
commit
8615b386d5
  1. 19
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs

19
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}】的映射关系");
}
}
/// <summary>
/// 校验开账信息
/// </summary>
/// <param name="transaction"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
private async Task CheckErpLocationItemAsync(Transaction transaction)
{
if (transaction == null)
{
throw new UserFriendlyException($"未找到零件【{transaction.ItemCode}】与ERP储位【{transaction.LocationErpCode}】的开账信息");
}
}
/// <summary>
/// 出库形式
@ -178,6 +192,9 @@ public class BalanceManager : DomainService, IBalanceManager
//TODO 物品状态判断
item.CheckStatus(validStatusList: new List<EnumItemStatus>());
//校验开账信息
await CheckErpLocationItemAsync(transaction).ConfigureAwait(false);
var existBalance = await GetFirstAsync(
transaction.PackingCode,
transaction.ItemCode,

Loading…
Cancel
Save