更新交换利率端获取方法及相关引用

This commit is contained in:
锦麟 王
2025-04-24 16:59:53 +08:00
parent 6c5cf3289b
commit cb8e7be009
3 changed files with 19 additions and 3 deletions
@@ -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;