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_BASIC_LIBRARY_TEMP : MesEntityBase
    {
        [Description("编码")]
        [DataFieldLength(50)]
        public string CODE { get; set; }
        /// <summary>
        /// 生产单元
        /// </summary>
        [Description("生产单元")]
        [EnumName("FMProductionUnit")]
        public FMProductionUnit MineType { get; set; }

        /// <summary>
        /// 辨识区域
        /// </summary>
        [Description("辨识区域")]
        [DataFieldForeignKey("Nav_Area")]

        public Guid? AREA_ID { get; set; }

        /// <summary>
        /// 导航属性：辨识区域
        /// </summary>
        [Description("导航属性：辨识区域")]
        public T_HM_RISK_AREA Nav_Area { get; set; }

        /// <summary>
        /// 风险名称
        /// </summary>
        [Description("风险名称")]
        public string RISK_NAME { get; set; }
        /// <summary>
        /// 风险描述
        /// </summary>
        [Description("风险描述")]
        public string RISK_DESCRIPTION { get; set; }

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

        public Guid? TYPE_ID { get; set; }

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

        [Description("风险评价L")]
        [FormFieldEdit]
        public decimal EVALUATE_L { get; set; }

        [Description("风险评价E")]
        [FormFieldEdit]
        public decimal EVALUATE_E { get; set; }

        [Description("风险评价C")]
        [FormFieldEdit]
        public decimal EVALUATE_C { get; set; }

        [Description("分值D")]
        [FormFieldEdit]
        public decimal EVALUATE_SCORE { get; set; }

        /// <summary>
        /// 风险等级
        /// </summary>
        [Description("风险等级")]
        [EnumName("SKEvaluateLevelEnum")]
        public SKEvaluateLevelEnum EVALUATE_LEVEL { get; set; }
        [Description("是否有效")]
        [EnumName("FMEnableStatusEnum")]
        public FMEnableStatusEnum ENABLE_STATUS { get; set; }
        /// <summary>
        /// 导航属性：管控措施
        /// </summary>
        [Description("管控措施")]
        [FormFieldEdit]
        public ICollection<T_SK_BASIC_LIBRARY_TEMP_MEASURE> Nav_Measures { get; set; }
        [Description("检查内容")]
        [FormFieldEdit]
        public ICollection<T_SK_BASIC_LIBRARY_TEMP_CONTENT> Nav_Contents { get; set; }
        [Description("隐患描述")]
        [FormFieldEdit]
        public ICollection<T_SK_BASIC_LIBRARY_TEMP_HIDDEN> Nav_Hiddens { get; set; }

        [Description("顺序")]
        public int? NUM { get; set; }
        [Description("生产单元")]
        public string MINE_NAME { get; set; }
        [Description("辨识区域")]
        public string AREA_NAME { get; set; }
        [Description("风险类别")]

        public string TYPE_NAME { get; set; }
    }
}
