using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.MS.Domain.Entities.BS
{
    /// <summary>
    /// 检查问题(描述)表
    /// </summary>
    [Description("检查问题")]
    public class T_BS_CHECK_QUESTION : MesEntityBase
    {
        /// <summary>
        /// 检查内容
        /// </summary>
        [Description("检查内容")]
        [DataFieldForeignKey("Nav_Contents", "Nav_ListCheckQuestion")]
        public Guid? CHECK_CONTENTS_ID { get; set; }

        /// <summary>
        /// 检查内容
        /// </summary>
        [Description("检查内容")]
        public virtual T_BS_CHECK_CONTENTS Nav_Contents { get; set; }

        /// <summary>
        /// 问题描述
        /// </summary>
        [Description("检查问题描述")]
        [FormFieldTable]
        [FormFieldEdit]
        [DataFieldLength(500)]
        public string DESCREPTION { get; set; }

        /// <summary>
        /// 整改要求及建议
        /// </summary>
        [Description("整改建议与措施")]
        [FormFieldTable]
        [FormFieldEdit]
        [DataFieldLength(500)]
        public string DEMAND { get; set; }


        /// <summary>
        /// 问题等级  重大 = 10,A = 20,B = 30,C = 40,D = 50,
        /// </summary>
        [Description("问题等级")]
        [FormFieldEdit]
        [FormFieldTable]
        [FormFieldQuery]
        public BSQuestionLevelEnum QUESTION_LEVEL { get; set; }

        /// <summary>
        /// 问题等级描述
        /// </summary>
        [Description("问题等级")]
        [DataFieldIngore]
        public string QUESTION_LEVEL_SHOW { get; set; }

        /// <summary>
        /// 排序号
        /// </summary>
        [Description("排序号")]
        [FormFieldEdit]
        public int NUM { get; set; }

        /// <summary>
        /// 启用标志
        /// </summary>
        [Description("启用标志")]
        [FormFieldEdit]
        [EnumName("FMEnableStatusEnum")]
        public int ENABLE_STATUS { get; set; }

        /// <summary>
        /// 检查问题 时选择问题用到（BS057）
        /// </summary>
        [Description("检查问题")]
        [DataFieldIngore]
        public virtual T_BS_CHECK_MAIN Nav_Main { get; set; }


        /// <summary>
        /// 是否重大隐患 否 = 0,是 = 1,
        /// </summary>
        [Description("是否重大隐患")]
        [DataFieldIngore]
        public int SERIOUS_RISK { get; set; }


        /// <summary>
        /// 系统整改期限(手动隐患上报 选择问题后 默认加载 系统整改期限)
        /// </summary>
        [Description("系统整改期限")]
        [DataFieldIngore]
        public DateTime? LastDateSystem { get; set; }
    }
}