using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 学生家长问卷填答情况输出参数
/// </summary>
public class ExamStudentPatriarchQuestionnaireProgressOutput
{
    /// <summary>
    /// 行号
    /// </summary>
    [Required]
    public int RowNumber { get; set; }
    /// <summary>
    /// 校区ID
    /// </summary>
    public short? SysOrgBranchId { get; set; }
    /// <summary>
    /// 校区名称
    /// </summary>
    public string SysOrgBranchName { get; set; }
    /// <summary>
    /// 选科组合ID
    /// </summary>
    public short? NceeCourseCombId { get; set; }
    /// <summary>
    /// 监测学生ID
    /// </summary>
    [Required]
    public long Id { get; set; }
    /// <summary>
    /// 监测学生名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 年级ID
    /// </summary>
    [Required]
    public short GradeId { get; set; }
    /// <summary>
    /// 年级名称
    /// </summary>
    [Required]
    public string GradeName { get; set; }
    /// <summary>
    /// 班级ID
    /// </summary>
    [Required]
    public long SchoolClassId { get; set; }
    /// <summary>
    /// 班级名称
    /// </summary>
    [Required]
    public string SchoolClassName { get; set; }
    /// <summary>
    /// 入学年份
    /// </summary>
    [Required]
    public short GradeBeginYear { get; set; }
    /// <summary>
    /// 班级号
    /// </summary>
    [Required]
    public short ClassNumber { get; set; }
    /// <summary>
    /// 证件类型
    /// </summary>
    [Required]
    public CertificateType CertificateType { get; set; }
    /// <summary>
    /// 证件号码
    /// </summary>
    [Required]
    public string IdNumber { get; set; } = "";
    /// <summary>
    /// 填答手机号码
    /// </summary>
    public string Mobile { get; set; }
    /// <summary>
    /// 提交时间
    /// </summary>
    public DateTime? SubmitTime { get; set; }
    /// <summary>
    /// 是否完成
    /// </summary>
    [Required]
    public bool IsCompleted { get; set; }
}
/// <summary>
/// 学生家长问卷填答进度统计输出参数
/// </summary>
public class ExamStudentPatriarchQuestionnaireProgressStatOutput
{
    /// <summary>
    /// 主键
    /// </summary>
    [Required]
    public int Id { get; set; }
    /// <summary>
    /// 年级ID
    /// </summary>
    [Required]
    public short GradeId { get; set; }
    /// <summary>
    /// 年级名称
    /// </summary>
    [Required]
    public string GradeName { get; set; }
    /// <summary>
    /// 入学年份
    /// </summary>
    [Required]
    public short GradeBeginYear { get; set; }
    /// <summary>
    /// 班号
    /// </summary>
    [Required]
    public short ClassNumber { get; set; }
    /// <summary>
    /// 总人数
    /// </summary>
    [Required]
    public int TotalCount { get; set; }
    /// <summary>
    /// 完成数量
    /// </summary>
    [Required]
    public int CompletedCount { get; set; }
    /// <summary>
    /// 未完成数量
    /// </summary>
    [Required]
    public int UncompletedCount { get; set; }
    /// <summary>
    /// 完成率
    /// </summary>
    [Required]
    public decimal CompletedProgress { get; set; }
}

