using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
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("安全风险辨识结果明细表")]
    public class T_SK_RISK_IDENTIFY_RESULT_DETAIL : MesEntityBase
    {
        /// <summary>
        /// 安全风险辨识结果
        /// </summary>
        [Description("安全风险辨识结果")]
        [DataFieldForeignKey("Nav_IdentifyResult", "Nav_Details")]
        public Guid RISK_IDENTIFY_RESULT_ID { get; set; }

        /// <summary>
        /// 导航：安全风险辨识结果
        /// </summary>
        [Description("导航：安全风险辨识结果")]
        public virtual T_SK_RISK_IDENTIFY_RESULT Nav_IdentifyResult { get; set; }

        /// <summary>
        /// 生产单元
        /// </summary>
        [Description("生产单元")]
        [EnumName("SKProductionUnit")]
        public SKProductionUnit MineType { get; set; }

        [Description("生产单元")]
        [DataFieldForeignKey("Nav_ProductionUnit")]
        public Guid? PRODUCTION_UNIT_ID { get; set; }
        [Description("导航属性：生产单元")]
        public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; }


        [Description("序号")]
        public int? NUM { get; set; }

        [Description("辨识区域")]
        [DataFieldForeignKey("Nav_Area")]

        public Guid? AREA_ID { get; set; }

        /// <summary>
        /// 导航属性：辨识区域
        /// </summary>
        [Description("导航属性：辨识区域")]
        public T_SK_RISK_AREA Nav_Area { get; set; }
        /// <summary>
        /// 风险名称
        /// </summary>
        [Description("风险名称")]
        public string RISK_NAME { get; set; }

        [Description("风险描述")]
        public string RISK_DESCRIPTION { get; set; }

        /// <summary>
        /// 风险类别
        /// </summary>
        [Description("风险类别")]
        [DataFieldForeignKey("Nav_Type")]

        public Guid? TYPE_ID { get; set; }

        /// <summary>
        /// 导航属性：风险类别
        /// </summary>
        [Description("导航属性：风险类别")]
        public T_SK_RISK_TYPE Nav_Type { get; set; }

        [Description("风险名称")]
        [DataFieldForeignKey("Nav_RiskName")]

        public Guid? RISK_NAME_ID { get; set; }

        [Description("导航属性：风险名称")]
        public T_SK_RISK_NAME Nav_RiskName { get; set; }

        [Description("管控措施")]
        [FormFieldEdit]
        public ICollection<T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE> Nav_DetailMeasures { get; set; }
        [Description("辨识部门")]
        [FormFieldEdit]
        public ICollection<T_SK_RISK_IDENTIFY_DETAIL_RESULT_DEPART> Nav_DetailDeparts { get; set; }
        [Description("辨识岗位")]
        [FormFieldEdit]
        public ICollection<T_SK_RISK_IDENTIFY_DETAIL_RESULT_POST> Nav_DetailPosts { get; set; }

        /// <summary>
        /// 是否有效
        /// </summary>
        [Description("是否有效")]
        [EnumName("SKEnableStatusEnum")]
        public SKEnableStatusEnum ENABLE_STATUS { get; set; }

        /// <summary>
        /// 标识
        /// </summary>
        [Description("标识")]
        public SKMarkEnum MARK { get; set; }

        [Description("管控措施")]
        public string MEASURE { get; set; }
        [Description("应急处置")]
        public string EMERGENCY { get; set; }
        [Description("辨识层级")]
        public string DEPARTMENT_TYPE { get; set; }
        [Description("辨识部门")]
        public string IDENTIFY_DEPARTMENT { get; set; }
        [Description("辨识岗位")]
        public string IDENTIFY_POST { get; set; }

        [Description("企业库ID")]

        public Guid? ENTERPRISE_LIBRARY_ID { get; set; }
    }
}
