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 922964398..e84bf16b7 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 @@ -14,4 +14,5 @@ public interface IExchangeDataAppService Task> GetToBeProcessedListPostAsync(int batchSize); Task> GetToBeProcessedListOnlyReadAsync(int batchSize); Task> UpdateStatusByIdListAsync(List list); + 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 2f3f76b7a..10d91b9d9 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 @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Castle.Components.DictionaryAdapter; +using DocumentFormat.OpenXml.Office2010.ExcelAc; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; @@ -78,6 +79,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) {