using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
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.LR
{
    /// <summary>
    /// 安全生产法律法规需求识别表
    /// </summary>
    [Description("安全生产法律法规需求识别表")]
    public class T_LR_DEMAND_DISTINGUISH : MesEntityBase
    {
        /// <summary>
        /// 名称
        /// </summary>
        [Description("名称")]
        [DataFieldLength(200)]
        public string NAME { get; set; }

        /// <summary>
        /// 统计年份
        /// </summary>
        [Description("统计年份")]
        [FormFieldTable]
        [FormFieldQuery]
        public int YEARS { get; set; }

        /// <summary>
        /// 识别时间
        /// </summary>
        [Description("识别时间")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public DateTime? DISTINGUISH_TIME { get; set; }

        /// <summary>
        /// 触发时间
        /// </summary>
        [Description("触发时间")]
        public DateTime? TRIGGER_TIME { get; set; }
        /// <summary>
        /// 截止时间
        /// </summary>
        [Description("截止时间")]
        public DateTime? END_TIME { get; set; }

        /// <summary>
        /// 识别状态 未识别 = 0,已识别 = 1,
        /// </summary>
        [Description("识别状态")]
        [EnumName("LRDistinguishEnum")]
        public LRDistinguishEnum DISTINGUISH_TYPE { get; set; }

        /// <summary>
        /// 识别部门ID
        /// </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>
        /// 识别人员ID
        /// </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("导航：识别法律法规")]
        [FormFieldEdit]
        public ICollection<T_LR_DEMAND_LAW> Nav_DemandLaw { get; set; }

        /// <summary>
        /// 导航：识别其他
        /// </summary>
        [Description("导航：识别其他")]
        [FormFieldEdit]
        public ICollection<T_LR_DEMAND_OTHER> Nav_DemandOther { get; set; }

        /// <summary>
        /// 导航：需求类别
        /// </summary>
        [Description("导航：需求类别")]
        [FormFieldEdit]
        public ICollection<T_LR_DEMAND_TYPE> Nav_DemandTypes { get; set; }
        /// <summary>
        /// 需求类别
        /// </summary>
        [Description("需求类别")]
        [DataFieldLength(200)]
        public string demandTypeStr { get; set; }
        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }
        [DataFieldIngore]
        public int IS_OVERTIME { get; set; }
    }
}
