using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.WB;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.WB
{
    /// <summary>
    /// 检查类型配置表
    /// </summary>
    [Description("检查类型配置表")]
    public class T_WB_CHECK_TYPE_ENUM : MesEntityBase
    {
        /// <summary>
        /// 名称
        /// </summary>
        [Description("名称")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(100)]
        public string NAME { get; set; }

        /// <summary>
        /// 生产单元
        /// </summary>
        [Description("生产单元")]
        [FormFieldTable]
        [FormFieldEdit]
        [EnumName("FMProductionUnit")]
        public string MineType { get; set; }

        /// <summary>
        /// 检查类型
        /// </summary>
        [Description("检查类型")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_CheckType")]
        public Guid? CHECK_TYPE_ID { get; set; }

        /// <summary>
        /// 检查类型
        /// </summary>
        [Description("检查类型")]
        public T_WB_CHECK_TYPE Nav_CheckType { get; set; }

        /// <summary>
        /// 接收人 建设项目现场负责人
        /// </summary>
        [Description("建设项目现场负责人")]
        public bool IS_SCENE_USERID { get; set; }

        /// <summary>
        /// 接收人 外包安全员
        /// </summary>
        [Description("外包安全员")]
        public bool IS_SAFE { get; set; }

        /// <summary>
        /// 触发部门
        /// </summary>
        [Description("触发部门")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Department")]
        public Guid? DEPARTMENT_ID { get; set; }
        /// <summary>
        /// 导航: 触发部门
        /// </summary>
        [Description("导航: 触发部门")]
        public T_FM_DEPARTMENT Nav_Department { get; set; }

        /// <summary>
        /// 触发对象
        /// </summary>
        [Description("触发对象")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Post")]
        public Guid? POST_ID { get; set; }
        /// <summary>
        /// 导航: 触发对象
        /// </summary>
        [Description("导航: 触发对象")]
        public T_FM_USER_POST Nav_Post { get; set; }

        /// <summary>
        /// 接收人
        /// </summary>
        [Description("接收人")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_User")]
        public Guid? USER_ID { get; set; }
        /// <summary>
        /// 接收人
        /// </summary>
        [Description("接收人")]
        public T_FM_USER  Nav_User { get; set; }


        /// <summary>
        /// 检查频率
        /// </summary>
        [Description("检查频率")]
        [FormFieldTable]
        [FormFieldEdit]
        public BSPLANCHECKFREQUENCYEnum PLANCHECKFREQUENCY { get; set; }

        /// <summary>
        /// 检查日期（日期 针对单次 有效） 例如：05-01,12-01
        /// </summary>
        [Description("检查日期")]
        [FormFieldEdit]
        [DataFieldLength(50)]
        public string RUNDATA { get; set; }

        /// <summary>
        /// 检查频率（日 针对每月/每季 有效）
        /// </summary>
        [Description("日")]
        [FormFieldEdit]
        public int? DATA { get; set; }

        /// <summary>
        /// 检查频率（星期 针对每周 有效）
        /// </summary>
        [Description("星期")]
        [EnumName("WEEKDATAEnum")]
        [FormFieldEdit]
        public int? WEEKDATA { get; set; }

        /// <summary>
        /// 跑批时间
        /// </summary>
        [Description("跑批时间")]
        [FormFieldEdit]
        [FormFieldTable]
        public DateTime RUNSETTIME { get; set; }

        /// <summary>
        /// 启用标志
        /// </summary>
        [Description("启用标志")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public FMEnableStatusEnum ENABLE_STATUS { get; set; }
    }
}
