fix: 结算单的期末期初标的价格

This commit is contained in:
马冰冰
2026-08-28 13:49:42 +08:00
parent 4cd368715c
commit 1b9ae140cf
@@ -1,6 +1,7 @@
using YLErp.DBModels;
using YLErp.DBModels.Consts;
using YLErp.DBModels.Enums;
using YLErp.Helpers;
using YLErp.Models;
using YLErp.Modules.SwapModule;
using YLErp.Modules.SwapModule.ReturnLegs;
@@ -107,6 +108,13 @@ public static class SwapSettlementBillRowBuilder
var isEtf = ConsGlobal.InstrumentType.Fund.Equals(
input.UnderlyingInstrumentType,
StringComparison.OrdinalIgnoreCase);
var initialPrice = settlementPosition?.PosiGrossPrice ?? 0m;
var closePrice = input.CloseFlow.TradingAmountAvg;
if (isCashBond)
{
initialPrice = BondPriceConverter.ToDisplay(initialPrice);
closePrice = BondPriceConverter.ToDisplay(closePrice);
}
return new ExcelReportModel
@@ -127,11 +135,11 @@ public static class SwapSettlementBillRowBuilder
PeriodDividend = isEtf
? periodAmount.ToString("0.00")
: string.Empty,
PosiNetPrice = ((settlementPosition?.PosiGrossPrice ?? 0m) * 100m).ToString("0.00000000"),
PosiNetPrice = initialPrice.ToString("0.00000000"),
InitYtm = isCashBond && input.Trade.InitYtm.HasValue
? input.Trade.InitYtm.Value.ToString("0.####%")
: string.Empty,
ClosePrice = (input.CloseFlow.TradingAmountAvg * 100m).ToString("0.00000000"),
ClosePrice = closePrice.ToString("0.00000000"),
ExitYtm = input.ExitYtm.HasValue
? input.ExitYtm.Value.ToString("0.0000")
: string.Empty,