diff --git a/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs b/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs
index de644ae3..6eec6675 100644
--- a/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs
+++ b/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs
@@ -253,6 +253,22 @@ namespace YLErp.DBModels
[DisplayName("收支方向")]
[DataChange]
public int InterestDirection { get; set; }
+ [NotMapped]
+ public string InterestDirectionStr
+ {
+ get
+ {
+ if (InterestDirection == 1)
+ {
+ return "收取";
+ }
+ else if (InterestDirection == 2)
+ {
+ return "支付";
+ }
+ else return "";
+ }
+ }
///
/// 计息方式 1:固定值,2:合约名义本金规模,3:持仓名义本金,4:持仓市值
///
diff --git a/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs b/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs
index a17503a1..6ffbccf3 100644
--- a/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs
+++ b/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs
@@ -39,5 +39,9 @@ namespace YLErp.Models
public string NetSettleAmout { get; set; }
public string MarginInterestAmount { get; set; }
+ ///
+ /// 分红
+ ///
+ public string DividendIn { get; set; }
}
}
diff --git a/Plugins/YLErp.Plugins.ZheShang/App_Docs/结算单/非DMA结算单.xlsx b/Plugins/YLErp.Plugins.ZheShang/App_Docs/结算单/非DMA结算单.xlsx
index 1f66aab5..6cadad28 100644
Binary files a/Plugins/YLErp.Plugins.ZheShang/App_Docs/结算单/非DMA结算单.xlsx and b/Plugins/YLErp.Plugins.ZheShang/App_Docs/结算单/非DMA结算单.xlsx differ
diff --git a/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs b/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs
index 3daaa585..2a5d6167 100644
--- a/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs
+++ b/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs
@@ -68,7 +68,7 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
row.ClosePrice = ((flowEventGroup.TradingAmountAvg) * 100).OtcFormat(OtcFormatFlag.umprice);
decimal interestRate = unwindFlowEvents.Where(x => ConsTrade.InterestModels.Contains(x.InterestMode)).Sum(s => s.InterestRate);
row.InterestRate = interestRate.ToString("0.00%");
- var PosiNotionalValue = flowEventGroup.Quantity * flowEventGroup.ContractSize;
+ var PosiNotionalValue = flowEventGroup.Quantity * flowEventGroup.ContractSize* posi.PosiGrossPrice;
row.PosiNotionalValue = PosiNotionalValue.ToString("0.00");
row.PosiNetPrice = (posi.PosiGrossPrice * 100).OtcFormat(OtcFormatFlag.umprice);
//var tradingFee = (flowEventGroup.TradingAmountFeeAvg- posi.PosiNetPrice- flowEventGroup.TradingAmountAvg+ posi.PosiGrossPrice)* PosiNotionalValue* ratio;
@@ -98,10 +98,11 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
//row.MarginInterestAmount = MarginInterestAmount.ToString("0.00");
var FloatRate = PosiNotionalValue == 0 ? 0 : InterestAmount / PosiNotionalValue;
row.FloatRate = FloatRate.ToString("0.0000%");
- var PosiPnl = -(flowEventGroup.MarkClosePnl- tradingFee);
+ var PosiPnl = -(flowEventGroup.MarkClosePnl- tradingFee-flowEventGroup.DividendIn);
row.PosiPnl = PosiPnl.ToString("0.00");
var markClosePnl = (-flowEventGroup.MarkClosePnl);
row.MarkClosePnl = markClosePnl.ToString("0.00");
+ row.DividendIn = (-flowEventGroup.DividendIn).ToString("0.00");
var marginBackAmount = unwindFlowEvents.Where(x => ConsTrade.InterestMarginModels.Contains(x.InterestMode)).Sum(s => s.InterestPrincipal);
var NetSettleAmout = unwindFlowEvents.Sum(x => x.InterestClosePnL) * -1 + flowEventGroup.MarkClosePnl * -1 + marginBackAmount;
row.NetSettleAmout = NetSettleAmout.ToString("0.00");
diff --git a/YLErpDAL/Model/ClientSwapPositionRequest.cs b/YLErpDAL/Model/ClientSwapPositionRequest.cs
index 34e8de76..e688d281 100644
--- a/YLErpDAL/Model/ClientSwapPositionRequest.cs
+++ b/YLErpDAL/Model/ClientSwapPositionRequest.cs
@@ -36,5 +36,30 @@ namespace YLErp.Model
public string StructureType { get; set; }
public string ContractCode { get; set; }
+ ///
+ /// 交易费用
+ ///
+ public decimal TradeFee { get; set; }
+ ///
+ /// 交易费用后付
+ ///
+ public decimal TradingFee { get; set; }
+
+ ///
+ /// 净额结算金额 互换持仓价值+待返还的预付金本金
+ ///
+ public decimal NetSettmentAmount { get; set; }
+ ///
+ /// 浮动标的代码
+ ///
+ public string FloatRateUnderlyingCode { get; set; }
+
+ public decimal PosiPnl { get; set; }
+ ///
+ /// 计息天数
+ ///
+ public decimal Days { get; set; }
+
+ public DateTime StartDate { get; set; }
}
}
diff --git a/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs b/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs
index 2298e3fb..1e54f8b8 100644
--- a/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs
+++ b/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs
@@ -233,7 +233,17 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule
}
if (report.EodSwapPositions != null)
{
- modelDict.Add("互换估值", report.EodSwapPositions);
+ modelDict.Add("互换估值", new
+ {
+ EodSwapPositions = report.EodSwapPositions,
+ PosiNotionalValueSum= report.EodSwapPositions.Sum(x => x.position.PosiNotionalValue),
+ PosiQuantitySum= report.EodSwapPositions.Sum(x => x.position.PosiQuantity),
+ PeriodAmountSum= report.EodSwapPositions.Sum(x => x.PeriodAmount),
+ InterestAmountSum= report.EodSwapPositions.Sum(x => x.InterestAmount),
+ VTradingFeeSum= report.EodSwapPositions.Sum(x => x.position.VTradingFee),
+ PosiProfitSum= report.EodSwapPositions.Sum(x => x.position.PosiProfitSum),
+ NetSettmentAmountSum= report.EodSwapPositions.Sum(x => x.NetSettmentAmount),
+ });
}
if (report.SwapPositions != null)
{
@@ -241,7 +251,17 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule
}
if (report.clientSwapPositions != null)
{
- modelDict.Add("互换交易流水", report.clientSwapPositions);
+ modelDict.Add("互换交易流水", new
+ {
+ ClientSwapPositions = report.clientSwapPositions,
+ TradeFeeSum= report.clientSwapPositions.Sum(x => x.TradeFee),
+ TradingFeeSum= report.clientSwapPositions.Sum(x => x.TradingFee),
+ PosiPnlSum = report.clientSwapPositions.Sum(x => x.PosiPnl),
+ DividendInSum= report.clientSwapPositions.Sum(x => x.FlowEvent.DividendIn),
+ InterestAmountSum= report.clientSwapPositions.Sum(x => x.FlowEvent.InterestAmount),
+ InterestFeeSum= report.clientSwapPositions.Sum(x => x.FlowEvent.InterestFee),
+ NetSettmentAmountSum = report.clientSwapPositions.Sum(x => x.NetSettmentAmount),
+ });
}
if (report.ClientCashInCashOutExtendList != null)
{
diff --git a/YLErpDAL/Modules/SwapModule/SwapDealService.cs b/YLErpDAL/Modules/SwapModule/SwapDealService.cs
index 056017ba..33093c4c 100644
--- a/YLErpDAL/Modules/SwapModule/SwapDealService.cs
+++ b/YLErpDAL/Modules/SwapModule/SwapDealService.cs
@@ -556,28 +556,22 @@ namespace YLErp.Modules.SwapModule
}
else
{
+ decimal aDays = position.IsAnnualized ? annualDays : 1;
InterestAmount = closePosiNotionalValue * (interest.InterestRate + position.FloatRate);
TdInterestAmount = posiNotionalValue * (interest.InterestRate + position.FloatRate);
if (settment)
{
- if (position.IsAnnualized)
- {
- InterestAmount = InterestAmount * ((decimal)itemDays / annualDays);
- TdInterestAmount = TdInterestAmount * ((decimal)itemDays / annualDays);
- }
+ InterestAmount = InterestAmount * ((decimal)itemDays / aDays);
+ TdInterestAmount = TdInterestAmount * ((decimal)itemDays / aDays);
InterestAmount = (interestProfitSum * closePrecent) + InterestAmount;
}
else
{
- if (itemDays > 1)//日期超算情况
+ if (endDate > lastSwapDate)//日期超算情况
{
- decimal days = (decimal)itemDays - 1m;
- if (position.IsAnnualized)
- {
- InterestAmount = InterestAmount * (days / annualDays);
- TdInterestAmount = TdInterestAmount * (days / annualDays);
- InterestAmount += (interestProfitSum * closePrecent);
- }
+ InterestAmount = InterestAmount * ((decimal)itemDays / aDays);
+ TdInterestAmount = TdInterestAmount * ((decimal)itemDays / aDays);
+ InterestAmount += (interestProfitSum * closePrecent);
}
else
{
@@ -1251,55 +1245,31 @@ namespace YLErp.Modules.SwapModule
swapEvent.unwindData = JsonConvert.DeserializeObject(swapEvent.EventData);
var flowList = DbContext.swap_flow_event.Where(x => x.EventId == swapEvent.id).ToList();
string action = eventType == (int)SwapEventTypeEnum.互换 ? ClientCashInCashOut.系统操作_互换 : ClientCashInCashOut.系统操作_平仓费;
- int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(swapEvent.unwindData.SwapCloseAmount), action, swapEvent.unwindData.ValueDate);
- swapEvent.ClientCashId = clientCashId;
- if (td.StructureType != "多空组合")
+ int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-swapEvent.unwindData.SwapRealizedPnL), action, swapEvent.unwindData.ValueDate);
+ if (swapEvent.unwindData.SwapMarginAmount != 0)
{
- if (eventType == (int)SwapEventTypeEnum.互换)
+ AddClientCashInCashOut(td, Convert.ToDouble(swapEvent.unwindData.SwapMarginAmount), ClientCashInCashOut.系统操作_应付预付金, swapEvent.unwindData.ValueDate);
+ }
+ swapEvent.ClientCashId = clientCashId;
+ if (swapEvent.unwindData.CloseMethod == (int)CloseMethodEnum.全部平仓)
+ {
+ td.TradeStatus = "已平仓";
+ td.trade_extend = DbContext.trade_extend.FirstOrDefault(x => x.TradeId == td.id);
+ if (td.trade_extend != null && !td.trade_extend.ExtendObj.NeedOpenFee)
{
- if (td.ExerciseDate <= swapEvent.unwindData.ValueDate)
- {
- td.Notional = 0;
- td.StockEqvNotional = 0;
- td.TradeStatus = ConsTrade.已到期;
- }
- else
- {
- td.TradeStatus = ConsTrade.确认成交;
- }
+ new ClientCashInCashOutService(this).SaveSwapTradeClientCash(td, td.TradePrice ?? 0, swapEvent.unwindData.ValueDate, 0);
}
- else
- {
- if (swapEvent.unwindData.CloseMethod == (int)CloseMethodEnum.全部平仓)
- {
- td.TradeStatus = ConsTrade.已平仓;
- td.Notional = 0;
- td.TradeAmount = 0;
- }
- else
- {
- td.TradeStatus = ConsTrade.确认成交;
- td.HasPartialUnWind = 1;
- td.TradeAmount -= Convert.ToDouble(swapEvent.unwindData.CloseQty);
- }
- td.StockEqvNotional -= Convert.ToDouble(swapEvent.unwindData.CloseNotionalValue);
- }
- td.UnWindDate = swapEvent.unwindData.UnwindDate;
- UpdateInitalPosition(flowList, swapEvent.unwindData, eventType);
- DbContext.SaveChanges();
}
else
{
- if (eventType == (int)SwapEventTypeEnum.平仓)
- {
- td.UnWindDate = swapEvent.unwindData.UnwindDate;
- td.StockEqvNotional = 0;
- td.TradeStatus = "已平仓";
- }
- UpdateInitalPosition(flowList, swapEvent.unwindData, eventType);
- DbContext.SaveChanges();
+ td.HasPartialUnWind = 1;
}
-
+ td.UnWindDate = swapEvent.unwindData.UnwindDate;
+ td.StockEqvNotional -= Convert.ToDouble(swapEvent.unwindData.CloseNotionalValue);
+ td.TradeAmount -= Convert.ToDouble(swapEvent.unwindData.CloseQty);
+ td.Notional = td.TradeAmount;
+ UpdateInitalPosition(flowList, swapEvent.unwindData, eventType);
+ DbContext.SaveChanges();
}
///
diff --git a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs
index 99a5755b..fb7d29c7 100644
--- a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs
+++ b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs
@@ -137,7 +137,7 @@ namespace YLErp.Modules.SwapModule
}
var flowEvents = new List();
Expression> eventExpression = x => x.SwapTradeId == td.id && x.DataState == (int)SwapFlowDateStateEnum.完成;
- eventExpression = eventExpression.And(x => (x.EventDate == settleDate && x.EventType == (int)SwapFlowEventTypeEnum.开仓) || (x.UnwindDate == settleDate && eventTyps.Contains(x.EventType)));
+ eventExpression = eventExpression.And(x => x.EventDate == settleDate );
//if (settleDate == td.TradeDate)
//{
// eventExpression = eventExpression.And(x => x.EventDate == settleDate);
@@ -1834,7 +1834,7 @@ namespace YLErp.Modules.SwapModule
private SearchListResult GetSearchEodPositionList(ClientSwapPositionRequest req)
{
- var predicate = PredicateBuilder.Create(n => !n.Invalid && n.PosiQuantity > 0);
+ var predicate = PredicateBuilder.Create(n => !n.Invalid && n.PosiDirection > 0);
var interestPredicate = PredicateBuilder.Create(n => !n.Invalid && n.InterestDirection > 0);
var tradePredicate = PredicateBuilder.Create(n => n.StructureType == req.StructureType
&& n.ValidState != "InValid");
@@ -1894,8 +1894,9 @@ namespace YLErp.Modules.SwapModule
//item.position.PosiProfitSum += item.TradingFee;
var posiProfitSum= item.position.PosiProfitSum;
//item.position.PosiProfitSum 不需要加交易费用
- item.position.PosiProfitSum = item.position.PosiProfitSum - item.position.VTradingFee;
+ item.position.PosiProfitSum = item.position.PosiProfitSum - item.position.VTradingFee-item.position.PosiDividendSum;
item.NetSettmentAmount = posiProfitSum;
+ item.PeriodAmount = item.position.PosiDividendSum;
var margins = positions.Where(x => x.SwapTradeId == item.position.SwapTradeId);
var interests = eodPositions.Where(x => x.SwapTradeId == item.position.SwapTradeId && x.ValueDate == item.position.ValueDate);
var eodMargins = interests.Where(x => marginTypes.Contains(x.InterestMode));
@@ -1936,6 +1937,7 @@ namespace YLErp.Modules.SwapModule
position.PosiProfitSum = -position.PosiProfitSum;
position.VTradingFee = -position.VTradingFee;
position.SwapPositionValue = -position.SwapPositionValue;
+ position.PosiDividendSum = -position.PosiDividendSum;
}
private void SetPosiPrice(eod_swap_position position)
{
diff --git a/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs b/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs
index a57f8e0d..309be6d3 100644
--- a/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs
+++ b/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs
@@ -475,6 +475,7 @@ namespace YLErp.Modules.SwapModule
var tradeQuery = DbContext.trade.Where(tradePredicate);
var query = from flow in positionQuery
join td in tradeQuery on flow.SwapTradeId equals td.id
+ join posi in DbContext.swap_position on flow.PositionId equals posi.PositionId
join tr in DbContext.trade_contract_r on td.id equals tr.TradeId into tradeContractGroup
from tradeContract in tradeContractGroup.DefaultIfEmpty()
select new ClientSwapPositionResponse
@@ -485,6 +486,8 @@ namespace YLErp.Modules.SwapModule
ClientName = td.ClientName,
ClientId = td.ClientId,
ContractCode = tradeContract.ContractCode,
+ FloatRateUnderlyingCode=posi.FloatRateUnderlyingCode,
+ StartDate = td.StartDate.Value,
};
if (string.IsNullOrEmpty(req.sidx))
{
@@ -501,6 +504,21 @@ namespace YLErp.Modules.SwapModule
item.FlowEvent.InterestFee = -item.FlowEvent.InterestFee;
item.FlowEvent.TradingFee = -item.FlowEvent.TradingFee;
item.FlowEvent.TradingFeePending = -item.FlowEvent.TradingFeePending;
+
+ if (item.FlowEvent.EventType==(int)SwapFlowEventTypeEnum.开仓)
+ {
+ item.TradeFee = 0;
+ item.TradingFee= item.FlowEvent.TradingFeePending;
+ }
+ else
+ {
+ item.TradeFee = item.FlowEvent.TradingFee;
+ item.TradingFee = item.FlowEvent.TradingFeePending;
+ item.PosiPnl= item.FlowEvent.MarkClosePnl- item.FlowEvent.CloseFee-item.FlowEvent.DividendIn;
+ item.NetSettmentAmount = item.FlowEvent.MarkClosePnl + item.FlowEvent.InterestClosePnL;
+ item.Days = (item.FlowEvent.UnwindDate - item.StartDate).Value.Days;
+ }
+
}
return retListResult;
}
diff --git a/YLErpDAL/Modules/SwapModule/SwapTradeAutoService.cs b/YLErpDAL/Modules/SwapModule/SwapTradeAutoService.cs
index 52e82bd1..b220a92f 100644
--- a/YLErpDAL/Modules/SwapModule/SwapTradeAutoService.cs
+++ b/YLErpDAL/Modules/SwapModule/SwapTradeAutoService.cs
@@ -4,6 +4,7 @@ using CsvHelper;
using Dapper;
using DocumentFormat.OpenXml.Drawing;
using MoreLinq;
+using Newtonsoft.Json;
using NPOI.SS.Formula.Functions;
using Qdp.ComputeServiceV2.Data.CommonModels.TradeInfos;
using Qdp.Pricing.Base.Enums;
@@ -213,6 +214,19 @@ namespace YLErp.Modules.SwapModule
return resetTradeIds;
}
///
+ /// 检查FR007数据
+ ///
+ ///
+ ///
+ public void CheckFR007Data(DateTime valueDate)
+ {
+ var existFr007= DbContext.eod_commodity_future_price.Any(s => s.ValueDate==valueDate && s.UnderlyingCode=="FR007");
+ if (!existFr007)
+ {
+ throw new ServiceException($"{valueDate.ToString("yyyy-MM-dd")}没有FR007数据不能进行簿记");
+ }
+ }
+ ///
/// 校验交易是否收盘
///
///
diff --git a/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx b/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx
index 2ded3ffc..ded2478e 100644
Binary files a/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx and b/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx differ
diff --git a/YLErpWeb/Hubs/SwapFlowCombookingHub.cs b/YLErpWeb/Hubs/SwapFlowCombookingHub.cs
index 950487d8..582786d7 100644
--- a/YLErpWeb/Hubs/SwapFlowCombookingHub.cs
+++ b/YLErpWeb/Hubs/SwapFlowCombookingHub.cs
@@ -1,4 +1,5 @@
-using Confluent.Kafka;
+using Autofac.Core;
+using Confluent.Kafka;
using CsvHelper;
using DocumentFormat.OpenXml.InkML;
using DocumentFormat.OpenXml.Spreadsheet;
@@ -60,6 +61,11 @@ namespace YLErp.Web.Hubs
// 数据校验逻辑
currentStep = "校验上一日是否收盘";
await client.SendAsync("ReceiveMessage", currentStep);
+ // 数据校验逻辑
+ currentStep = "校验FR007数据";
+ await client.SendAsync("ReceiveMessage", currentStep);
+ //检验FR007
+ service.CheckFR007Data(req.tradeDate);
service.CheckTradEods(req.tradeDate, mergeList);
//currentStep = "检测当前日期是否已经流水合成簿记";
//service.CheckBookByDate(tradeDate);
diff --git a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js
index 2abb9762..9c6b9f68 100644
--- a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js
+++ b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js
@@ -210,6 +210,21 @@ var colModelGrid = [
align: 'center',
sortable: false,
formatter: RateFormat
+ }, {
+ name: 'position.FloatRateUnderlyingCode',
+ label: '基准利率',
+ index: 'position.FloatRateUnderlyingCode',
+ width: 120,
+ align: 'center',
+ sortable: false
+ }, {
+ name: 'position.FloatRate',
+ label: '当日适用基准利率',
+ index: 'position.FloatRate',
+ width: 120,
+ align: 'center',
+ sortable: false,
+ formatter: RateFormat
}, {
name: 'position.PosiNotionalValue',
label: '标的名义金额',
@@ -218,6 +233,14 @@ var colModelGrid = [
align: 'center',
sortable: false,
formatter: StockEqvNotionalFormat,
+ }, {
+ name: 'position.PosiQuantity',
+ label: '标的数量',
+ index: 'position.PosiQuantity',
+ width: 150,
+ align: 'center',
+ sortable: false,
+ formatter: StockEqvNotionalFormat,
}, {
name: 'PeriodAmount',
label: '期间付息',
@@ -266,7 +289,7 @@ var colModelGrid = [
sortable: false,
}, {
name: 'position.VTradingFee',
- label: '交易费用',
+ label: '预估交易费用',
index: 'position.VTradingFee',
width: 120,
align: 'center',
diff --git a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js
index 2917a342..a0a73c03 100644
--- a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js
+++ b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js
@@ -224,13 +224,6 @@ var colModelGrid = [
width: 90,
align: 'center',
formatter: PriceFormat
- }, {
- name: 'FlowEvent.TradingAmountFeeAvg',
- label: '含费均价',
- index: 'FlowEvent.TradingAmountFeeAvg',
- width: 90,
- align: 'center',
- formatter: PriceFormat
}, {
name: 'FlowEvent.Quantity',
label: '成交数量',
@@ -253,30 +246,23 @@ var colModelGrid = [
align: 'center',
formatter: StockEqvNotionalFormat,
}, {
- name: 'FlowEvent.TradingFee',
- label: '交易费用佣金',
- index: 'FlowEvent.TradingFee',
- width: 120,
- align: 'center',
- formatter: StockEqvNotionalFormat
- }, {
- name: 'FlowEvent.TradingFeePending',
- label: '待结算后付交易费用佣金',
- index: 'FlowEvent.TradingFeePending',
+ name: 'TradingFee',
+ label: '待结算交易费用佣金',
+ index: 'TradingFee',
width: 220,
align: 'center',
formatter: StockEqvNotionalFormat
}, {
- name: 'FlowEvent.DividendPending',
- label: '待结算分红收益',
- index: 'FlowEvent.DividendPending',
+ name: 'TradeFee',
+ label: '交易费用佣金',
+ index: 'TradeFee',
width: 120,
align: 'center',
formatter: StockEqvNotionalFormat
}, {
- name: 'FlowEvent.MarkClosePnl',
+ name: 'PosiPnl',
label: '浮动端平仓盈亏·盯市',
- index: 'FlowEvent.MarkClosePnl',
+ index: 'PosiPnl',
width: 220,
align: 'center',
formatter: StockEqvNotionalFormat,
@@ -287,13 +273,6 @@ var colModelGrid = [
width: 220,
align: 'center',
formatter: StockEqvNotionalFormat,
- }, {
- name: 'FlowEvent.CloseFee',
- label: '浮动端平仓盈亏·费用',
- index: 'FlowEvent.CloseFee',
- width: 220,
- align: 'center',
- formatter: StockEqvNotionalFormat,
}, {
name: 'FlowEvent.InterestDirection',
label: '[利息]收支方向',
@@ -302,25 +281,38 @@ var colModelGrid = [
align: 'center',
formatter: DrictionFormat
}, {
- name: 'FlowEvent.InterestModeStr',
- label: '计息基准类型',
- index: 'FlowEvent.InterestModeStr',
- width: 90,
+ name: 'FloatRateUnderlyingCode',
+ label: '基准利率',
+ index: 'FloatRateUnderlyingCode',
+ width: 120,
align: 'center',
+ }, {
+ name: 'FlowEvent.FloatRate',
+ label: '当日适用基准利率',
+ index: 'FlowEvent.FloatRate',
+ width: 120,
+ align: 'center',
+ formatter: PercentFormat
}, {
name: 'FlowEvent.InterestPrincipal',
- label: '计息基准固定值',
+ label: '计息基数',
index: 'FlowEvent.InterestPrincipal',
width: 120,
align: 'center',
formatter: StockEqvNotionalFormat
}, {
name: 'FlowEvent.InterestRate',
- label: '互换利率(年化)',
+ label: '利率',
index: 'FlowEvent.InterestRate',
width: 140,
align: 'center',
formatter:PercentFormat
+ }, {
+ name: 'Days',
+ label: '计息天数',
+ index: 'Days',
+ width: 140,
+ align: 'center'
}, {
name: 'FlowEvent.InterestAmount',
label: '利息端平仓盈亏·利息',
@@ -336,6 +328,14 @@ var colModelGrid = [
align: 'center',
formatter: StockEqvNotionalFormat
}
+ , {
+ name: 'NetSettmentAmount',
+ label: '净额结算金额',
+ index: 'NetSettmentAmount',
+ width: 220,
+ align: 'center',
+ formatter: StockEqvNotionalFormat
+ }
];
function formatter6(cellvalue, options, rowObject) {