diff --git a/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillRowBuilder.cs b/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillRowBuilder.cs index 70e81e8a..d67792bb 100644 --- a/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillRowBuilder.cs +++ b/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillRowBuilder.cs @@ -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,