using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.BS;
using APT.MS.Domain.Enums;
using APT.MS.Domain.Enums.SK;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace APT.MS.Domain.Entities.SK
{
    /// 
    /// 制定任务
    /// 
    [Description("制定任务")]
    public class T_SK_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_SK_CHECK_TYPE Nav_CheckType { get; set; }
        [Description("检查层级")]
        [EnumName("SKDepartmentTypeEnum")]
        public SKDepartmentTypeEnum CHECK_TYPE { get; set; }
        /// 
        /// 通知对象
        /// 
        [Description("通知对象")]
        [EnumName("SKPLANCHECKOBJECTEnum")]
        public SKPLANCHECKOBJECTEnum PLANCHECKOBJECT { get; set; }
        [Description("检查周期")]
        [EnumName("SKPLANCHECKFREQUENCYEnum")]
        public SKPLANCHECKFREQUENCYEnum CHECK_CYCLE { get; set; }
        /// 
        /// 检查日期(日期 针对单次 有效) 例如:05-01,12-01
        /// 
        [Description("检查日期")]
        [FormFieldEdit]
        public string RUNDATA { get; set; }
        /// 
        /// 检查频率(第几月 针对每季 有效)
        /// 
        [Description("第几月")]
        [FormFieldEdit]
        public int? MONTH { get; set; }
        /// 
        /// 检查频率(日 针对每月/每季 有效)
        /// 
        [Description("日")]
        [FormFieldEdit]
        public int? DATA { get; set; }
        /// 
        /// 检查频率(星期 针对每周 有效)
        /// 
        [Description("星期")]
        [EnumName("WEEKDATAEnum")]
        [FormFieldEdit]
        public int? WEEKDATA { get; set; }
        /// 
        /// 检查时间
        /// 
        [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("检查范围")]
        [EnumName("SKProductionUnit")]
        public SKProductionUnit MineType { get; set; }
        /// 
        /// 检查部门范围
        /// 
        [Description("检查部门范围")]
        public virtual ICollection Nav_ListSetDepObject { get; set; }
        /// 
        /// 排除组织
        /// 
        [Description("排除组织")]
        public virtual ICollection Nav_ListDepOut { get; set; }
        /// 
        /// 检查区域
        /// 
        [Description("检查区域")]
        public virtual ICollection Nav_ListArea { get; set; }
        /// 
        /// 接收人
        /// 
        [Description("接收人")]
        [DataFieldForeignKey("Nav_UserSend")]
        public Guid? USER_ID_SEND { get; set; }
        /// 
        /// 接收人
        /// 
        [Description("接收人")]
        public virtual T_FM_USER Nav_UserSend { get; set; }
    }
}