From 2efe5514c36eeb2555e07edea7b0306526d0d559 Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Fri, 8 Sep 2023 17:13:05 +0800 Subject: [PATCH] =?UTF-8?q?eos=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E3=80=81tyrp=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9=E5=87=BA?= =?UTF-8?q?=E8=B4=A7=E5=8D=95=E6=B1=87=E6=80=BB=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Arrives/ArriveNote.cs | 2 +- .../Outgoing/ArriveConverter.cs | 4 ++++ .../Outgoing/DeliverNoteConverter.cs | 14 ++++++++------ .../PutawayNote/PutawayNoteDetailExchangeDto.cs | 2 +- .../OutgoingFromWmsEfCoreRepository.cs | 3 +++ 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Arrives/ArriveNote.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Arrives/ArriveNote.cs index 14ca34cfa..e59e57797 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Arrives/ArriveNote.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Arrives/ArriveNote.cs @@ -39,7 +39,7 @@ public class ArriveNote : Entity /// /// 生产时间 /// - public DateTime ProductDate { get; set; } + public DateTime? ProductDate { get; set; } /// /// 生产批次 /// diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs index e3f5cbadb..989eb2391 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs @@ -105,6 +105,10 @@ public class ArriveConverter : IOutgoingConverter { detail.ShipDate = null; } + if (detail.ProduceDate == nulltime) + { + detail.ProduceDate = null; + } var arrive = new ArriveNote() { PlanBillNo = detail.PoNumber, diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs index 1838a1f4e..790f5a0ce 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text.Json; using System.Threading.Tasks; using Volo.Abp.ObjectMapping; @@ -65,7 +66,9 @@ public class DeliverNoteConverter : IOutgoingConverter #endregion #region 明细 - foreach (var detail in wmsReceipt.Details) + var WipDetails = wmsReceipt.Details.GroupBy(r=>new { r.Number,r.ItemCode,r.FromLocationErpCode}).Select(p => new DeliverNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode }); + + foreach (var detail in WipDetails) { var outgoingDetailToExternal = new OutgoingToExternal() { @@ -73,7 +76,7 @@ public class DeliverNoteConverter : IOutgoingConverter TableType = EnumExchangeTableType.DetailTable, DataAction = outgoingFromWms.DataAction, SourceSystem = EnumSystemType.WMS.ToString(), - SourceDataId = detail.Id.ToString(), + SourceDataId = detail.Number.ToString(), SourceDataGroupCode = wmsReceipt.Number, SourceDataDetailCode = detail.ItemCode, Writer = nameof(TyrpOutgoingBackgroundWorker), @@ -81,9 +84,8 @@ public class DeliverNoteConverter : IOutgoingConverter DestinationDataId = "", }; outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); - var exchangeReceiptDetail = _objectMapper.Map(detail); - outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); - var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); + outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(detail); + var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, detail); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseOrderDetail); outgoingToExternalList.Add(outgoingDetailToExternal); } @@ -108,7 +110,7 @@ public class DeliverNoteConverter : IOutgoingConverter { wmsoutm_nbr = exchangeOrder.Number, wmsoutm_type = billtype, - wmsoutm_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + wmsoutm_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), wmsoutm_stat = "Y", wmsoutm_tyrp_dt = "", wmsoutm_user = "WMS", diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs index bde760890..78740f34c 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs @@ -65,7 +65,7 @@ public class PutawayNoteDetailExchangeDto /// 生产时间 /// [Display(Name = "生产时间")] - public DateTime ProduceDate { get; set; } = DateTime.Now; + public DateTime? ProduceDate { get; set; } = DateTime.Now; /// /// 发货单号 /// diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore/OutgoingFromWms/OutgoingFromWmsEfCoreRepository.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore/OutgoingFromWms/OutgoingFromWmsEfCoreRepository.cs index 8733673b7..956f58270 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore/OutgoingFromWms/OutgoingFromWmsEfCoreRepository.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore/OutgoingFromWms/OutgoingFromWmsEfCoreRepository.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -28,6 +29,8 @@ public class OutgoingFromWmsEfCoreRepository : SfsEfCoreRepositoryBase> GetListAsync(EnumOutgoingDataType dataType, EnumSystemType toSystemType) { + + // DateTime.TryParse("2023-09-09", out DateTime aa); var dbSet = await GetDbSetAsync().ConfigureAwait(false); var entities = await dbSet .Where(p => p.Status == EnumExchangeDataStatus.Unread