using System.Collections.Generic; using System.Text.Json; using System.Threading.Tasks; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Outgoing; public class CountAdjustNoteWriter : IWriter { private readonly ICountAdjustManager _countadjustNoteManager; private readonly IOutgoingToExternalManager _outgoingToExternalManager; public CountAdjustNoteWriter( ICountAdjustManager countadjustNoteManager , IOutgoingToExternalManager outgoingToExternalManager) { _countadjustNoteManager = countadjustNoteManager; _outgoingToExternalManager = outgoingToExternalManager; } public virtual async Task WriteAsync(List outgoingDataList) { var CountAdjuseNotes = await BuildArriveNotesAsync(outgoingDataList).ConfigureAwait(false); //写Issue数据到MES await _countadjustNoteManager.PostListAsync(CountAdjuseNotes).ConfigureAwait(false); await _outgoingToExternalManager.ArchiveManyAsync(outgoingDataList).ConfigureAwait(false); } private static async Task> BuildArriveNotesAsync(List outgoingData) { await Task.CompletedTask.ConfigureAwait(false); var countadjustList = new List(); foreach (var outgoingToExternal in outgoingData) { var issue = JsonSerializer.Deserialize(outgoingToExternal.DestinationDataContent); countadjustList.Add(issue); } return countadjustList; } }