using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.HM;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace APT.MS.Domain.Entities.HM
{
    /// <summary>
    /// 作业任务识别详情表(关联风险记录明细表)
    /// </summary>
    [Description("作业任务识别详情表(关联风险记录明细表)")]
    public class T_HM_OPERATION_TASK_DISTINGUISH_DETAIL : MesEntityBase
    {
        /// <summary>
        /// 作业任务识别表
        /// </summary>
        [Description("作业任务识别表")]
        [DataFieldForeignKey("Nav_OperationTaskDistinguish", "Nav_DistinguishDetails")]
        public Guid OPERATION_TASK_DISTINGUISH_ID { get; set; }

        /// <summary>
        /// 作业环节ID
        /// </summary>
        [Description("作业环节ID")]
        [DataFieldForeignKey("Nav_OperationStep")]
        [FormFieldEdit]
        public Guid? OPERATION_LINK_ID { get; set; }

        /// <summary>
        /// 导航属性：作业环节
        /// </summary>
        [Description("导航属性：作业环节")]
        public T_HM_OPERATION_STEP Nav_OperationStep { get; set; }

        /// <summary>
        /// 相关岗位
        /// </summary>
        [Description("相关岗位")]
        [DataFieldForeignKey("Nav_Workduty")]
        [FormFieldEdit]
        public Guid? WORKDUTY_ID { get; set; }

        /// <summary>
        /// 导航属性：相关岗位
        /// </summary>
        [Description("导航属性：相关岗位")]
        public T_FM_USER_POST Nav_Workduty { get; set; }

        /// <summary>
        /// 风险名称
        /// </summary>
        [Description("风险名称")]
        [DataFieldLength(200)]
        [FormFieldEdit]
        public string RISK_NAME { get; set; }

        /// <summary>
        /// 相关工种ID
        /// </summary>
        [Description("相关工种ID")]
        [DataFieldForeignKey("Nav_WorkType")]
        [FormFieldEdit]
        public Guid? WORK_TYPE_ID { get; set; }

        /// <summary>
        /// 导航属性：相关工种
        /// </summary>
        [Description("导航属性：相关工种")]
        public T_HM_WORK_TYPE Nav_WorkType { get; set; }

        

        /// <summary>
        /// 导航：作业任务识别表
        /// </summary>
        [Description("导航：作业任务识别表")]
        public virtual T_HM_OPERATION_TASK_DISTINGUISH Nav_OperationTaskDistinguish { get; set; }

        /// <summary>
        /// 导航属性：风险库
        /// </summary>
        [Description("导航属性：风险库")]
        public ICollection<T_HM_OPERATION_LINK_EVALUATE_RISK> Nav_OperationLinkEvaluateRisk { get; set; }
    }
}
