Files
zszq-trs/YLErpDAL/Modules/SuperviseReportModule/SAC/Model/PeriodicReportNAFMIIModel.cs
T

1437 lines
69 KiB
C#

using System.Collections.Generic;
using System.ComponentModel;
using System.Xml.Serialization;
using YLErp.Modules.SuperviseReportModule.SAC.Common;
using static YLErp.DBModels.Consts.ConsReport;
namespace YLErp.Modules.SuperviseReportModule.SAC.Model
{
public class PeriodicReportNAFMIIModel : 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>长度:50</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:补正时必填;</para>
/// </summary>
[CheckConditionStringValue(ConditionName = nameof(OperationType), ConditionValue = "A", CheckHandleNameArr = new[] { "B" })]
[CheckConditionStringNEQValue(ConditionName = nameof(OperationType), ConditionValue = "A", CheckHandleNameArr = new[] { "A" })]
[CheckStringMaxLength(MaxLength = 50, CheckHandleName = "A")]
[CheckStringMaxLength(MaxLength = 50, Required = false, CheckHandleName = "B")]
[DefaultValue("")]
[SacDescription("BizID", "业务编号", "50", false, "校验规则:补正时必填;")]
public new string BizID { get; set; }
/// <summary>
/// 年份
/// <para>长度:4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:必须是4位整数;</para>
/// </summary>
[CheckStringLength(Length = 4)]
[DefaultValue("")]
[SacDescription("Year", "年份", "4", true, "校验规则:必须是4位整数;")]
public string Year { get; set; }
/// <summary>
/// 月份
/// <para>长度:2</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:必须是1-12之间的整数;</para>
/// </summary>
[CheckStringInMap(Map = new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" })]
[DefaultValue("")]
[SacDescription("Month", "月份", "2", true, "校验规则:必须是1-12之间的整数;")]
public string Month { get; set; }
/// <summary>
/// 上月末本年累计主协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("MainAgreementLastMonthAccumulatedThisYear", "上月末本年累计主协议(笔)", "20", true, "校验规则:正整数;")]
public string MainAgreementLastMonthAccumulatedThisYear { get; set; }
/// <summary>
/// 本月新增主协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("MainAgreementAddedThisMonth", "本月新增主协议(笔)", "20", true, "校验规则:正整数;")]
public string MainAgreementAddedThisMonth { get; set; }
/// <summary>
/// 本年累计主协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("MainAgreementAccumulatedThisYear", "本年累计主协议(笔)", "20", true, "校验规则:正整数;")]
public string MainAgreementAccumulatedThisYear { get; set; }
/// <summary>
/// 本月末有效主协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("MainAgreementValidedAtEndOfThisMonth", "本月末有效主协议(笔)", "20", true, "校验规则:正整数;")]
public string MainAgreementValidedAtEndOfThisMonth { get; set; }
/// <summary>
/// 上月末本年累计补充协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("SupplementalAgreementLastMonthAccumulatedThisYear", "上月末本年累计补充协议(笔)", "20", true, "校验规则:正整数;")]
public string SupplementalAgreementLastMonthAccumulatedThisYear { get; set; }
/// <summary>
/// 本月新增补充协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("SupplementalAgreementAddedThisMonth", "本月新增补充协议(笔)", "20", true, "校验规则:正整数;")]
public string SupplementalAgreementAddedThisMonth { get; set; }
/// <summary>
/// 本年累计补充协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("SupplementalAgreementAccumulatedThisYear", "本年累计补充协议(笔)", "20", true, "校验规则:正整数;")]
public string SupplementalAgreementAccumulatedThisYear { get; set; }
/// <summary>
/// 本月末有效补充协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("SupplementalAgreementValidedAtTheEndOfThisMonth", "本月末有效补充协议(笔)", "20", true, "校验规则:正整数;")]
public string SupplementalAgreementValidedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 上月末本年累计履约担保协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("PerformanceGuaranteeAgreementLastMonthAccumulatedThisYear", "上月末本年累计履约担保协议(笔)", "20", true, "校验规则:正整数;")]
public string PerformanceGuaranteeAgreementLastMonthAccumulatedThisYear { get; set; }
/// <summary>
/// 本月新增履约担保协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("PerformanceGuaranteeAgreementAddedThisMonth", "本月新增履约担保协议(笔)", "20", true, "校验规则:正整数;")]
public string PerformanceGuaranteeAgreementAddedThisMonth { get; set; }
/// <summary>
/// 本年累计履约担保协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("PerformanceGuaranteeAgreementAccumulatedThisYear", "本年累计履约担保协议(笔)", "20", true, "校验规则:正整数;")]
public string PerformanceGuaranteeAgreementAccumulatedThisYear { get; set; }
/// <summary>
/// 本月末有效履约担保协议(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("PerformanceGuaranteeAgreementValidedAtEndOfThisMonth", "本月末有效履约担保协议(笔)", "20", true, "校验规则:正整数;")]
public string PerformanceGuaranteeAgreementValidedAtEndOfThisMonth { get; set; }
/// <summary>
/// 上月末本年累计交易确认书(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TransactionConfirmationLastMonthAccumulatedThisYear", "上月末本年累计交易确认书(笔)", "20", true, "校验规则:正整数;")]
public string TransactionConfirmationLastMonthAccumulatedThisYear { get; set; }
/// <summary>
/// 本月新增交易确认书(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TransactionConfirmationAddedThisMonth", "本月新增交易确认书(笔)", "20", true, "校验规则:正整数;")]
public string TransactionConfirmationAddedThisMonth { get; set; }
/// <summary>
/// 本年累计交易确认书(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TransactionConfirmationBookAccumulatedThisYear", "本年累计交易确认书(笔)", "20", true, "校验规则:正整数;")]
public string TransactionConfirmationBookAccumulatedThisYear { get; set; }
/// <summary>
/// 本月末有效交易确认书(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TransactionConfirmationValidedAtEndOfThisMonth", "本月末有效交易确认书(笔)", "20", true, "校验规则:正整数;")]
public string TransactionConfirmationValidedAtEndOfThisMonth { get; set; }
/// <summary>
/// 本月初利率类存续交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalInterestRateTradedAtTheBeginningOfThisMonth", "本月初利率类存续交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalInterestRateTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月新增利率类交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalRateIncreasesThisMonth", "本月新增利率类交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalRateIncreasesThisMonth { get; set; }
/// <summary>
/// 本月了结利率类交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalRateIsSettledThisMonth", "本月了结利率类交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalRateIsSettledThisMonth { get; set; }
/// <summary>
/// 本月末利率类存续交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalRateRemainsTradedAtTheEndOfThisMonth", "本月末利率类存续交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalRateRemainsTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末利率类年度新增交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalRateAsOfTheEndOfThisMonthToAddTransactions", "截至本月末利率类年度新增交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalRateAsOfTheEndOfThisMonthToAddTransactions { get; set; }
/// <summary>
/// 本月初利率类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractsInterestRateTradedAtTheBeginningOfThisMonth", "本月初利率类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractsInterestRateTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月利率类新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("NumberOfContractedInterestRatesThisMonthToAddTransactions", "本月利率类新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string NumberOfContractedInterestRatesThisMonthToAddTransactions { get; set; }
/// <summary>
/// 合约笔数利率本月了结交易(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("AmountOfInterestInTheContractIsSettledThisMonth", "合约笔数利率本月了结交易(笔)", "20", true, "校验规则:正整数;")]
public string AmountOfInterestInTheContractIsSettledThisMonth { get; set; }
/// <summary>
/// 本月末利率类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractInterestRatesRemainTradedAtTheEndOfThisMonth", "本月末利率类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractInterestRatesRemainTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末利率类年度新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractsInterestRateAsOfTheEndOfThisMonthAddNewTransactions", "截至本月末利率类年度新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractsInterestRateAsOfTheEndOfThisMonthAddNewTransactions { get; set; }
/// <summary>
/// 本月初黄金类存续交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalGoldTradedAtTheBeginningOfThisMonth", "本月初黄金类存续交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalGoldTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月黄金类新增交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalGoldThisMonthToAddTransactions", "本月黄金类新增交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalGoldThisMonthToAddTransactions { get; set; }
/// <summary>
/// 本月了结黄金类交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("TheNominalGoldIsTradingThisMonth", "本月了结黄金类交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string TheNominalGoldIsTradingThisMonth { get; set; }
/// <summary>
/// 本月末黄金类存续交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalGoldIsTradedAtTheEndOfThisMonth", "本月末黄金类存续交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalGoldIsTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末黄金类年度新增交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalGoldAsOfTheEndOfThisYearTheNewTransaction", "截至本月末黄金类年度新增交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalGoldAsOfTheEndOfThisYearTheNewTransaction { get; set; }
/// <summary>
/// 本月初黄金类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsForGoldIsTradedAtTheBeginningOfThisMonth", "本月初黄金类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsForGoldIsTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月黄金类新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsGoldThisMonthToAddTransactions", "本月黄金类新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsGoldThisMonthToAddTransactions { get; set; }
/// <summary>
/// 本月了结黄金类交易(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsIsGoldThisMonth", "本月了结黄金类交易(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsIsGoldThisMonth { get; set; }
/// <summary>
/// 本月末黄金类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsIsGoldAtTheEndOfThisMonth", "本月末黄金类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsIsGoldAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末年度黄金类新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsForTheGoldAsOfTheEndOfThisYearTheNewTransaction", "截至本月末年度黄金类新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsForTheGoldAsOfTheEndOfThisYearTheNewTransaction { get; set; }
/// <summary>
/// 本月初外汇类存续交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalForeignExchangeTradedAtTheBeginningOfThisMonth", "本月初外汇类存续交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalForeignExchangeTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月新增外汇类交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalForeignExchangeThisMonthToAddTransactions", "本月新增外汇类交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalForeignExchangeThisMonthToAddTransactions { get; set; }
/// <summary>
/// 本月了结外汇类交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("TheNominalPrincipalForeignExchangeSettledThisMonth", "本月了结外汇类交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string TheNominalPrincipalForeignExchangeSettledThisMonth { get; set; }
/// <summary>
/// 本月末存续外汇类交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalForeignExchangeTradedAtTheEndOfThisMonth", "本月末存续外汇类交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalForeignExchangeTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末年度外汇类新增交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalForeignExchangeAsOfTheEndOfThisYearTheNewTransaction", "截至本月末年度外汇类新增交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalForeignExchangeAsOfTheEndOfThisYearTheNewTransaction { get; set; }
/// <summary>
/// 本月初外汇类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractsForeignExchangeIsTradedAtTheBeginningOfThisMonth", "本月初外汇类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractsForeignExchangeIsTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月外汇类新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractNumberForeignExchangeThisMonthNewTransaction", "本月外汇类新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractNumberForeignExchangeThisMonthNewTransaction { get; set; }
/// <summary>
/// 本月外汇类了结交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsForForeignExchangeTransactionsThisMonth", "本月外汇类了结交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsForForeignExchangeTransactionsThisMonth { get; set; }
/// <summary>
/// 本月末外汇类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractsForeignExchangeIsTradedAtTheEndOfThisMonth", "本月末外汇类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractsForeignExchangeIsTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末外汇类年度新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("NumberOfContractsForeignExchangeAsOfTheEndOfThisMonthTheNewTransaction", "截至本月末外汇类年度新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string NumberOfContractsForeignExchangeAsOfTheEndOfThisMonthTheNewTransaction { get; set; }
/// <summary>
/// 本月初其他类存续交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 34, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("TheNameOfThePrincipalOtherTransactionsHeldEarlierThisMonth", "本月初其他类存续交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string TheNameOfThePrincipalOtherTransactionsHeldEarlierThisMonth { get; set; }
/// <summary>
/// 本月其他类新增交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalOtherNewTransactionsThisMonth", "本月其他类新增交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalOtherNewTransactionsThisMonth { get; set; }
/// <summary>
/// 本月其他类了结交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("TheNameOfThePrincipalOtherTransactionsThisMonth", "本月其他类了结交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string TheNameOfThePrincipalOtherTransactionsThisMonth { get; set; }
/// <summary>
/// 本月末其他类存续交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalOtherTransactionsRemainAtTheEndOfThisMonth", "本月末其他类存续交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalOtherTransactionsRemainAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末其他类年度新增交易名义本金(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalOtherTransactionsUpToTheEndOfThisMonth", "截至本月末其他类年度新增交易名义本金(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalOtherTransactionsUpToTheEndOfThisMonth { get; set; }
/// <summary>
/// 本月初其他类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsIsTheBeginningOfThisMonth", "本月初其他类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsIsTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月其他类新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractNumberOtherNewTransactionsThisMonth", "本月其他类新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractNumberOtherNewTransactionsThisMonth { get; set; }
/// <summary>
/// 本月其他类了结交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheNumberOfContractsOtherTransactionsThisMonth", "本月其他类了结交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string TheNumberOfContractsOtherTransactionsThisMonth { get; set; }
/// <summary>
/// 本月末其他类存续交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("ContractsOthersRemainTradedAtTheEndOfThisMonth", "本月末其他类存续交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string ContractsOthersRemainTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末其他类年度新增交易合约笔数(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("NumberOfContractsOtherTransactionsAsOfTheEndOfThisMonth", "截至本月末其他类年度新增交易合约笔数(笔)", "20", true, "校验规则:正整数;")]
public string NumberOfContractsOtherTransactionsAsOfTheEndOfThisMonth { get; set; }
/// <summary>
/// 本月初存续交易名义本金合计(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("TheNominalPrincipalIsTradedAtTheBeginningOfThisMonth", "本月初存续交易名义本金合计(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string TheNominalPrincipalIsTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月新增交易名义本金合计(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalTotalNewTransactionsThisMonth", "本月新增交易名义本金合计(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalTotalNewTransactionsThisMonth { get; set; }
/// <summary>
/// 本月了结交易名义本金合计(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalTotalSettledThisMonth", "本月了结交易名义本金合计(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalTotalSettledThisMonth { get; set; }
/// <summary>
/// 本月末存续交易名义本金合计(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("TheNominalPrincipalIsTradedAtTheEndOfThisMonth", "本月末存续交易名义本金合计(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string TheNominalPrincipalIsTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末年度新增交易名义本金合计(亿元)
/// <para>长度:36,4</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:保留四位小数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 4)]
[DefaultValue("")]
[SacDescription("NominalPrincipalTotalNewTransactionAsOfTheEndOfThisMonth", "截至本月末年度新增交易名义本金合计(亿元)", "36,4", true, "校验规则:保留四位小数;")]
public string NominalPrincipalTotalNewTransactionAsOfTheEndOfThisMonth { get; set; }
/// <summary>
/// 本月初存续交易合约笔数合计(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheTotalNumberOfContractsIsTradedAtTheBeginningOfThisMonth", "本月初存续交易合约笔数合计(笔)", "20", true, "校验规则:正整数;")]
public string TheTotalNumberOfContractsIsTradedAtTheBeginningOfThisMonth { get; set; }
/// <summary>
/// 本月新增交易合约笔数合计(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheTotalNumberOfContractsIsAddedThisMonth", "本月新增交易合约笔数合计(笔)", "20", true, "校验规则:正整数;")]
public string TheTotalNumberOfContractsIsAddedThisMonth { get; set; }
/// <summary>
/// 本月了结交易合约笔数合计(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheTotalNumberOfContractsIsSettledThisMonth", "本月了结交易合约笔数合计(笔)", "20", true, "校验规则:正整数;")]
public string TheTotalNumberOfContractsIsSettledThisMonth { get; set; }
/// <summary>
/// 本月末存续交易合约笔数合计(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheTotalNumberOfContractsIsTradedAtTheEndOfThisMonth", "本月末存续交易合约笔数合计(笔)", "20", true, "校验规则:正整数;")]
public string TheTotalNumberOfContractsIsTradedAtTheEndOfThisMonth { get; set; }
/// <summary>
/// 截至本月末年度新增交易合约笔数合计(笔)
/// <para>长度:20</para>
/// <para>必填:是</para>
/// <para>说明:校验规则:正整数;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 20, AfterPointLength = 0, MinValue = 0)]
[DefaultValue("")]
[SacDescription("TheTotalNumberOfContractsAsOfTheEndOfThisYearAddTheNewTransaction", "截至本月末年度新增交易合约笔数合计(笔)", "20", true, "校验规则:正整数;")]
public string TheTotalNumberOfContractsAsOfTheEndOfThisYearAddTheNewTransaction { get; set; }
/// <summary>
/// 利率互换明细
/// <para>长度:</para>
/// <para>必填:</para>
/// <para>说明:字段信息详见利率互换明细</para>
/// </summary>
[XmlElement]
[SacDescription("InterestRateSwapDetails", "利率互换明细", "", false, "字段信息详见利率互换明细;")]
public List<InterestRateSwapDetailModel> InterestRateSwapDetails { get; set; }
/// <summary>
/// 利率期权明细
/// <para>长度:</para>
/// <para>必填:</para>
/// <para>说明:字段信息详见利率互换明细</para>
/// </summary>
[XmlElement]
[SacDescription("InterestRateOptionDetails", "利率期权明细", "", false, "字段信息详见利率期权明细;")]
public List<InterestRateOptionDetailModel> InterestRateOptionDetails { get; set; }
/// <summary>
/// 其他交易明细表
/// <para>长度:</para>
/// <para>必填:</para>
/// <para>说明:字段信息详见其他交易明细表</para>
/// </summary>
[XmlElement]
[SacDescription("ScheduleOfOtherTransactions", "其他交易明细表", "", false, "字段信息详见其他交易明细表;")]
public List<ScheduleOfOtherTransactionModel> ScheduleOfOtherTransactions { get; set; }
}
/// <summary>
/// 其他交易明细表
/// </summary>
public class ScheduleOfOtherTransactionModel : ReportSubBaseModel
{
/// <summary>
/// 起始日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("TradingDate", "起始日", "10", false, "校验规则:必须是YYYY-MM-DD;")]
public string TradingDate { get; set; }
/// <summary>
/// 报送机构名称(全称)
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("NameOfSecuritiesCompany", "报送机构名称(全称)", "100", false, "")]
public string NameOfSecuritiesCompany { get; set; }
/// <summary>
/// 填报机构代签产品名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("FillInTheNameOfTheAgency", "填报机构代签产品名称", "100", false, "")]
public string FillInTheNameOfTheAgency { get; set; }
/// <summary>
/// 交易对手方名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("NameOfCounterparty", "交易对手方名称", "100", false, "")]
public string NameOfCounterparty { get; set; }
/// <summary>
/// 交易对手方代签产品名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyAllographProduct", "交易对手方代签产品名称", "100", false, "")]
public string CounterpartyAllographProduct { get; set; }
/// <summary>
/// 交易类型
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="BusinessTypeMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02", "03", "04" }, Required = false)]
[DefaultValue("")]
[SacDescription("BusinessType", "交易类型", "2", false, "")]
public string BusinessType { get; set; }
/// <summary>
/// 交易对手方类型
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="YLErp.DBModels.Consts.ConsReport.NAFMIICounterpartyTypeMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "0", "1", "2", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21" }, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyType", "交易对手方类型", "2", false, "")]
public string CounterpartyType { get; set; }
/// <summary>
/// 交易对手是否专业机构
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="YLErp.DBModels.Consts.ConsReport.BoolNumberMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02" }, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyIsProfessionalInstitutionsOrNot", "交易对手是否专业机构", "2", false, "")]
public string CounterpartyIsProfessionalInstitutionsOrNot { get; set; }
/// <summary>
/// 名义本金(元)
/// <para>长度:36,2</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:保留4位小数,同时总的字符长度不能超过20,即整数位最多可为15位;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("NotionalPrincipalAmount", "名义本金(元)", "36,2", false, "校验规则:保留4位小数,同时总的字符长度不能超过20,即整数位最多可为15位;")]
public string NotionalPrincipalAmount { get; set; }
/// <summary>
/// 标的类型
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="YLErp.DBModels.Consts.ConsReport.NAFMIIUndrlygAssetDtldTypeMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02", "03", "04", "05", "06" }, Required = false)]
[DefaultValue("")]
[SacDescription("InvestmentTargetType", "标的类型", "2", false, "")]
public string InvestmentTargetType { get; set; }
/// <summary>
/// 标的名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("InvestmentTarget", "标的名称", "100", false, "")]
public string InvestmentTarget { get; set; }
/// <summary>
/// 合约起始日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;合约起始日不能大于合约到期日</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("StartDate", "合约起始日", "10", false, "校验规则:必须是YYYY-MM-DD;\r\n合约起始日不能大于合约到期日;")]
public string StartDate { get; set; }
/// <summary>
/// 合约到期日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;合约到期日不能小于合约起始日</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("ContractExpirationDate", "合约到期日", "10", false, "校验规则:必须是YYYY-MM-DD;\r\n合约到期日不能小于合约起始日;")]
public string ContractExpirationDate { get; set; }
/// <summary>
/// 序号
/// <para>长度:</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[XmlIgnore]
[SacDescription("Index", "序号", "", false, "")]
public string Index { get; set; }
}
/// <summary>
/// 利率期权明细
/// </summary>
public class InterestRateOptionDetailModel : ReportSubBaseModel
{
/// <summary>
/// 起始日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("TradingDate", "起始日", "10", false, "校验规则:必须是YYYY-MM-DD;")]
public string TradingDate { get; set; }
/// <summary>
/// 报送机构名称(全称)
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("NameOfSecuritiesCompany", "报送机构名称(全称)", "100", false, "")]
public string NameOfSecuritiesCompany { get; set; }
/// <summary>
/// 填报机构代签产品名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("FillInTheNameOfTheAgency", "填报机构代签产品名称", "100", false, "")]
public string FillInTheNameOfTheAgency { get; set; }
/// <summary>
/// 交易对手方名称(全称)
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("NameOfCounterparty", "交易对手方名称(全称)", "100", false, "")]
public string NameOfCounterparty { get; set; }
/// <summary>
/// 交易对手方代签产品名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyAllographProduct", "交易对手方代签产品名称", "100", false, "")]
public string CounterpartyAllographProduct { get; set; }
/// <summary>
/// 期权卖方
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="OptionTraderMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02" }, Required = false)]
[DefaultValue("")]
[SacDescription("BusinessType", "期权卖方", "2", false, "")]
public string BusinessType { get; set; }
/// <summary>
/// 期权类型
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="BusinessTypeMap"/></para>
/// </summary>
[CheckConditionStringValue(ConditionName = nameof(BusinessType), ConditionValue = "02", CheckHandleNameArr = new[] { "A" })]
[CheckConditionStringNEQValue(ConditionName = nameof(BusinessType), ConditionValue = "02", CheckHandleNameArr = new[] { "B" })]
[CheckStringInMap(Map = new[] { "01", "02" }, CheckHandleName = "A")]
[CheckStringInMap(Map = new[] { "01", "02" }, Required = false, CheckHandleName = "B")]
[DefaultValue("")]
[SacDescription("OptionType", "期权类型", "2", false, "")]
public string OptionType { get; set; }
/// <summary>
/// 期权方向
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="NAFMIIOptionDirectionMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02", "03", "04" }, CheckHandleName = "A")]
[DefaultValue("")]
[SacDescription("OptionPosition", "期权方向", "2", false, "")]
public string OptionPosition { get; set; }
/// <summary>
/// 交易对手方类型
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="NAFMIICounterpartyTypeMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "0", "1", "2", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21" }, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyType", "交易对手方类型", "2", false, "")]
public string CounterpartyType { get; set; }
/// <summary>
/// 交易对手是否专业机构
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="BoolNumberMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02" }, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyIsProfessionalInstitutionsOrNot", "交易对手是否专业机构", "2", false, "")]
public string CounterpartyIsProfessionalInstitutionsOrNot { get; set; }
/// <summary>
/// 名义本金(元)
/// <para>长度:36,2</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:保留两位小数</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("NotionalPrincipalAmount", "名义本金(元)", "36,2", false, "校验规则:保留两位小数;")]
public string NotionalPrincipalAmount { get; set; }
/// <summary>
/// 行权利率(%)
/// <para>长度:8,2</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:保留两位小数</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 8, AfterPointLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("ExcerciseInterestRate", "行权利率(%)", "8,2", false, "校验规则:保留两位小数;")]
public string ExcerciseInterestRate { get; set; }
/// <summary>
/// 标的名称
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="NAFMIIInvestmentNameMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02", "03", "04", "05" }, Required = false)]
[DefaultValue("")]
[SacDescription("InvestmentTarget", "标的名称", "2", false, "")]
public string InvestmentTarget { get; set; }
/// <summary>
/// 交割方式
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="NAFMIIDeliveryTypeMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02" }, Required = false)]
[DefaultValue("")]
[SacDescription("DeliveryType", "交割方式", "2", false, "")]
public string DeliveryType { get; set; }
/// <summary>
/// 合约起始日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>
/// 说明:校验规则:必须是YYYY-MM-DD;
/// 合约起始日不能大于合约到期日
/// </para>
/// </summary>
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("StartDate", "合约起始日", "10", false, "校验规则:必须是YYYY-MM-DD;\r\n合约起始日不能大于合约到期日;")]
public string StartDate { get; set; }
/// <summary>
/// 合约到期日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>
/// 说明:校验规则:必须是YYYY-MM-DD;
/// 合约到期日不能小于合约起始日
/// </para>
/// </summary>
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("ContractExpirationDate", "合约到期日", "10", false, "校验规则:必须是YYYY-MM-DD;\r\n合约到期日不能小于合约起始日;")]
public string ContractExpirationDate { get; set; }
/// <summary>
/// 序号
/// <para>长度:</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[XmlIgnore]
[SacDescription("Index", "序号", "", false, "")]
public string Index { get; set; }
}
/// <summary>
/// 利率互换明细
/// </summary>
public class InterestRateSwapDetailModel : ReportSubBaseModel
{
/// <summary>
/// 交易日期
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("TransactionDate", "交易日期", "10", false, "校验规则:必须是YYYY-MM-DD;")]
public string TransactionDate { get; set; }
/// <summary>
/// 报送机构名称(全称)
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("NameOfSecuritiesCompany", "报送机构名称(全称)", "100", false, "")]
public string NameOfSecuritiesCompany { get; set; }
/// <summary>
/// 填报机构代签产品名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("FillInTheNameOfTheAgency", "填报机构代签产品名称", "100", false, "")]
public string FillInTheNameOfTheAgency { get; set; }
/// <summary>
/// 交易对手方名称(全称)
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("NameOfCounterparty", "交易对手方名称(全称)", "100", false, "")]
public string NameOfCounterparty { get; set; }
/// <summary>
/// 交易对手方代签产品名称
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyAllographProduct", "交易对手方代签产品名称", "100", false, "")]
public string CounterpartyAllographProduct { get; set; }
/// <summary>
/// 交易对手方类型
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="NAFMIICounterpartyTypeMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "0", "1", "2", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21" }, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyType", "交易对手方类型", "2", false, "")]
public string CounterpartyType { get; set; }
/// <summary>
/// 交易对手是否专业机构
/// <para>长度:2</para>
/// <para>必填:否</para>
/// <para>说明:<see cref="BoolNumberMap"/></para>
/// </summary>
[CheckStringInMap(Map = new[] { "01", "02" }, Required = false)]
[DefaultValue("")]
[SacDescription("CounterpartyIsProfessionalInstitutionsOrNot", "交易对手是否专业机构", "2", false, "")]
public string CounterpartyIsProfessionalInstitutionsOrNot { get; set; }
/// <summary>
/// 固定利息支付方
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("FixedInterestPaymentParty", "固定利息支付方", "100", false, "")]
public string FixedInterestPaymentParty { get; set; }
/// <summary>
/// 浮动利息支付方
/// <para>长度:100</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 100, Required = false)]
[DefaultValue("")]
[SacDescription("FloatingInterestPaymentParty", "浮动利息支付方", "100", false, "")]
public string FloatingInterestPaymentParty { get; set; }
/// <summary>
/// 名义本金金额
/// <para>长度:36,2</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:保留2位小数,同时总的字符长度不能超过20,即整数位最多可为15位;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 15, AfterPointLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("NotionalPrincipalAmount", "名义本金金额", "36,2", false, "校验规则:保留2位小数,同时总的字符长度不能超过20,即整数位最多可为15位;")]
public string NotionalPrincipalAmount { get; set; }
/// <summary>
/// 合约期限
/// <para>长度:40</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 40, Required = false)]
[DefaultValue("")]
[SacDescription("ContractPeriod", "合约期限", "40", false, "")]
public string ContractPeriod { get; set; }
/// <summary>
/// 起息日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;起息日不能大于到期日</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("DalueDate", "起息日", "10", false, "校验规则:必须是YYYY-MM-DD;\r\n起息日不能大于到期日;")]
public string DalueDate { get; set; }
/// <summary>
/// 到期日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;到期日不能小于起息日</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("DueDate", "到期日", "10", false, "校验规则:必须是YYYY-MM-DD;\r\n到期日不能小于起息日;")]
public string DueDate { get; set; }
/// <summary>
/// 固定利率
/// <para>长度:8,2</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:保留2位小数,同时总的字符长度不能超过20,即整数位最多可为18位;</para>
/// </summary>
[CheckStringIntLength(BeforePointMaxLength = 8, AfterPointLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("FixedRate", "固定利率", "8,2", false, "校验规则:保留2位小数,同时总的字符长度不能超过20,即整数位最多可为18位;")]
public string FixedRate { get; set; }
/// <summary>
/// 固定利率支付周期
/// <para>长度:1000</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 1000, Required = false)]
[DefaultValue("")]
[SacDescription("FixedRatePaymentCycle", "固定利率支付周期", "1000", false, "")]
public string FixedRatePaymentCycle { get; set; }
/// <summary>
/// 固定利率计息基准
/// <para>长度:1000</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 1000, Required = false)]
[DefaultValue("")]
[SacDescription("FixedInterestRateBasis", "固定利率计息基准", "1000", false, "")]
public string FixedInterestRateBasis { get; set; }
/// <summary>
/// 参考利率名称
/// <para>长度:1000</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 1000, Required = false)]
[DefaultValue("")]
[SacDescription("NameOfReferenceRate", "参考利率名称", "1000", false, "")]
public string NameOfReferenceRate { get; set; }
/// <summary>
/// 利差
/// <para>长度:1000</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 1000, Required = false)]
[DefaultValue("")]
[SacDescription("Spreads", "利差", "1000", false, "")]
public string Spreads { get; set; }
/// <summary>
/// 浮动利率支付周期
/// <para>长度:1000</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 1000, Required = false)]
[DefaultValue("")]
[SacDescription("FloatingRatePaymentCycle", "浮动利率支付周期", "1000", false, "")]
public string FloatingRatePaymentCycle { get; set; }
/// <summary>
/// 重置频率
/// <para>长度:1000</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 1000, Required = false)]
[DefaultValue("")]
[SacDescription("ResetTheFrequency", "重置频率", "1000", false, "")]
public string ResetTheFrequency { get; set; }
/// <summary>
/// 浮动利率计息基准
/// <para>长度:1000</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 1000, Required = false)]
[DefaultValue("")]
[SacDescription("FloatingInterestRateBasis", "浮动利率计息基准", "1000", false, "")]
public string FloatingInterestRateBasis { get; set; }
/// <summary>
/// 首次利息支付(互换)日
/// <para>长度:10</para>
/// <para>必填:否</para>
/// <para>说明:校验规则:必须是YYYY-MM-DD;</para>
/// </summary>
[CheckStringMaxLength(MaxLength = 10, Required = false)]
[CheckStringIsDateTimeFormat]
[DefaultValue("")]
[SacDescription("FirstInterestPaymentDay", "首次利息支付(互换)日", "10", false, "校验规则:必须是YYYY-MM-DD;")]
public string FirstInterestPaymentDay { get; set; }
/// <summary>
/// 序号
/// <para>长度:</para>
/// <para>必填:否</para>
/// <para>说明:</para>
/// </summary>
[XmlIgnore]
[SacDescription("Index", "序号", "", false, "")]
public string Index { get; set; }
}
}