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; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Outgoing; public class IssueNoteWriter : IWriter { private readonly IIssueNoteManager _issueNoteNoteManager; private readonly IOutgoingToExternalManager _outgoingToExternalManager; public IssueNoteWriter( IIssueNoteManager issueNoteNoteManager , IOutgoingToExternalManager outgoingToExternalManager) { _issueNoteNoteManager = issueNoteNoteManager; _outgoingToExternalManager = outgoingToExternalManager; } public virtual async Task WriteAsync(List outgoingDataList) { var IssueNotes = await BuildArriveNotesAsync(outgoingDataList).ConfigureAwait(false); //写Issue数据到MES await _issueNoteNoteManager.PostListAsync(IssueNotes).ConfigureAwait(false); await _outgoingToExternalManager.ArchiveManyAsync(outgoingDataList).ConfigureAwait(false); } private static async Task> BuildArriveNotesAsync(List outgoingData) { await Task.CompletedTask.ConfigureAwait(false); var issueList = new List(); foreach (var outgoingToExternal in outgoingData) { var issue = JsonSerializer.Deserialize(outgoingToExternal.DestinationDataContent); issueList.Add(issue); } return issueList; } }