using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.MS.Domain.Entities.BS
{
    /// <summary>
    /// 延期整改申请
    /// </summary>
    [Description("延期整改申请详情")]
    public class T_BS_RISK_SUBMIT_DELAY_APPLY_DETAIL : MesEntityBase
    {

        /// <summary>
        /// 延期整改申请
        /// </summary>
        [Description("延期整改申请")]
        [DataFieldForeignKey("Nav_Apply", "Nav_ListApplyDetail")]
        public Guid RISK_SUBMIT_DELAY_APPLY_ID { get; set; }

        /// <summary>
        /// 导航：延期整改申请
        /// </summary>
        [Description("导航：延期整改申请")]
        public virtual T_BS_RISK_SUBMIT_DELAY_APPLY Nav_Apply { get; set; }


        /// <summary>
        /// 编码（用通知的）
        /// </summary>
        [Description("编码")]
        [DataFieldLength(30)]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string CODE { get; set; }

        /// <summary>
        /// 隐患通知名称
        /// </summary>
        [Description("申请详情名称")]
        [DataFieldLength(100)]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string NAME { get; set; }


        /// <summary>
        /// 隐患上报内容
        /// </summary>
        [Description("隐患上报内容")]
        [DataFieldForeignKey("Nav_SubmitContent")]
        public Guid RISK_SUBMIT_CONTENT_ID { get; set; }

        /// <summary>
        /// 导航：隐患上报内容
        /// </summary>
        [Description("导航：隐患上报内容")]
        public virtual T_BS_RISK_SUBMIT_CONTENT Nav_SubmitContent { get; set; }


        /// <summary>
        /// 整改通知
        /// </summary>
        [Description("整改通知")]
        [DataFieldForeignKey("Nav_SubmitNoticePerson")]
        public Guid RISK_SUBMIT_NOTICE_PERSON_ID { get; set; }

        /// <summary>
        /// 导航：整改通知
        /// </summary>
        [Description("导航：整改通知")]
        public virtual T_BS_RISK_SUBMIT_NOTICE_PERSON Nav_SubmitNoticePerson { get; set; }


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

        /// <summary>
        /// 检查问题
        /// </summary>
        [Description("检查问题")]
        [DataFieldForeignKey("Nav_Question")]
        [FormFieldEdit]
        public Guid? CHECK_QUESTION_ID { get; set; }

        /// <summary>
        /// 导航：检查问题
        /// </summary>
        [Description("导航：检查问题")]
        public virtual T_BS_CHECK_QUESTION Nav_Question { get; set; }

        /// <summary>
        /// 延期申请临时整改措施
        /// </summary>
        [Description("临时整改建议与措施")]
        [FormFieldTable]
        [FormFieldEdit]
        [DataFieldLength(1000)]
        public string TEMPDEMAND { get; set; }

        /// <summary>
        ///延期理由
        /// </summary>
        [Description("延期理由")]
        [FormFieldTable]
        [FormFieldEdit]
        [DataFieldLength(1000)]
        public string REASON { get; set; }

        /// <summary>
        /// 申请延期期限（冗余字段 LastDateUser）
        /// </summary>
        [Description("申请延期期限")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime? LastDate { get; set; }

        /// <summary>
        /// 延期后整改期限
        /// </summary>
        [Description("延期后整改期限")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime? LastDateApply { get; set; }


        /// <summary>
        /// 验收人ID
        /// </summary>
        [Description("验收人ID")]
        public Guid? CHCEKUSERID { get; set; }

        /// <summary>
        /// 验收人 确定时间
        /// </summary>
        [Description("验收人确定时间")]
        public DateTime? CHCEKTIME { get; set; }

    }
}