diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs index b0be81c89..b586e1b78 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs @@ -15,4 +15,5 @@ public interface IExchangeDataAppService Task> GetToBeProcessedListOnlyReadAsync(int batchSize); Task> UpdateStatusByIdListAsync(List list); Task> UpdateManyAsync(List dtos); + Task> ReSendByListAsync(List list); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs index 499737da7..d37072cd9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs @@ -78,6 +78,44 @@ public class ExchangeDataAppService return new ExchangeDataDTO() { Id = entityNew.Id }; } + [HttpPost("re-send-by-list")] + public virtual async Task> ReSendByListAsync(List list) + { + var exchangeDataOldList = + await _repository.GetListAsync(p => list.Contains(p.TyrpNumber)).ConfigureAwait(false); + + var listnew = new List(); + + foreach (var exchangeDataOld in exchangeDataOldList) + { + exchangeDataOld.Status = EnumExchangeDataStatus.Error; + + var exchangeDataNew = new ExchangeData + { + DataAction = exchangeDataOld.DataAction, + DataContent = exchangeDataOld.DataContent, + DataIdentityCode = exchangeDataOld.DataIdentityCode, + DataType = exchangeDataOld.DataType, + DestinationSystem = exchangeDataOld.DestinationSystem, + EffectiveDate = exchangeDataOld.EffectiveDate, + Remark = exchangeDataOld.Remark, + SourceSystem = exchangeDataOld.SourceSystem, + WriteTime = DateTime.Now, + Writer = null + }; + + var entityNew = await _repository.InsertAsync(exchangeDataNew).ConfigureAwait(false); + + exchangeDataOld.Remark = $"在【{DateTime.Now}】时,重新生成了新的接口数据:ID为【{entityNew.Id}】"; + + await _repository.UpdateAsync(exchangeDataOld).ConfigureAwait(false); + + listnew.Add(entityNew.Id.ToString()); + } + + return listnew; + } + [HttpPost("by-batchsize-post")] public virtual async Task> GetToBeProcessedListPostAsync(int batchSize) {