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 PeriodicReportQuarterModel : ReportBaseModel { /// /// 操作标识 /// 长度:1 /// 必填:是 /// 说明: /// [XmlIgnore] [SacDescription("OperationType", "操作标识", "1", true, "")] public OptFlagsEnum OperationType { get; set; } /// /// 业务编号 /// 长度:50 /// 必填:否 /// 说明:校验规则:补正时必填; /// [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; } /// /// 年份 /// 长度:4 /// 必填:是 /// 说明:校验规则:必须是4位整数; /// [CheckStringLength(Length = 4)] [DefaultValue("")] [SacDescription("Year", "年份", "4", true, "校验规则:必须是4位整数;")] public string Year { get; set; } /// /// 季度 /// 长度:2 /// 必填:是 /// 说明:01~04为季度;05为半年报 /// [CheckStringInMap(Map = new[] { "01", "02", "03", "04", "05" })] [DefaultValue("")] [SacDescription("Quarter", "季度", "2", true, "01~04为季度;\r\n05为半年报;")] public string Quarter { get; set; } /// /// 季报报告文件 /// [CheckIEnumerableTMinCount(MinCount = 1)] [XmlElement] [SacDescription("DerivativesQuarterlyReportAnnexTuple", "季报报告文件", "", false, "")] public List DerivativesQuarterlyReportAnnexTuple { get; set; } } public class DerivativesQuarterlyReportAnnexModel { /// /// 季报报告文件 /// [CheckStringEndsWith(EndsWithString = ".pdf")] [DefaultValue("")] [SacDescription("DerivativesQuarterlyReportAnnex", "季报报告文件", "", true, "校验规则:只支持 PDF 格式;")] public string DerivativesQuarterlyReportAnnex { get; set; } } }