diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/IssueNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/IssueNoteEventHandler.cs index fade97b9d..0b4a19633 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/IssueNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/IssueNoteEventHandler.cs @@ -40,8 +40,9 @@ public class IssueNoteEventHandler } //20230915mes无此接口 //var exchangeDatames = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.MES, ExchangeDataType, dtos).ConfigureAwait(false); - // await AddManyAsync(exchangeDatames).ConfigureAwait(false); + // await AddManyAsync(exchangeDatames).ConfigureAwait(false); //如果无明细不给tyrp传接口只给mes传接口 + var toErpDto = new List(); foreach (var item in dtos) { @@ -50,8 +51,25 @@ public class IssueNoteEventHandler toErpDto.Add(item); } } - var exchangeDataerp = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, toErpDto).ConfigureAwait(false); - await AddManyAsync(exchangeDataerp).ConfigureAwait(false); + + //2023-12-6要求同储位不传入接口 + var result= new List(); + foreach (var issueNoteDto in toErpDto) + { + issueNoteDto.Details.RemoveAll(p => p.HandledFromLocationErpCode == p.ToLocationErpCode); + if (issueNoteDto.Details.Count > 0) + { + result.Add(issueNoteDto); + } + } + + if (result.Count > 0) + { + var exchangeDataerp = + await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, result) + .ConfigureAwait(false); + await AddManyAsync(exchangeDataerp).ConfigureAwait(false); + } } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs index e6461eb37..5446353da 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Threading.Tasks; using Volo.Abp.EventBus; using Volo.Abp.Uow; +using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Domain; @@ -37,13 +38,31 @@ public class PurchaseReturnNoteEventHandler { await detail.TrySetLocationAsync(LocationAclService, detail.LocationCode).ConfigureAwait(false); } - //QAD - var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).ConfigureAwait(false); - await AddManyAsync(exchangeData).ConfigureAwait(false); + + //2023-12-6上架前退货不传入接口 + var result = new List(); + foreach (var issueNoteDto in dtos) + { + if (issueNoteDto.ReturnType==EnumPurchaseReturnType.AfterPuton) + { + result.Add(issueNoteDto); + } + } + + if (result.Count > 0) + { + //QAD + var exchangeData = + await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, result) + .ConfigureAwait(false); + await AddManyAsync(exchangeData).ConfigureAwait(false); + } + //EOS - var exchangeData_eos = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.EOS, ExchangeDataType, dtos).ConfigureAwait(false); + var exchangeData_eos = + await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.EOS, ExchangeDataType, result) + .ConfigureAwait(false); await AddManyAsync(exchangeData_eos).ConfigureAwait(false); - } }