修复分红型自动互换在互换Tab显示期初/期末价未×100及期初净价为0

DealDividends生成分红型自动互换事件时,漏赋了UnderlyingInstrumentType和
TradingAmountNetAvg两个字段,导致互换Tab(TradeView)显示异常:

1. UnderlyingInstrumentType缺失:TradeView第654行IsBond判断为false,
   multiplier=1,走了非债券分支(不×100),使期初/期末价显示为相对价(1.00)
   而非百分比(100%)。补赋eodPosi.UnderlyingInstrumentType后,
   与手动互换一致走债券分支(×100)。

2. TradingAmountNetAvg缺失:TradeView第993行显示期初净价取该字段,
   缺失导致显示0。补赋eodPosi.PosiNetNoFeePrice修复。

入库的TradingAmountAvg(相对价)本来就正确,仅显示层判断缺字段。
仅改动DealDividends,不影响平仓/手动互换/显示层逻辑。
This commit is contained in:
hjhan
2026-06-25 18:09:50 +08:00
parent 90b6692222
commit 0ab6091962
@@ -450,12 +450,14 @@ namespace YLErp.Modules.SwapModule
PayDate = dividendPayDate,
PositionId = eodPosi.PositionId,
UnderlyingCode = eodPosi.UnderlyingCode,
UnderlyingInstrumentType = eodPosi.UnderlyingInstrumentType,
PayDirection = eodPosi.PosiDirection,
PositionType = eodPosi.PositionType,
PositionQty = eodPosi.PosiQuantity,
Quantity = 0,
ContractSize = eodPosi.ContractSize,
TradingAmountAvg = eodPosi.PosiNetPrice,
TradingAmountNetAvg = eodPosi.PosiNetNoFeePrice,
PosiGrossPrice = eodPosi.PosiGrossPrice,
PosiNetPrice = eodPosi.PosiNetPrice,
MarkClosePnl = eodPosi.PosiDividendSum,