430 lines
11 KiB
C#
430 lines
11 KiB
C#
using BaseOUDAL;
|
|
using System.ComponentModel;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Data;
|
|
|
|
namespace YLErp.Model
|
|
{
|
|
public class TradeReq : BaseSearchReq
|
|
{
|
|
private List<string> _tradeTypesList;
|
|
|
|
|
|
public int? LoginUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否显示匹配交易
|
|
/// </summary>
|
|
public bool? IsPairTrade { get; set; }
|
|
|
|
/// <summary>
|
|
/// 只通过TradeId查询
|
|
/// </summary>
|
|
public bool onlyTradeIds { get; set; }
|
|
|
|
/// <summary>
|
|
/// 了结次数
|
|
/// </summary>
|
|
public int? UnWindTimes { get; set; }
|
|
|
|
List<int> _clientIdsInt;
|
|
|
|
public List<int> ClientIdsInt
|
|
{
|
|
get
|
|
{
|
|
if (string.IsNullOrEmpty(ClientIds))
|
|
{
|
|
return new List<int>();
|
|
}
|
|
|
|
return _clientIdsInt ?? (_clientIdsInt = (ClientIds + "").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(c => Convert.ToInt32(c)).ToList());
|
|
}
|
|
set
|
|
{
|
|
_clientIdsInt = value;
|
|
}
|
|
}
|
|
|
|
public List<int> UnderlyingIdsInt
|
|
{
|
|
get
|
|
{
|
|
if (string.IsNullOrEmpty(UnderlyingIds))
|
|
{
|
|
return new List<int>();
|
|
}
|
|
|
|
return UnderlyingIds.Split(',').Select(c => Convert.ToInt32(c)).ToList();
|
|
}
|
|
}
|
|
|
|
public List<string> TradeTypesList
|
|
{
|
|
get
|
|
{
|
|
return _tradeTypesList ?? (_tradeTypesList = (TradeTypes + "").Split(',').ToList());
|
|
}
|
|
set => _tradeTypesList = value;
|
|
}
|
|
|
|
public string TradeTypes
|
|
{
|
|
get => tradeTypes;
|
|
set
|
|
{
|
|
tradeTypes = value;
|
|
_tradeTypesList = null;
|
|
}
|
|
}
|
|
|
|
public List<string> NotInTradeTypes { get; set; }
|
|
|
|
public List<string> UnderlyingInstrumentTypesList
|
|
{
|
|
get
|
|
{
|
|
return (UnderlyingInstrumentTypes + "").Split(',').ToList();
|
|
}
|
|
}
|
|
|
|
public string UnderlyingInstrumentTypes { get; set; }
|
|
|
|
public List<string> TradeStatusList
|
|
{
|
|
get; set;
|
|
}
|
|
|
|
public List<string> OptIdsList
|
|
{
|
|
get
|
|
{
|
|
return (OptIds + "").Split(',').ToList();
|
|
}
|
|
}
|
|
|
|
public List<string> GroupNamesList
|
|
{
|
|
get
|
|
{
|
|
return (GroupNames + "").Split(',').ToList();
|
|
}
|
|
}
|
|
|
|
public string GroupNames { get; set; }
|
|
|
|
public string UnderlyingAssetClass { get; set; }
|
|
|
|
public string OptIds { get; set; }
|
|
|
|
public string UnderlyingIds { get; set; }
|
|
|
|
[DisplayName("看涨看跌")]
|
|
public string OptionType { get; set; }
|
|
|
|
public string ClientIds
|
|
{
|
|
get => _clientIds;
|
|
set
|
|
{
|
|
_clientIds = value;
|
|
_clientIdsInt = null;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 客户经理对应的客户
|
|
/// 该字段非筛选客户使用,如果是筛选框用上面ClientIds
|
|
/// </summary>
|
|
public List<int> UserClients { get; set; } = new List<int>();
|
|
public List<string> receiver { get; set; }
|
|
|
|
[DisplayName("行权日")]
|
|
public DateTime? ExerciseDate { get; set; }
|
|
|
|
public DateTime? ExerciseDateStart { get; set; }
|
|
|
|
public DateTime? ExerciseDateEnd { get; set; }
|
|
|
|
public DateTime? SettlementDateStart { get; set; }
|
|
|
|
public DateTime? SettlementDateEnd { get; set; }
|
|
|
|
public DateTime? UnWindDateStart { get; set; }
|
|
|
|
public DateTime? UnWindDateEnd { get; set; }
|
|
|
|
[DisplayName("资产类型")]
|
|
public string TradeType { get; set; }
|
|
|
|
public string StructureType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否展示主交易
|
|
/// </summary>
|
|
public bool IsContainsGroup { get; set; }
|
|
|
|
/// <summary>
|
|
/// 其实是traderid
|
|
/// </summary>
|
|
public string TraderNames
|
|
{
|
|
get => _traderNames;
|
|
set
|
|
{
|
|
_traderNames = value;
|
|
_traderNamesList = null;
|
|
}
|
|
}
|
|
|
|
List<int> _traderNamesList;
|
|
|
|
public List<int> TraderNamesList
|
|
{
|
|
get
|
|
{
|
|
if (string.IsNullOrEmpty(TraderNames))
|
|
{
|
|
return new List<int>();
|
|
}
|
|
|
|
return _traderNamesList ?? (_traderNamesList = (TraderNames + "").Split(',').Select(t => Convert.ToInt32(t)).ToList());
|
|
}
|
|
set
|
|
{
|
|
_traderNamesList = value;
|
|
}
|
|
}
|
|
|
|
[DisplayName("交易员")]
|
|
public int? TraderId { get; set; }
|
|
|
|
[DisplayName("标的信息")]
|
|
public int? UnderlyingId { get; set; }
|
|
|
|
string _AssetIds;
|
|
List<int> _AssetIdList;
|
|
private string tradeTypes;
|
|
private string _traderNames;
|
|
private string _clientIds;
|
|
|
|
/// <summary>
|
|
/// 簿记账户筛选
|
|
/// </summary>
|
|
public string AssetIds
|
|
{
|
|
get
|
|
{
|
|
return _AssetIds;
|
|
}
|
|
set
|
|
{
|
|
_AssetIds = value; _AssetIdList = null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 簿记账户筛选
|
|
/// </summary>
|
|
public List<int> AssetIdList
|
|
{
|
|
get
|
|
{
|
|
if (_AssetIdList == null)
|
|
{
|
|
_AssetIdList = string.IsNullOrEmpty(AssetIds) ? new List<int>()
|
|
: (AssetIds + "").Split(',').Select(c => Convert.ToInt32(c)).ToList();
|
|
}
|
|
return _AssetIdList;
|
|
}
|
|
set
|
|
{
|
|
_AssetIdList = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 交易员角色对应的簿记账户
|
|
/// 该字段非筛选框簿记账户使用,如果是筛选框用上面AssetIds
|
|
/// </summary>
|
|
public List<int> UserAssets { get; set; }
|
|
|
|
/// <summary>
|
|
/// 簿记账户组筛选
|
|
/// </summary>
|
|
public List<int> AssetIdGroupList { get; set; }
|
|
|
|
/// <summary>
|
|
/// 结算标识筛选
|
|
/// </summary>
|
|
public List<int> SettlementFlags{ get; set; }
|
|
|
|
|
|
[DisplayName("行权方式")]
|
|
public string ExerciseMode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易编号
|
|
/// </summary>
|
|
public string TradeNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// 合约编号
|
|
/// </summary>
|
|
public string ContractCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 客户信息
|
|
/// </summary>
|
|
public int? ClientId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 客户名称
|
|
/// </summary>
|
|
public string ClientName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标的代码
|
|
/// </summary>
|
|
public string UnderlyingCode { get; set; }
|
|
|
|
public DateTime TradeDateStart { get; set; }
|
|
|
|
public DateTime TradeDateEnd { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易类型 Ask,Bid
|
|
/// </summary>
|
|
public string BuySell { get; set; }
|
|
|
|
public DateTime StartDateStart { get; set; }
|
|
|
|
public DateTime StartDateEnd { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易状态
|
|
/// </summary>
|
|
public string TradeStatus { get; set; }
|
|
|
|
/// <summary>
|
|
/// 操作者_optid
|
|
/// </summary>
|
|
public int? OptId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 操作者_optname
|
|
/// </summary>
|
|
public string OptName { get; set; }
|
|
|
|
[NotMapped]
|
|
public DateTime OptDateStart { get; set; }
|
|
|
|
[NotMapped]
|
|
public DateTime OptDateEnd { get; set; }
|
|
|
|
public string Comments { get; set; }
|
|
|
|
public int? ParentTradeId { get; set; }
|
|
|
|
public string TradeIds { get; set; }
|
|
|
|
public List<int> TradeIdList
|
|
{
|
|
get
|
|
{
|
|
if (string.IsNullOrEmpty(TradeIds))
|
|
{
|
|
return new List<int>();
|
|
}
|
|
|
|
return (TradeIds + "").Split(',').Select(c => Convert.ToInt32(c)).ToList();
|
|
}
|
|
}
|
|
|
|
public string TradeCashIds { get; set; }
|
|
|
|
public List<int> TradeCashIdList
|
|
{
|
|
get
|
|
{
|
|
if (string.IsNullOrEmpty(TradeCashIds))
|
|
{
|
|
return new List<int>();
|
|
}
|
|
|
|
return (TradeCashIds + "").Split(',').Select(c => Convert.ToInt32(c)).ToList();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 0为默认值,不需要做业务逻辑处理
|
|
/// 1代表当日成交
|
|
/// 2代表当日提前终止
|
|
/// 3代表当日到期
|
|
/// 4代表明日到期
|
|
/// </summary>
|
|
public int TabIndex { get; set; }
|
|
|
|
public DateTime? ValueDate { get; set; }
|
|
|
|
public DateTime ValueDateStart { get; set; }
|
|
|
|
public DateTime ValueDateEnd { get; set; }
|
|
|
|
/// <summary>
|
|
/// 历史交易是否包含平仓/行权待复核
|
|
/// </summary>
|
|
public bool IsHistoryWithUnconfirmed { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标的代码集合
|
|
/// </summary>
|
|
public List<string> UnderlyingCodeList { get; set; }
|
|
|
|
/// <summary>
|
|
/// 聚合场内期权交易
|
|
/// </summary>
|
|
[NotMapped]
|
|
public bool MergeTrade { get; set; }
|
|
|
|
public string KnockInOutStatus { get; set; }
|
|
|
|
/// <summary>
|
|
/// 执行价格
|
|
/// </summary>
|
|
[NotMapped]
|
|
public string Strike { get; set; }
|
|
|
|
/// <summary>
|
|
/// 风险预警类型
|
|
/// <para>原不合规交易</para>
|
|
/// <para>1:全部</para>
|
|
/// <para>2:行权偏离度</para>
|
|
/// <para>3:合约期限</para>
|
|
/// <para>4:赎回天数</para>
|
|
/// </summary>
|
|
public int? SubstandardType { get; set; }
|
|
/// <summary>
|
|
/// 是否查询子级标识
|
|
/// </summary>
|
|
public bool ParentFlag { get; set; }
|
|
|
|
public double? TradePrice { get; set; }
|
|
|
|
public List<int> CurUserTradeIds { get; set; }
|
|
|
|
public List<int> TagIds { get; set; }
|
|
|
|
/// <summary>
|
|
/// 电子章用印结果
|
|
/// </summary>
|
|
public List<int> SealResults { get; set; }
|
|
|
|
/// <summary>
|
|
/// 电子章用印日期
|
|
/// </summary>
|
|
public DateTime? SealDateStart { get; set; }
|
|
|
|
public DateTime? SealDateEnd { get; set; }
|
|
}
|
|
}
|