|
|
@ -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, |
|
|
|