using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.BS
{
    /// 
    /// 制定任务
    /// 
    [Description("制定任务")]
    public class T_BS_PLAN_SET : MesEntityBase
    {
        /// 
        /// 检查计划名称
        /// 
        [Description("制定任务名称")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldLength(200)]
        public string NAME { get; set; }
        /// 
        /// 检查类型
        /// 
        [Description("检查类型")]
        [DataFieldForeignKey("Nav_CheckType")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public Guid? CHECK_TYPE_ID { get; set; }
        /// 
        /// 导航:检查类型表
        /// 
        [Description("导航:检查类型")]
        public virtual T_BS_CHECK_TYPE Nav_CheckType { get; set; }
        /// 
        /// 检查层级
        /// 
        [Description("检查层级")]
        [DataFieldForeignKey("Nav_CheckTypeLevel")]
        [FormFieldTable]
        [FormFieldEdit]
        public Guid CHECK_TYPE_LEVEL_ID { get; set; }
        /// 
        /// 导航:检查层级
        /// 
        [Description("导航:检查层级")]
        public virtual T_BS_CHECK_TYPE_LEVEL Nav_CheckTypeLevel { get; set; }
        /// 
        /// 通知对象
        /// 
        [Description("通知对象")]
        [EnumName("BSPLANCHECKOBJECTEnum")]
        [FormFieldTable]
        [FormFieldEdit]
        public int PLANCHECKOBJECT { get; set; }
        /// 
        /// 检查频率
        /// 
        [Description("检查频率")]
        [EnumName("BSPLANCHECKFREQUENCYEnum")]
        [FormFieldTable]
        [FormFieldEdit]
        public int PLANCHECKFREQUENCY { get; set; }
        /// 
        /// 检查日期(日期 针对单次 有效) 例如:05-01,12-01
        /// 
        [Description("检查日期")]
        [FormFieldEdit]
        public string RUNDATA { get; set; }
        /// 
        /// 检查频率(日 针对每月/每季 有效)
        /// 
        [Description("日")]
        [FormFieldEdit]
        public int? DATA { get; set; }
        /// 
        /// 检查频率(星期 针对每周 有效)
        /// 
        [Description("星期")]
        [EnumName("WEEKDATAEnum")]
        [FormFieldEdit]
        public int? WEEKDATA { get; set; }
        /// 
        /// 检查时间
        /// 此字段在 SMS 判断 是否有值 判断  班组级安全检查 如果有值 不按排班处理(按组织结构)
        /// 
        [Description("检查时间")]
        [FormFieldEdit]
        [FormFieldTable]
        public DateTime? CHECKTIME { get; set; }
        /// 
        /// 跑批时间
        /// 
        [Description("跑批时间")]
        [FormFieldEdit]
        [FormFieldTable]
        public DateTime RUNSETTIME { get; set; }
        /// 
        /// 启用标志
        /// 
        [Description("启用标志")]
        [FormFieldTable]
        [FormFieldEdit]
        [EnumName("FMEnableStatusEnum")]
        public int ENABLE_STATUS { get; set; }
        /// 
        /// 检查范围
        /// 
        [Description("检查范围")]
        public virtual ICollection Nav_ListSetObject { get; set; }
        /// 
        /// 检查部门范围
        /// 
        [Description("检查部门范围")]
        public virtual ICollection Nav_ListSetDepObject { get; set; }
    }
}