using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Enums.SK;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace APT.MS.Domain.Entities.SK
{
    [Description("安全风险评估汇总表")]
    [DataRuleField("APPLY_DEPARTMENT_ID")]
    public class T_SK_RISK_EVALUATION_SUMMARY : MesEntityBase
    {
        [Description("计划表")]
        [DataFieldForeignKey("Nav_plan")]
        public Guid? IDENTIFY_EVALUATION_PLAN_ID { get; set; }

        [Description("导航属性：计划表")]
        public virtual T_SK_IDENTIFY_EVALUATION_PLAN Nav_plan { get; set; }
        [Description("发起人")]
        [DataFieldForeignKey("Nav_ApplyUser")]
        public Guid? APPLY_USER_ID { get; set; }

        [Description("导航属性：发起人")]
        public virtual T_FM_USER Nav_ApplyUser { get; set; }

        [Description("发起部门")]
        [DataFieldForeignKey("Nav_ApplyDepartment")]
        public Guid? APPLY_DEPARTMENT_ID { get; set; }

        [Description("导航属性：发起部门")]
        public virtual T_FM_DEPARTMENT Nav_ApplyDepartment { get; set; }

        [Description("年度")]
        public string YEAR { get; set; }

        [Description("辨识开始时间")]
        public DateTime? START_DATE { get; set; }
        [Description("辨识结束时间")]
        public DateTime? END_DATE { get; set; }
        [Description("辨识要求")]
        [DataFieldForeignKey("Nav_Require")]
        public Guid? REQUIRE_ID { get; set; }

        [Description("导航属性：辨识要求")]
        public virtual T_SK_EVALUATION Nav_Require { get; set; }

        /// <summary>
        /// 检查明细表
        /// </summary>
        [Description("导航：检查明细表")]
        public virtual ICollection<T_SK_RISK_EVALUATION_SUMMARY_DETAIL> Nav_Details { get; set; }
        /// <summary>
        /// 检查附件表
        /// </summary>
        [Description("导航：检查附件表")]
        public virtual ICollection<T_SK_RISK_EVALUATION_SUMMARY_FILE> Nav_Files { get; set; }

        [Description("导航：评价要求")]
        public virtual ICollection<T_SK_RISK_EVALUATION_SUMMARY_REQUIRE> Nav_Requires { get; set; }

        [Description("状态")]
        [EnumName("PFStandardStatus")]
        public PFStandardStatus STATUS { get; set; }

        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }

        [Description("驳回意见")]
        [DataFieldIngore]
        public string CONTEXT { get; set; }
        [Description("是否公司级")]
        [EnumName("SKIsStoreEnum")]
        public SKIsStoreEnum ISCOMPANY { get; set; }

        [Description("发起人部门")]
        [DataFieldLength(50)]
        public string ApplyDepartmentName { get; set; }
        [DataFieldLength(50)]
        [Description("发起人岗位")]
        public string ApplyPostName { get; set; }
    }
}
