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

namespace APT.MS.Domain.Entities.HM
{
    /// <summary>
    /// 危险源辨识明细
    /// </summary>
    [Description("危险源辨识明细")]
    public class T_HM_RISK_TASK_DETAIL : MesEntityBase
    {
        /// <summary>
        /// 计划ID
        /// </summary>
        [Description("计划ID")]
        [DataFieldForeignKey("Nav_Task", "Nav_Detail")]
        public Guid TASK_ID { get; set; }
        /// <summary>
        /// 导航属性：危险源计划
        /// </summary>
        [Description("导航属性：危险源计划")]
        public T_HM_RISK_TASK Nav_Task { get; set; }
        /// <summary>
        /// 辨识区域
        /// </summary>
        [Description("辨识区域")]
        [DataFieldForeignKey("Nav_Area")]
        [FormFieldEdit]
        public Guid AREA_ID { get; set; }
        /// <summary>
        /// 导航属性：辨识区域
        /// </summary>
        [Description("导航属性：辨识区域")]
        public T_HM_RISK_AREA Nav_Area { get; set; }
        /// <summary>
        /// 层级
        /// </summary>
        [Description("层级")]
        [FormFieldEdit]
        [EnumName("FMDepartmentType")]
        public FMDepartmentType LEVEL { get; set; }
        /// <summary>
        /// 导航属性：辨识人员
        /// </summary>
        [Description("导航属性：辨识人员")]
        [FormFieldEdit]
        public ICollection<T_HM_RISK_TASK_USER> Nav_Users { get; set; }
        /// <summary>
        /// 记录人员
        /// </summary>
        [Description("记录人员")]
        [DataFieldForeignKey("Nav_User")]
        [FormFieldEdit]
        public Guid? RECORD_USER_ID { get; set; }
        /// <summary>
        /// 导航属性：人员
        /// </summary>
        [Description("导航属性：人员")]
        public T_FM_USER Nav_User { get; set; }
        /// <summary>
        /// 处理状态（待处理，已同意）
        /// </summary>
        [EnumName("FOUserShiftStatusEnum")]
        [Description("处理状态")]
        [FormFieldEdit]
        public FOUserShiftStatusEnum DEAL_STATUS { get; set; }        
    }
}
