客户保证金率设置需求变更:不需要根据发行年限,且增加30年以上一档,交易确认书保证金率获取也需要修改
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using Microsoft.VisualBasic;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Org.BouncyCastle.Ocsp;
|
||||
using System.Diagnostics;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.RegularExpressions;
|
||||
@@ -11,6 +12,7 @@ using YLErp.DBModels.Enums;
|
||||
using YLErp.Enums;
|
||||
using YLErp.Plugins.TradeDocGenerator;
|
||||
using YLErp.Plugins.TradeDocGenerator.Abstracts;
|
||||
using static NPOI.HSSF.Util.HSSFColor;
|
||||
|
||||
namespace YLErp.Plugins.ShanXi.DocumentGenerator
|
||||
{
|
||||
@@ -100,7 +102,6 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
|
||||
var clientduties = Context.GetClientDuties();
|
||||
var table1 = new JArray();
|
||||
var table2 = new JArray();
|
||||
var clientMarginRate = Context.GetClientMarginRate(client.id);
|
||||
dic["交易编号"] = GetContractNo(out string contractIndex);
|
||||
dic["交易对手方全称"] = client.ClientType != "产品" ? client.Name : $"{client.Manager}作为管理人代表{client.Name}";
|
||||
dic["主协议编号"] = client.MainProtocolCode;
|
||||
@@ -126,7 +127,7 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
|
||||
var initialMarginQuery = swapPositions.Where(x => x.InterestMode == 5);
|
||||
var additionMarginQuery = swapPositions.Where(x => x.InterestMode == 6);
|
||||
var underlyingCode = swapPosition?.UnderlyingCode;
|
||||
|
||||
var clientMarginRate = YLErp.Modules.UnderlyingModule.UnderlyingHelper.GetApplicableMarginRate(client.id, underlyingCode, trade.TradeDate.Value);
|
||||
if (count == 0)
|
||||
{
|
||||
var interestMargin = allinterestMargins.FirstOrDefault(o => o.interest_rest_days != null);
|
||||
@@ -197,9 +198,9 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
|
||||
//}
|
||||
|
||||
//dic["计算基准"] = calculationBasis;
|
||||
dic["初始保障金率"] = ((clientMarginRate?.InitMarginRate ?? 0) * 100).ToString("0.####") + "%";
|
||||
dic["维持保障金率"] = ((clientMarginRate?.MaintenanceRate ?? 0) * 100).ToString("0.####") + "%";
|
||||
|
||||
dic["初始保障金率"] = ((clientMarginRate?.init_rate ?? 0) * 100).ToString("0.####") + "%";
|
||||
dic["维持保障金率"] = ((clientMarginRate?.maintain_rate ?? 0) * 100).ToString("0.####") + "%";
|
||||
dic["期初预付金".Insert("期初预付金".Length, "2?")] = (StockEqvNotionalRealSum * Convert.ToDouble(clientMarginRate?.init_rate??0)).ToString("0.##");
|
||||
//var initialMarginSum = initialMarginQuery.Sum(x =>
|
||||
// x.InterestDirection == 2 ? x.InterestPrincipalFix * -1 : x.InterestPrincipalFix);
|
||||
//dic["期初预付金".Insert("期初预付金".Length, "2?")] = initialMarginSum.ToString("0.##");
|
||||
@@ -224,7 +225,7 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
|
||||
FormatToDict("交易费用", (double)((swapPosition?.PosiTradingFeePending * 2) ?? 0), row);
|
||||
|
||||
row["期初预付金利率"] = ((initialMarginQuery.FirstOrDefault()?.InterestRateDefault) ?? 0) * 100;
|
||||
row["追加预付金返息率"] = ((clientMarginRate?.AddToMarginRebateRate) ?? 0) * 100;
|
||||
//row["追加预付金返息率"] = ((clientMarginRate?.AddToMarginRebateRate) ?? 0) * 100;
|
||||
if (!string.IsNullOrEmpty(underlyingCode))
|
||||
{
|
||||
var um = Context.GetTradeUnderlying(underlyingCode);
|
||||
@@ -258,7 +259,7 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
|
||||
dic["交易费率"] = dic["基本费率"];
|
||||
dic["交易费用"] = PosiTradingFeePending;
|
||||
dic["名义本金".Insert("名义本金".Length, "2?")] = StockEqvNotionalRealSum.ToString("0.##");
|
||||
dic["期初预付金".Insert("期初预付金".Length, "2?")] = (StockEqvNotionalRealSum * clientMarginRate?.InitMarginRate)?.ToString("0.##");
|
||||
|
||||
|
||||
|
||||
clientduties = clientduties.Where(x => x.ContactTypeId.Contains("3")).OrderBy(o => o.id).ToList();//交易确认书邮件接收人
|
||||
|
||||
Reference in New Issue
Block a user