From 6920b1157771e49e8bc0db63d8c9c33712bfd44d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 25 Nov 2024 16:35:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=A4=96=E9=80=80=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnplannedReceiptNoteEventHandler.cs | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/UnplannedReceiptNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/UnplannedReceiptNoteEventHandler.cs index e48588536..6168c04d2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/UnplannedReceiptNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/UnplannedReceiptNoteEventHandler.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -20,13 +21,28 @@ public class UnplannedReceiptNoteEventHandler public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) { var entity = eventData.Entity; - await AddExchangeDataAsync(entity).ConfigureAwait(false); + var copy = CopyEntity(entity); + if (entity.Details != null && entity.Details.Count > 0) + { + await AddExchangeDataAsync(copy).ConfigureAwait(false); + } + + } [UnitOfWork] public virtual async Task HandleEventAsync(SfsCreatedEntityEventData> eventData) { var entities = eventData.Entity; + List notelist = new List(); + foreach (var entity in entities) + { + if (entity.Details != null && entity.Details.Count > 0) + { + var copy = CopyEntity(entity); + notelist.Add(copy); + } + } await AddExchangeDataAsync(entities).ConfigureAwait(false); } @@ -40,5 +56,19 @@ public class UnplannedReceiptNoteEventHandler var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).ConfigureAwait(false); await AddManyAsync(exchangeData).ConfigureAwait(false); } + private UnplannedReceiptNote CopyEntity(UnplannedReceiptNote p_note) + { + var json = System.Text.Json.JsonSerializer.Serialize(p_note); + var copy = System.Text.Json.JsonSerializer.Deserialize(json); + + + foreach (var detail in copy.Details) + { + detail.Qty = detail.Qty != 0 ? -Math.Abs(detail.Qty) : 0; + detail.HandledQty = detail.HandledQty != 0 ? -Math.Abs(detail.HandledQty) : 0; + detail.RecommendQty = detail.RecommendQty != 0 ? -Math.Abs(detail.RecommendQty) : 0; + } + return copy; + } }