diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs index 8e98d56a8..2864cc7a4 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs @@ -17,16 +17,19 @@ public class PutawayNoteConverter : IOutgoingConverter private readonly IOutgoingFromWmsManager _outgoingFromWmsManager; private readonly IOutgoingToExternalManager _outgoingToExternalManager; private readonly IObjectMapper _objectMapper; + private readonly IPurchaseOrderAppService _purchaseOrderAppService; public PutawayNoteConverter( IOutgoingFromWmsManager outgoingFromWmsManager , IOutgoingToExternalManager outgoingToExternalManager , IObjectMapper objectMapper + ,IPurchaseOrderAppService purchaseOrderAppService ) { _outgoingFromWmsManager = outgoingFromWmsManager; _outgoingToExternalManager = outgoingToExternalManager; _objectMapper = objectMapper; + _purchaseOrderAppService = purchaseOrderAppService; } public virtual async Task> ConvertAsync() { @@ -78,6 +81,20 @@ public class PutawayNoteConverter : IOutgoingConverter var exchangeReceiptDetail = _objectMapper.Map(detail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w); + try + { + //通过采购订单号查询采购订单要求到货日期 + var order = await _purchaseOrderAppService.GetByNumberAsync(putawayNoteDetail.scmsend_orderno).ConfigureAwait(false); + if (order != null) + { + putawayNoteDetail.scmsend_delv_date = order.DueDate.ToString("yyyyMMdd"); + } + } + catch (Exception ex) + { + outgoingDetailToExternal.SetError(EnumExchangeDataErrorCode.Exception, ex.InnerException==null?ex.Message: ex.InnerException.Message, ex.ToString()); + } + outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); outgoingToExternalList.Add(outgoingDetailToExternal); } @@ -115,7 +132,7 @@ public class PutawayNoteConverter : IOutgoingConverter /// /// private Scmsend BuildDataInterfaceDetail(PutawayNoteExchangeDto exchangeOrder, PutawayNoteDetailExchangeDto exchangeDetailOrder, string dt_w) - { + { var ret = new Scmsend() { scmsend_type = billtype, diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScontrolWriter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScontrolWriter.cs index d843ae8c3..ea7815a5c 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScontrolWriter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScontrolWriter.cs @@ -27,7 +27,7 @@ public class ScontrolWriter : IWriter public virtual async Task WriteAsync(List outgoingDataList) { - var groups = outgoingDataList.GroupBy(r => r.SourceDataGroupCode); + var groups = outgoingDataList.Where(r=>r.Status!=EnumExchangeDataStatus.Error).GroupBy(r => r.SourceDataGroupCode); foreach (var group in groups) { var dataInterfaceList = new List();