/*  代码由框架生成,任何更改都可能导致被代码生成器覆盖，可自行修改。
* Ghre_StudyRule.cs
*
*功 能： N / A
* 类 名： Ghre_StudyRule
*
* Ver    变更日期 负责人  变更内容
* ───────────────────────────────────
*V0.01  2025/5/29 13:15:15  SimonHsiao   初版
*
* Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
*┌──────────────────────────────────┐
*│　此技术信息为本公司机密信息，未经本公司书面同意禁止向第三方披露．　│
*│　作者：SimonHsiao                                                  │
*└──────────────────────────────────┘
*/
namespace Tiobon.Core.Model.Models;


/// <summary>
/// 必选修规则 (Dto.Base)
/// </summary>
public class Ghre_StudyRuleBase
{

    /// <summary>
    /// 规则类型
    /// </summary>
    [Display(Name = "RuleType"), Description("规则类型"), MaxLength(32, ErrorMessage = "规则类型 不能超过 32 个字符")]
    public string RuleType { get; set; }

    /// <summary>
    /// 培训种类
    /// </summary>
    [Display(Name = "TrainType"), Description("培训种类"), MaxLength(32, ErrorMessage = "培训种类 不能超过 32 个字符")]
    public string TrainType { get; set; }

    /// <summary>
    /// 课程ID
    /// </summary>
    public long? CourseId { get; set; }

    /// <summary>
    /// 课程场景ID
    /// </summary>
    public long? CourseSceneId { get; set; }

    /// <summary>
    /// 厂区
    /// </summary>
    [Display(Name = "ZoneId"), Description("厂区"), MaxLength(2000, ErrorMessage = "厂区 不能超过 2000 个字符")]
    public string ZoneId { get; set; }

    /// <summary>
    /// 部门
    /// </summary>
    [Display(Name = "DeptId"), Description("部门"), MaxLength(2000, ErrorMessage = "部门 不能超过 2000 个字符")]
    public string DeptId { get; set; }

    /// <summary>
    /// 岗位
    /// </summary>
    [Display(Name = "TitleId"), Description("岗位"), MaxLength(2000, ErrorMessage = "岗位 不能超过 2000 个字符")]
    public string TitleId { get; set; }

    /// <summary>
    /// 职等
    /// </summary>
    [Display(Name = "GradeId"), Description("职等"), MaxLength(2000, ErrorMessage = "职等 不能超过 2000 个字符")]
    public string GradeId { get; set; }

    /// <summary>
    /// 职称
    /// </summary>
    [Display(Name = "JobId"), Description("职称"), MaxLength(2000, ErrorMessage = "职称 不能超过 2000 个字符")]
    public string JobId { get; set; }

    /// <summary>
    /// 年度
    /// </summary>
    [Display(Name = "Year"), Description("年度"), MaxLength(32, ErrorMessage = "年度 不能超过 32 个字符")]
    public string Year { get; set; }

    /// <summary>
    /// 完成期限
    /// </summary>
    public int? DeadlineMonth { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
    public string RemarkSz { get; set; }

    /// <summary>
    /// 结果
    /// </summary>
    [Display(Name = "Result"), Description("结果"), MaxLength(2000, ErrorMessage = "结果 不能超过 2000 个字符")]
    public string Result { get; set; }

    /// <summary>
    /// 默认标志
    /// </summary>
    public int? IsDefault { get; set; }

    /// <summary>
    /// 预留字段1
    /// </summary>
    [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
    public string Reverse1 { get; set; }

    /// <summary>
    /// 预留字段2
    /// </summary>
    [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
    public string Reverse2 { get; set; }

    /// <summary>
    /// 预留字段3
    /// </summary>
    [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
    public string Reverse3 { get; set; }

    /// <summary>
    /// 预留字段4
    /// </summary>
    [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
    public string Reverse4 { get; set; }

    /// <summary>
    /// 预留字段5
    /// </summary>
    [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
    public string Reverse5 { get; set; }

    /// <summary>
    /// 预留字段6
    /// </summary>
    [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
    public string Reverse6 { get; set; }

    /// <summary>
    /// 预留字段7
    /// </summary>
    [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
    public string Reverse7 { get; set; }

    /// <summary>
    /// 预留字段8
    /// </summary>
    [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
    public string Reverse8 { get; set; }

    /// <summary>
    /// 预留字段9
    /// </summary>
    [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
    public string Reverse9 { get; set; }

    /// <summary>
    /// 预留字段10
    /// </summary>
    [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
    public string Reverse10 { get; set; }

    /// <summary>
    /// 预留字段11
    /// </summary>
    public int? ReverseI1 { get; set; }

    /// <summary>
    /// 预留字段12
    /// </summary>
    public int? ReverseI2 { get; set; }

    /// <summary>
    /// 规则编号
    /// </summary>
    [Display(Name = "RuleNo"), Description("规则编号"), MaxLength(32, ErrorMessage = "规则编号 不能超过 32 个字符")]
    public string RuleNo { get; set; }

    /// <summary>
    /// 规则名称
    /// </summary>
    [Display(Name = "RuleName"), Description("规则名称"), MaxLength(32, ErrorMessage = "规则名称 不能超过 32 个字符")]
    public string RuleName { get; set; }

    /// <summary>
    /// 部门是否含下阶
    /// </summary>
    public bool? IsDeptLower { get; set; }

    /// <summary>
    /// 结果有效期
    /// </summary>
    public int? ResultValidPeriod { get; set; }

    /// <summary>
    /// 重复类型
    /// </summary>
    [Display(Name = "DuplicateType"), Description("重复类型"), MaxLength(32, ErrorMessage = "重复类型 不能超过 32 个字符")]
    public string DuplicateType { get; set; }

    /// <summary>
    /// 培训计划ID
    /// </summary>
    public long? PlanId { get; set; }

    /// <summary>
    /// 集团数据归属
    /// </summary>
    public int? DataBelongID { get; set; }
}
