找回证券业报送的逻辑,仅支持Excel模板报送

This commit is contained in:
嬴政 时
2025-05-14 20:00:04 +08:00
parent 0c9cd64038
commit fe2ff3bbcf
52 changed files with 10829 additions and 7124 deletions
@@ -0,0 +1,240 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using YLErp.Modules.SuperviseReportModule.SAC.Common;
using static YLErp.DBModels.Consts.ConsReport;
namespace YLErp.Modules.SuperviseReportModule.SAC.Model
{
/// <summary>
/// 场外期权合约估值信息
/// </summary>
[Table("A1018_ValuationInformation")]
public class ValuationInformationModel : ReportBaseModel
{
/// <summary>
/// 操作标识
/// <para>长度:1</para>
/// <para>必填:是</para>
/// <para>说明:<see cref="OptFlagsEnum"/></para>
/// </summary>
[XmlIgnore]
[SacDescription("OperationType", "操作标识", "1", true, "")]
public OptFlagsEnum OperationType { get; set; }
/// <summary>
/// 交易确认书编号(双方约定)
/// <para>长度:100</para>
/// <para>必填:是</para>
/// <para>说明:双方约定</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100)]
[DefaultValue("")]
[SacDescription("ConfirmationNo", "交易确认书编号(双方约定)", "100", true, "双方约定;")]
public string ConfirmationNo { get; set; }
/// <summary>
/// 估值日期
/// <para>长度:10</para>
/// <para>必填:是</para>
/// <para>说明:</para>
/// </summary>
[CheckStringLength(Length = 10)]
[CheckStringIsDateTimeFormat(FormatString = "yyyy-MM-dd")]
[DefaultValue("")]
[SacDescription("ValuationDate", "估值日期", "10", true, "")]
public string ValuationDate { get; set; }
/// <summary>
/// 存量名义本金(元)
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:两位小数;大于等于0的数字</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, MinValue = 0)]
[DefaultValue("")]
[SacDescription("Balance", "存量名义本金(元)", "36,2", true, "大于等于0的数字;")]
public string Balance { get; set; }
/// <summary>
/// 保证金比例(%
/// <para>长度:8,2</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 8, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("MarginRatio", "保证金比例(%", "8,2", false, "")]
public string MarginRatio { get; set; }
/// <summary>
/// 期权估值
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2)]
[DefaultValue("")]
[SacDescription("OptionValuation", "期权估值", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string OptionValuation { get; set; }
/// <summary>
/// Delta
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Delta", "Delta", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Delta { get; set; }
/// <summary>
/// Gamma
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Gamma", "Gamma", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Gamma { get; set; }
/// <summary>
/// Vega
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Vega", "Vega", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Vega { get; set; }
/// <summary>
/// Theta
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Theta", "Theta", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Theta { get; set; }
/// <summary>
/// Rho
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Rho", "Rho", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Rho { get; set; }
/// <summary>
/// RhoQ
/// <para>长度:36,2</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("RhoQ", "RhoQ", "36,2", false, "")]
public string RhoQ { get; set; }
/// <summary>
/// DeltaCash
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("DeltaCash", "DeltaCash", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string DeltaCash { get; set; }
/// <summary>
/// GammaCash
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("GammaCash", "GammaCash", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string GammaCash { get; set; }
/// <summary>
/// VegaCash
/// <para>长度:36,2</para>
/// <para>必填:是</para>
/// <para>说明:期权生效后,每个交易日更新,直至期权终止</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("VegaCash", "VegaCash", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string VegaCash { get; set; }
/// <summary>
/// ThetaCash
/// <para>长度:36,2</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("ThetaCash", "ThetaCash", "36,2", false, "")]
public string ThetaCash { get; set; }
/// <summary>
/// RhoCash
/// <para>长度:36,2</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("RhoCash", "RhoCash", "36,2", false, "")]
public string RhoCash { get; set; }
/// <summary>
/// RhoQCash
/// <para>长度:36,2</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("RhoQCash", "RhoQCash", "36,2", false, "")]
public string RhoQCash { get; set; }
/// <summary>
/// 空白1
/// <para>长度:</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[XmlIgnore]
[DefaultValue("")]
[SacDescription("Blank1", "空白1", "", false, "")]
public string Blank1 { get; set; }
/// <summary>
/// 空白2
/// <para>长度:</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[XmlIgnore]
[DefaultValue("")]
[SacDescription("Blank2", "空白2", "", false, "")]
public string Blank2 { get; set; }
}
}