diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs index 30c3dd121..fab06e761 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs @@ -49,14 +49,5 @@ public class ErpLocationItemAppService var dtos = ObjectMapper.Map, List>(entities); return dtos; } - - - - protected override async Task ValidateImportModelAsync(ErpLocationItemImportInput importInput, List validationRresult) - { - await base.CheckItemBasicItemCodeAsync(importInput.ItemCode, validationRresult).ConfigureAwait(false); - - } - } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/ErpLocationItems/ErpLocationItemEfCoreRepository.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/ErpLocationItems/ErpLocationItemEfCoreRepository.cs index 41b7b05e0..e6358853d 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/ErpLocationItems/ErpLocationItemEfCoreRepository.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/ErpLocationItems/ErpLocationItemEfCoreRepository.cs @@ -16,16 +16,10 @@ public class ErpLocationItemEfCoreRepository : SfsBaseDataEfCoreRepositoryBase p.ItemCode == entity.ItemCode).ConfigureAwait(false); + var exist = await dbSet.FirstOrDefaultAsync(p => p.ItemCode == entity.ItemCode&&p.ErpLocationCode == entity.ErpLocationCode).ConfigureAwait(false); if (exist == null) { var insRet = await InsertAsync(entity).ConfigureAwait(false); } - else - { - exist.ItemCode = entity.ItemCode; - exist.ErpLocationCode = entity.ErpLocationCode; - - } } } 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 5b481cb05..4f9c8e80d 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 @@ -29,6 +29,7 @@ public class BalanceManager : DomainService, IBalanceManager private readonly IItemBasicAclService _itemBasicAclService; private readonly ILocationAclService _locationAclService; private readonly IItemStoreRelationAclService _itemStoreRelationAclService; + private readonly IErpLocationItemAppService _erpLocationItemAppService; private readonly ISettingManager _settingManager; private readonly IExpectInRepository _expectInRepository; private readonly IExpectOutRepository _expectOutRepository; @@ -41,6 +42,7 @@ public class BalanceManager : DomainService, IBalanceManager , IExpectOutRepository expectOutRepository , IItemStoreRelationAclService itemStoreRelationAclService , ISettingManager settingManager + ,IErpLocationItemAppService erpLocationItemAppService ) { _objectMapper = objectMapper; @@ -51,6 +53,7 @@ public class BalanceManager : DomainService, IBalanceManager _itemStoreRelationAclService = itemStoreRelationAclService; _settingManager = settingManager; _expectOutRepository = expectOutRepository; + _erpLocationItemAppService= erpLocationItemAppService; } #region Modify @@ -159,7 +162,9 @@ public class BalanceManager : DomainService, IBalanceManager /// private async Task CheckErpLocationItemAsync(Transaction transaction) { - if (transaction == null) + var erpLocationItem =await _erpLocationItemAppService.GetFirstAsync(transaction.LocationErpCode, transaction.ItemCode).ConfigureAwait(false); + + if (erpLocationItem == null) { throw new UserFriendlyException($"未找到零件【{transaction.ItemCode}】与ERP储位【{transaction.LocationErpCode}】的开账信息"); }