更新交换利率端获取方法及相关引用
This commit is contained in:
@@ -433,6 +433,8 @@ namespace YLErp.Plugins.TradeDocGenerator.Abstracts
|
||||
|
||||
List<swap_position> GetSwapPositions(int tradeId,bool? IsInitial);
|
||||
|
||||
List<swap_position> GetSwapPositions(List<int> tradeId, bool? IsInitial);
|
||||
|
||||
List<ClientDuty> GetClientDuties();
|
||||
|
||||
client_marginrate GetClientMarginRate(int clientId);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Microsoft.VisualBasic;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.RegularExpressions;
|
||||
using YLErp.Core.Helpers;
|
||||
using YLErp.DBModels;
|
||||
@@ -112,25 +113,28 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator
|
||||
var trades = Context.Trades;
|
||||
var totalPosiQuantity = 0.0;
|
||||
var StockEqvNotionalRealSum = 0.0;
|
||||
var allSwapPositions = Context.GetSwapPositions(trades.Select(x => x.id).ToList(), true);
|
||||
var allinterestMargins = allSwapPositions.Where(x => ConsTrade.InterestModels.Contains(x.InterestMode));
|
||||
foreach (var trade in trades)
|
||||
{
|
||||
var swapPositions = Context.GetSwapPositions(trade.id, true);
|
||||
var swapPosition = swapPositions.Where(x => x.PositionType == 1 || x.PositionType == 2).FirstOrDefault();
|
||||
var interestMargins = swapPositions.Where(x => ConsTrade.InterestModels.Contains(x.InterestMode));
|
||||
|
||||
var initialMarginQuery = swapPositions.Where(x => x.InterestMode == 5);
|
||||
var additionMarginQuery = swapPositions.Where(x => x.InterestMode == 6);
|
||||
var underlyingCode = swapPosition?.UnderlyingCode;
|
||||
|
||||
if (count == 0)
|
||||
{
|
||||
var interestMargin = interestMargins.FirstOrDefault(o => o.interest_rest_days != null);
|
||||
var interestMargin = allinterestMargins.FirstOrDefault(o => o.interest_rest_days != null);
|
||||
if (interestMargin == null)
|
||||
{
|
||||
interestMargin = interestMargins.FirstOrDefault(o => string.IsNullOrWhiteSpace(o.FloatRateUnderlyingCode));
|
||||
interestMargin = allinterestMargins.FirstOrDefault(o => string.IsNullOrWhiteSpace(o.FloatRateUnderlyingCode));
|
||||
}
|
||||
if (interestMargin == null)
|
||||
{
|
||||
interestMargin = interestMargins.FirstOrDefault();
|
||||
interestMargin = allinterestMargins.FirstOrDefault();
|
||||
}
|
||||
|
||||
dic["成交日期"] = trade.TradeDate?.ToString("yyyy年M月d日");
|
||||
|
||||
@@ -2775,6 +2775,16 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule
|
||||
return query.ToList();
|
||||
}
|
||||
|
||||
public List<swap_position> GetSwapPositions(List<int> tradeIds, bool? IsInitial)
|
||||
{
|
||||
var query = DbContext.swap_position.Where(x => tradeIds.Contains(x.SwapTradeId) && !x.Invalid);
|
||||
if (IsInitial.HasValue)
|
||||
{
|
||||
query = query.Where(x => x.IsInitial == IsInitial);
|
||||
}
|
||||
return query.ToList();
|
||||
}
|
||||
|
||||
public client_marginrate GetClientMarginRate(int clientId)
|
||||
{
|
||||
var clientMarginRateDbSet = DbContext.client_marginrate;
|
||||
|
||||
Reference in New Issue
Block a user