Files
zszq-trs/YLErpDAL/Model/TradeLinq.cs
T
tengyufan 3f0984800a feat: 收益互换开平仓及收益结算接入OA移动审批
#EQD-6425 国联民生-衍生品系统移动审批(提交OA流程)
- 审批节点支持配置“关联OA移动审批”
- 创建OA流程并记录请求、requestId、状态及异常备注
- 支持OA轮询同步审批通过、退回和归档状态
- 本地通过、拒绝、撤回时同步强制归档未结束OA流程
- 增加审批列表OA备注展示及本地Mock联调接口
- 新增OA审批记录表和数据库升级脚本
- OA移动审批使用独立查询地址及isnextflow配置,不影响交易确认书OA
2026-08-21 15:54:54 +08:00

96 lines
2.4 KiB
C#

using Newtonsoft.Json;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using YLErp.DBModels.Helpers;
namespace YLErp.Model
{
public class TradeLinq : OtcTradeBase
{
/// <summary>
/// 离交易到期日还有几天
/// </summary>
[NotMapped]
public int MaturityDay
{
get
{
if (ExerciseDate == null)
{
return 999999;
}
return ExerciseDate.Value.Subtract(DateTime.Now.Date).Days;
}
}
/// <summary>
/// 是否使用交易特定的波动率
/// </summary>
[NotMapped]
public bool UseTradeVol
{
get
{
return NumOfSmoothingDays.HasValue
&& TradeCloseVolatility.HasValue
&& TradeOpenVolatility.HasValue;
}
}
[JsonIgnore]
[NotMapped]
[DisplayName("相对行权价")]
public string StrikeRelative
{
get
{
return Strike == null ? "0" : Strike.Value.ToString("P");
}
}
[DisplayName("行权方式")]
[NotMapped]
public string ExerciseModeCn
{
get
{
return TradeType == "收益互换" ? "--" : TradeHelper.GetExerciseModeCn(ExerciseMode);
}
}
[NotMapped]
public string ApprovalRules { get; set; }
public int? ProcessRoleId { get; set; }
public string ProcessRoleName { get; set; }
public string OaRemark { get; set; }
/// <summary>
/// 验证当前审批角色是否有开仓(交易)复核权限
/// </summary>
public bool HasCheckRight { get; set; }
/// <summary>
/// 验证当前审批角色是否有行权复核权限
/// </summary>
public bool HasExerciseCheckRight { get; set; }
/// <summary>
/// 验证当前审批角色是否有平仓复核权限
/// </summary>
public bool HasUnwindCheckRight { get; set; }
/// <summary>
/// 组合标的的公式信息
/// </summary>
public string SyntheticUnderlyingTipsInfo { get; set; }
[NotMapped]
public IEnumerable<OtcTradeBase> SubTrades
{
get; set;
}
}
}