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

namespace APT.MS.Domain.Entities.AE
{
    /// <summary>
    /// 事故调查小组成员表
    /// </summary>
    [Description("事故调查小组成员")]
    [DataRuleField("Nav_AccidentEventReport.DEPARTMENT_ID")]
    public class T_AE_ACCIDENT_SURVEY_TEAM_MEMBER : MesEntityBase
    {

        /// <summary>
        /// 事故事件上报表ID
        /// </summary>
        [Description("事故事件上报表")]
        [DataFieldForeignKey("Nav_AccidentEventReport")]
        public Guid? REPORT_ID { get; set; }

        /// <summary>
        /// 导航属性：事故事件上报表
        /// </summary>
        [Description("事故事件上报表")]
        public virtual T_AE_ACCIDENT_EVENT_REPORT Nav_AccidentEventReport { get; set; }

        /// <summary>
        /// 组长ID
        /// </summary>
        [Description("组长ID")]
        [DataFieldForeignKey("Nav_LeaderUser")]
        [FormFieldTable]
        [FormFieldEdit]
        public Guid? LEADER_USER_ID { get; set; }

        /// <summary>
        /// 导航属性：组长
        /// </summary>
        [Description("导航属性：组长")]
        [FormFieldQuery]
        public virtual T_FM_USER Nav_LeaderUser { get; set; }

        /// <summary>
        /// 导航属性： 副组长
        /// </summary>
        [Description("导航属性： 副组长")]
        public virtual ICollection<T_AE_ACCIDENT_SURVEY_TEAM_DEPUTY_LEADER> Nav_DeputyLeaderUser { get; set; }

        /// <summary>
        /// 导航属性： 组员
        /// </summary>
        [Description("导航属性： 组员")]
        public virtual ICollection<T_AE_ACCIDENT_SURVEY_TEAM_MEMBERS> Nav_TeamMembers { get; set; }

        /// <summary>
        /// 调查记录人ID
        /// </summary>
        [Description("调查记录人")]
        [DataFieldForeignKey("Nav_SurveyUser")]
        [FormFieldTable]
        [FormFieldEdit]
        public Guid? SURVEY_USER_ID { get; set; }

        /// <summary>
        /// 调查记录人
        /// </summary>
        [Description("调查记录人")]
        [FormFieldQuery]
        public virtual T_FM_USER Nav_SurveyUser { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [FormFieldTable]
        [FormFieldQuery]
        public PFStandardStatus STATUS { get; set; }
    }
}
