using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace APT.MS.Domain.Entities.CM
{
    /// <summary>
    /// 年度应急演练计划表
    /// </summary>
    [Description("年度应急演练计划表")]
    [DataRuleField("DEPARTMENT_ID")]
    public class T_CM_DRILL_PLAN : MesEntityBase
    {
        /// <summary>
        /// 年度
        /// </summary>
        [Description("年度")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public int YEAR { get; set; }

        /// <summary>
        /// 制定部门ID
        /// </summary>
        [Description("制定部门")]
        [DataFieldForeignKey("Nav_Department")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public Guid? DEPARTMENT_ID { get; set; }

        /// <summary>
        /// 导航属性：制定部门
        /// </summary>
        [Description("导航属性：制定部门")]
        public virtual T_FM_DEPARTMENT Nav_Department { get; set; }

        /// <summary>
        /// 导航属性：计划子表
        /// </summary>
        [Description("导航属性：计划子表")]
        public virtual ICollection<T_CM_DRILL_PLAN_DETAIL> Nav_listPlanDetail { get; set; }

        /// <summary>
        /// 审批状态
        /// </summary>
        [Description("审批状态")]
        [FormFieldTable]
        [FormFieldQuery]
        public PFStandardStatus STATUS { get; set; }

        /// <summary>
        /// 审批流
        /// </summary>
        [Description("审批流")]
        [DataFieldForeignKey("Nav_Approve")]
        public Guid? APPROVE_ID { get; set; }

        /// <summary>
        /// 审批流
        /// </summary>
        [Description("会议发起审批流")]
        public T_PF_APPROVE Nav_Approve { get; set; }
    }
}