找回证券业报送的逻辑,仅支持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
@@ -1,4 +1,8 @@
using System.ComponentModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
using YLErp.Modules.SuperviseReportModule.SAC.Common;
using static YLErp.DBModels.Consts.ConsReport;
@@ -8,6 +12,7 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
/// <summary>
/// 收益互换交易权益端支付
/// </summary>
[Table("A1016_SwapEquityPayment")]
public class SwapEquityPaymentModel : ReportBaseModel
{
/// <summary>
@@ -27,13 +32,14 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
/// </summary>
[CheckStringMaxLength(MaxLength = 100)]
[DefaultValue("")]
[SacDescription("ConfirmationNo", "交易确认书", "100", true, "双方约定;")]
[SacDescription("ConfirmationNo", "交易确认书(双方约定)", "100", true, "双方约定;")]
public string ConfirmationNo { get; set; }
/// <summary>
/// 权益端支付
/// </summary>
[XmlElement]
[CheckIEnumerableTMinCount(MinCount = 1)]
[NotMapped]
[SacDescription("SwapEquityPaymentTuple", "权益端支付", "", false, "")]
public List<SwapEquityPaymentTupleModel> SwapEquityPaymentTuple { get; set; }
/// <summary>
@@ -50,7 +56,7 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
/// </summary>
[CheckStringLengthInMap(Map = new[] { 4, 5 }, Required = false)]
[SacDescription("DurationEventNO", "操作事件编号", "6", false, "首次随交易确认书上报时,不填;\r\n存续期发生相关事件时,必填;\r\n同一笔交易确认书下应当保证唯一性,并按照事件发生顺序进行编号,起始编号为0000.\r\n如一笔交易下依次发生展期、调仓、终止事件,编号应当分别为0000、0001、0002,\r\n场外业务报告系统返回编号分别为E0000、R0001、T0002;")]
public new string DurationEventNO { get; set; }
public new string? DurationEventNO { get; set; }
/// <summary>
/// 空白1
/// </summary>
@@ -68,7 +74,8 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
/// <summary>
/// 权益端支付
/// </summary>
public class SwapEquityPaymentTupleModel
[Table("A1016_SwapEquityPaymentTuple")]
public class SwapEquityPaymentTupleModel : ReportSubBaseModel
{
/// <summary>
/// 支付方式
@@ -106,7 +113,7 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
/// </summary>
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("OpenandClosingDate", "标的开/平仓日期", "2", true, "yyyy-MM-dd;")]
[SacDescription("OpenandClosingDate", "标的开/平仓日期", "10", true, "yyyy-MM-dd;")]
public string OpenandClosingDate { get; set; }
/// <summary>
/// 标的小类
@@ -197,7 +204,7 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2, MinValue = 0, CheckHandleName = "A")]
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2, MinValue = 0, Required = false, CheckHandleName = "B")]
[DefaultValue("")]
[SacDescription("LNotinalPrincipleAmt", "多头名义本金", "36,2", false, "标的数量*合约乘数*标的价格;\r\n当支付方式选择权益收益(多头)、浮动利率收益、权益收益多空组合时,必填;")]
[SacDescription("LNotinalPrincipleAmt", "多头名义本金(元)", "36,2", false, "标的数量*合约乘数*标的价格;\r\n当支付方式选择权益收益(多头)、浮动利率收益、权益收益多空组合时,必填;")]
public string LNotinalPrincipleAmt { get; set; }
/// <summary>
/// 空头名义本金(元)
@@ -210,7 +217,7 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2, MaxValue = 0, CheckHandleName = "A")]
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2, MaxValue = 0, Required = false, CheckHandleName = "B")]
[DefaultValue("")]
[SacDescription("SNotinalPrincipleAmt", "空头名义本金", "36,2", false, "-(标的数量*合约乘数* 标的价格)\r\n当支付方式选择权益收益(空头)、浮动利率收益、权益收益多空组合时,必填;")]
[SacDescription("SNotinalPrincipleAmt", "空头名义本金(元)", "36,2", false, "-(标的数量*合约乘数* 标的价格)\r\n当支付方式选择权益收益(空头)、浮动利率收益、权益收益多空组合时,必填;")]
public string SNotinalPrincipleAmt { get; set; }
/// <summary>
/// 利率(%)
@@ -220,7 +227,7 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 8, AfterPointLength = 2, MinValue = 0, Required = false)]
[DefaultValue("")]
[SacDescription("InterestRate", "利率", "8,2", false, "校验规则:大于等于0的两位小数,如5.12;")]
[SacDescription("InterestRate", "利率(%)", "8,2", false, "校验规则:大于等于0的两位小数,如5.12;")]
public string InterestRate { get; set; }
/// <summary>
/// 空白1
@@ -234,5 +241,9 @@ namespace YLErp.Modules.SuperviseReportModule.SAC.Model
[DefaultValue("")]
[SacDescription("Blank2", "空白2", "", false, "")]
public string Blank2 { get; set; }
[XmlIgnore]
[DefaultValue("")]
[SacDescription("ConfirmationNo", "交易确认书编号", "100", false, "")]
public string ConfirmationNo { get; set; }
}
}