Files
zszq-trs/YLErpDAL/Model/ClientSwapPositionRequest.cs
张名锐 4449bd5824 feat(swap): 更新互换估值功能并优化数据模型
- 添加互换估值V1配置常量以支持新版本
- 将PeriodAmount和DividendAmount字段改为可空decimal类型
- 更新字段注释说明预付金利率和利息的计算方式
- 修改净额结算金额定义,排除期初和追加预付金本金
- 在报表服务中添加安全求和操作防止空值异常
- 增加多个汇总字段包括股息、保证金利息等统计
- 重构预付金处理逻辑,改用加权平均计算方式
- 新增加权保证金利率和利息计算辅助方法
- 调整前端表格列顺序,优化交易编号显示位置
- 更新数值格式化器以支持空值处理和精度控制
- 添加文档列顺序恢复功能确保表格一致性
2026-07-14 09:46:54 +08:00

83 lines
2.7 KiB
C#

using BaseOUDAL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YLErp.DBModels;
namespace YLErp.Model
{
/// <summary>
/// 对手方互换持仓/交易流水请求
/// </summary>
public class ClientSwapPositionRequest : BaseSearchReq
{
/// <summary>
/// 估值日。每日估值报告的互换估值查询当前按该日期精确筛选,
/// 交易日期同时不得晚于该日期。
/// </summary>
public DateTime? ValueDate { get; set; }
/// <summary>
/// 请求携带的估值日下界。互换持仓明细、交易流水等调用方可使用该字段;
/// 当前 <c>GetSearchEodPositionList</c> 未启用该下界,仍是单日估值查询。
/// </summary>
public DateTime? ValueDateFrom { get; set; }
/// <summary>
/// 对手方筛选条件。为空时不按对手方收窄结果。
/// </summary>
public int? ClientId { get; set; }
/// <summary>
/// 簿记账户筛选条件,对应 <c>trade.AssetId</c>;为空时包含该对手方下全部簿记账户。
/// </summary>
public int? BookId { get; set; }
/// <summary>
/// 调用方传入的结构类型。互换估值查询当前固定同时覆盖普通债券类收益互换和普通收益互换。
/// </summary>
public string StructureType { get; set; }
}
/// <summary>
/// 对手方互换交易流水返回
/// </summary>
public class ClientSwapPositionResponse
{
public swap_flow_event FlowEvent { get; set; }
public string SwapTradeNo { get; set; }
public int ClientId { get; set; }
public string ClientNumber { get; set; }
public string ClientName { get; set; }
public string StructureType { get; set; }
public string ContractCode { get; set; }
/// <summary>
/// 交易费用
/// </summary>
public decimal TradeFee { get; set; }
/// <summary>
/// 交易费用后付
/// </summary>
public decimal TradingFee { get; set; }
public decimal? InitYtm { get; set; }
/// <summary>
/// 净额结算金额 互换持仓价值+待返还的预付金本金
/// </summary>
public decimal NetSettmentAmount { get; set; }
/// <summary>
/// 浮动标的代码
/// </summary>
public string FloatRateUnderlyingCode { get; set; }
public decimal PosiPnl { get; set; }
/// <summary>
/// 计息天数
/// </summary>
public decimal Days { get; set; }
public DateTime StartDate { get; set; }
}
}