Browse Source

修改 非生产退料4036接口 传输负数

dev_DY_CC
郑勃旭 5 months ago
parent
commit
2f1ba8bb27
  1. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs
  2. 37
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/UnplannedReceiptNoteEventHandler.cs

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs

@ -121,6 +121,12 @@ IUnplannedReceiptRequestAppService unplannedReceiptRequestAppService
DestinationSystem = EnumSystemType.ERP.ToString(),
DestinationDataId = "",
};
if (purchaseOrder.wmsoutm_type == "4036")
{
detail.Qty = detail.Qty * -1;
}
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(detail);
var purchaseOrderDetail = BuildDataInterfaceDetail(tyrpNumber, detail, wmsReceipt.Number);

37
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/UnplannedReceiptNoteEventHandler.cs

@ -23,30 +23,14 @@ public class UnplannedReceiptNoteEventHandler
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<UnplannedReceiptNote> eventData)
{
var entity = eventData.Entity;
var copy= CopyEntity(entity);
if(entity.Details!=null && entity.Details.Count>0)
{
await AddExchangeDataAsync(copy).ConfigureAwait(false);
}
await AddExchangeDataAsync(entity).ConfigureAwait(false);
}
[UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<List<UnplannedReceiptNote>> eventData)
{
var entities = eventData.Entity;
List<UnplannedReceiptNote> notelist = new List<UnplannedReceiptNote>();
foreach (var entity in entities)
{
if (entity.Details != null && entity.Details.Count > 0)
{
var copy=CopyEntity(entity);
notelist.Add(copy);
}
}
await AddExchangeDataAsync(notelist).ConfigureAwait(false);
await AddExchangeDataAsync(entities).ConfigureAwait(false);
}
protected override async Task AddExchangeDataAsync(List<UnplannedReceiptNote> entities)
@ -60,21 +44,4 @@ 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<UnplannedReceiptNote>(json);
copy.Qty =-Math.Abs(p_note.Qty);
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;
}
}

Loading…
Cancel
Save