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


/// <summary>
/// 考试记录 (Model)
/// </summary>
[SugarTable("Ghre_ExamRecord", "Ghre_ExamRecord"), Entity(TableCnName = "考试记录", TableName = "Ghre_ExamRecord")]
public class Ghre_ExamRecord : BasePoco
{

    /// <summary>
    /// 试卷ID
    /// </summary>
    public long? ExamId { get; set; }

    /// <summary>
    /// 培训记录ID
    /// </summary>
    public long? StudyRecordId { get; set; }

    /// <summary>
    /// 员工ID
    /// </summary>
    public int? StaffId { get; set; }

    /// <summary>
    /// 课程快照ID
    /// </summary>
    public long? CourseSnapId { get; set; }

    /// <summary>
    /// 试卷ID
    /// </summary>
    public long? ExamPaperId { get; set; }

    /// <summary>
    /// 得分
    /// </summary>
    [Display(Name = "Score"), Description("得分"), Column(TypeName = "decimal(20,2)")]
    public decimal? Score { get; set; }

    /// <summary>
    /// 调整得分
    /// </summary>
    [Display(Name = "AdjustScore"), Description("调整得分"), Column(TypeName = "decimal(20,2)")]
    public decimal? AdjustScore { get; set; }

    /// <summary>
    /// 考试日期
    /// </summary>
    public DateTime? ExamDate { get; set; }

    /// <summary>
    /// 开始时间
    /// </summary>
    public DateTime? BeginTime { get; set; }

    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime? EndTime { get; set; }

    /// <summary>
    /// 实际开始时间
    /// </summary>
    public DateTime? ActualBeginTime { get; set; }

    /// <summary>
    /// 实际结束时间
    /// </summary>
    public DateTime? ActualEndTime { get; set; }

    /// <summary>
    /// 重考次数
    /// </summary>
    public int? RetakeTimes { get; set; }

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

    /// <summary>
    /// 评分状态
    /// </summary>
    [Display(Name = "ScoreStatus"), Description("评分状态"), MaxLength(32, ErrorMessage = "评分状态 不能超过 32 个字符")]
    public string ScoreStatus { get; set; }

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

    /// <summary>
    /// 是否合格
    /// </summary>
    public bool? IsPass { get; set; }

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

    /// <summary>
    /// 备注
    /// </summary>
    [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
    public string RemarkSz { 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>
    public bool? IsView { get; set; }

    /// <summary>
    /// 查看试卷时间
    /// </summary>
    public DateTime? ViewTime { get; set; }

    /// <summary>
    /// 实操分
    /// </summary>
    [Display(Name = "ActualScore"), Description("实操分"), Column(TypeName = "decimal(20,2)")]
    public decimal? ActualScore { get; set; }

    /// <summary>
    /// 最终是否合格
    /// </summary>
    public bool? FinallyIsPass { get; set; }

    /// <summary>
    /// 开班ID
    /// </summary>
    public long? OpenClassId { get; set; }

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

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

    /// <summary>
    /// 是否发放证书
    /// </summary>
    public bool? IsIssueCertificate { get; set; }

    /// <summary>
    /// 有效开始时间
    /// </summary>
    public DateTime? ValidBeginTime { get; set; }

    /// <summary>
    /// 有效结束时间
    /// </summary>
    public DateTime? ValidEndTime { get; set; }

    /// <summary>
    /// 答题次数
    /// </summary>
    public int? AnswerCount { get; set; }

    /// <summary>
    /// 最终得分
    /// </summary>
    [Display(Name = "FinallyScore"), Description("最终得分"), Column(TypeName = "decimal(20,2)")]
    public decimal? FinallyScore { get; set; }
}
