using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.OKR;
using System;
using VT.FW.DB;

namespace Edu.Model.Entity.OKR
{
    /// <summary>
    /// okr目标实体类
    /// </summary>
    [Serializable]
    [DB(ConnectionName = "DefaultConnection")]
    public class RB_OKR_Objective
    {
        /// <summary>
        /// id
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 周期id
        /// </summary>
        public int PeriodId { get; set; }

        /// <summary>
        /// 目标
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }

        /// <summary>
        /// 进度
        /// </summary>
        public int Progress { get; set; }

        /// <summary>
        /// 权重
        /// </summary>
        public int Weight { get; set; }

        /// <summary>
        /// 分数
        /// </summary>
        public decimal Score { get; set; }

        /// <summary>
        /// 进度备注
        /// </summary>
        public string ProgressRemark { get; set; }

        /// <summary>
        /// 是否默认风险最高的 Key Result 状态  1是  2否
        /// </summary>
        public int IsDefaultState { get; set; }

        /// <summary>
        /// 进度状态  1正常   2有风险   3已延期  枚举
        /// </summary>
        public ProgressStateEnum ProgressState { get; set; }

        /// <summary>
        /// 审核状态   1审核中   2审核OK  3审核驳回  4暂存   5作废
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 集团id
        /// </summary>
        public int Group_Id { get; set; }

        /// <summary>
        /// 学校id
        /// </summary>
        public int School_Id { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public int CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public int UpdateBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime UpdateTime { get; set; }

        /// <summary>
        /// 分数规则id
        /// </summary>
        public int ScoreRuleId { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        public int AuditUserId { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? AuditTime { get; set; }

        /// <summary>
        /// 审核备注
        /// </summary>
        public string AuditRemark { get; set; }

        /// <summary>
        /// 是否默认全部可见权限   1是  2否
        /// </summary>
        public int IsDefaultPermission { get; set; }

        /// <summary>
        /// 是否更新过进度状态   1是
        /// </summary>
        public int IsUpdated { get; set; }
    }
}
