using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.SE
{
    /// <summary>
    /// 培训需求调查
    /// </summary>
    [Description("培训需求调查")]
    public class T_SE_TRAIN_SURVEY : MesEntityBase
    {
        /// <summary>
        /// 调查名称
        /// </summary>
        [Description("调查名称")]
        [DataFieldLength(100)]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public string NAME { get; set; }
        /// <summary>
        /// 发起时间
        /// </summary>
        [Description("发起时间")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public DateTime? LAUNCH_TIME { get; set; }
        /// <summary>
        /// 发起部门ID
        /// </summary>
        [Description("发起部门")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_LaunchDepartment")]
        public Guid? LAUNCH_DEPARTMENT_ID { get; set; }
        /// <summary>
        /// 导航: 发起部门
        /// </summary>
        [Description("导航: 发起部门")]
        public T_FM_DEPARTMENT Nav_LaunchDepartment { get; set; }
        /// <summary>
        /// 发起人员ID
        /// </summary>
        [Description("发起人员")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_LaunchUser")]
        public Guid LAUNCH_USER_ID { get; set; }
        /// <summary>
        /// 导航: 发起人员
        /// </summary>
        [Description("导航: 发起人员")]
        public T_FM_USER Nav_LaunchUser { get; set; }
        /// <summary>
        /// 截止时间
        /// </summary>
        [Description("截止时间")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public DateTime? END_TIME { get; set; }
        /// <summary>
        ///  参与部门
        /// </summary>
        [Description("参与部门")]
        [FormFieldEdit]
        public ICollection<T_SE_TRAIN_SURVEY_LIST_DEPARTMENT> Nav_JoinDepartment { get; set; }
        /// <summary>
        /// 导航: 用户需求
        /// </summary>
        [Description("用户需求")]
        [FormFieldEdit]
        public ICollection<T_SE_TRAIN_SURVEY_LIST_DEMAND> Nav_Demands { get; set; }

        /// <summary>
        /// 导航: 调查目的
        /// </summary>
        [Description("导航: 调查目的")]
        [FormFieldEdit]
        public ICollection<T_SE_TRAIN_SURVEY_LIST_POINT> Nav_Points { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [EnumName("SETrainSurveyStatus")]
        [FormFieldTable]
        public SETrainSurveyStatus STATUS { get; set; }
        /// <summary>
        /// 安全员ID
        /// </summary>
        [Description("安全员ID")]
        public string SAFE_USER_IDS { get; set; }
        /// <summary>
        /// 任务ID
        /// </summary>
        [Description("任务ID")]
        public Guid? TASK_ID { get; set; }
        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }
        [DataFieldIngore]
        public int IS_OVERTIME { get; set; }

        /// <summary>
        /// 含下级组织成员
        /// </summary>
        [Description("含下级组织成员")]
        [DataFieldIngore]
        public bool IS_DOWN { get; set; }
    }
}
