using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.BS;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.WB
{
    /// <summary>
    /// 外包工程隐患整改记录
    /// </summary>
    [Description("外包工程隐患整改记录")]
    [DataRuleField("DEPARTMENT_ID")]
    public class T_WB_HIDDEN_DANGER_RECORD : MesEntityBase
    {
        /// <summary>
        /// 整改通知
        /// </summary>
        [Description("整改通知")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Notify")]
        public Guid NOTIFY_ID { get; set; }
        /// <summary>
        /// 导航: 整改通知
        /// </summary>
        [Description("导航: 整改通知")]
        public T_WB_HIDDEN_DANGER_NOTIFY Nav_Notify { get; set; }

        /// <summary>
        /// 检查任务
        /// </summary>
        [Description("检查任务")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Task")]
        public Guid? TASK_ID { get; set; }
        /// <summary>
        /// 导航: 检查任务
        /// </summary>
        [Description("导航: 检查任务")]
        public T_WB_SAFE_CHECK_TASK Nav_Task { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        [Description("附件")]
        public ICollection<T_WB_HIDDEN_DANGER_RECORD_FILE> Nav_Files { get; set; }
        /// <summary>
        /// 整改记录明细
        /// </summary>
        [Description("整改记录明细")]
        [FormFieldEdit]
        public ICollection<T_WB_HIDDEN_DANGER_RECORD_DETAIL> Nav_Details { get; set; }
        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [FormFieldTable]
        [FormFieldQuery]
        [EnumName("PFStandardStatus")]
        public PFStandardStatus STATUS { get; set; }
        [Description("拒绝理由")]
        [DataFieldLength(500)]
        public string AUDIT_OPINION { get; set; }

        /// <summary>
        /// 完结时间
        /// </summary>
        [Description("完结时间")]
        public DateTime? ENDTIME { get; set; }

        /// <summary>
        /// 外包单位
        /// </summary>
        [Description("外包单位")]
        [DataFieldForeignKey("Nav_Department")]
        public Guid? DEPARTMENT_ID { get; set; }

        /// <summary>
        /// 外包单位
        /// </summary>
        [Description("外包单位")]
        public T_FM_DEPARTMENT Nav_Department { get; set; }
    }
}
