using APT.BaseData.Domain.Entities.FM;
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.HM
{
    /// <summary>
    /// 作业任务识别表
    /// </summary>
    [Description("作业任务识别表")]
    public class T_HM_OPERATION_TASK_DISTINGUISH : MesEntityBase
    {

        /// <summary>
        /// 编码
        /// </summary>
        [Description("编码")]
        [DataFieldLength(50)]
        [FormFieldTable]    
        [FormFieldEdit]
        public string CODE { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        [Description("名称")]
        [DataFieldLength(50)]
        [FormFieldTable]    
        [FormFieldQuery]
        [FormFieldEdit]
        public string NAME { get; set; }

        /// <summary>
        /// 完成时间
        /// </summary>
        [Description("完成时间")]
        [FormFieldTable]    
        [FormFieldQuery]
        [FormFieldEdit]
        public DateTime COMPLETION_TIME { get; set; }

        /// <summary>
        /// 状态(待通知 = 0,待填写 = 1,待同意 = 2,审核中 = 3,已审核 = 4,审批拒绝 = 9,)
        /// </summary>
        [Description("状态")]
        [EnumName("HMOTDAStatusEnum")]
        [FormFieldTable]    
        [FormFieldQuery]
        [FormFieldEdit]
        public HMOTDAStatusEnum STATUS { get; set; }
        /// <summary>
        /// 识别部门
        /// </summary>
        [Description("识别部门")]
        [FormFieldTable]    
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Department")]

        public Guid DEPARTMENT_ID { get; set; }

        /// <summary>
        /// 导航：识别部门
        /// </summary>
        [Description("导航：识别部门")]
        public virtual T_FM_DEPARTMENT Nav_Department { get; set; }

        /// <summary>
        /// 导航：识别人员
        /// </summary>
        [Description("导航：识别人员")]
        [FormFieldEdit]
        public virtual ICollection<T_HM_OPERATION_TASK_DISTINGUISH_USER> Nav_Users { get; set; }

        /// <summary>
        /// 导航：作业任务识别详情
        /// </summary>
        [Description("导航：作业任务识别详情")]
        [FormFieldEdit]
        public virtual ICollection<T_HM_OPERATION_TASK_DISTINGUISH_DETAIL> Nav_DistinguishDetails { get; set; }

        /// <summary>
        /// 导航：作业任务识别附件
        /// </summary>
        [Description("导航：作业任务识别附件")]
        [FormFieldEdit]
        public virtual ICollection<T_HM_OPERATION_TASK_DISTINGUISH_FILE> Nav_Files { get; set; }


    }
}
