using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.SE;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace APT.MS.Domain.Entities.FO
{
    [Description("关键许可人员表")]
    public class T_FO_CRUCIAL_LICENSE_PERSON : MesEntityBase
    {
        [Description("关键许可工作表ID")]
        [DataFieldForeignKey("Nav_CrucialLicenseJob", "Nav_CrucialLicensePerson")]
        public Guid CRUCIAL_LICENSE_JOB_ID { get; set; }

        [Description("导航属性：关键许可工作表")]
        public virtual T_FO_CRUCIAL_LICENSE_JOB Nav_CrucialLicenseJob { get; set; }

        [Description("证件")]
        [FormFieldTable]
        [FormFieldQuery]
        public string JOB_DOCUMENT { get; set; }

        [Description("人员ID")]
        [DataFieldForeignKey("Nav_User")]
        public Guid? USER_ID { get; set; }

        [Description("导航属性：人员")]
        public virtual T_FM_USER Nav_User { get; set; }

        [Description("处理状态")]
        [EnumName("FOUserShiftStatusEnum")]     //为枚举（0待处理 1已处理）
        public FOUserShiftStatusEnum DEAL_STATUS { get; set; }

        [Description("人员证件")]
        [DataFieldForeignKey("Nav_Train")]
        public Guid? TRAIN_ID { get; set; }

        [Description("换证培训")]
        public virtual T_SE_RENEWAL_TRAIN Nav_Train { get; set; }

        [Description("是否外包")]
        [DataFieldIngore]
        public bool IS_OUTSOURCE { get; set; }

        [Description("相关方")]
        [DataFieldIngore]
        public Guid? RELATED_ID { get; set; }

        [Description("证件类型")]
        [EnumName("CertificateTypeEnum")]
        public CertificateTypeEnum? CERTIFICATE_TYPE { get; set; }

        [Description("有无证件")]
        public bool EXIST_CERTIFICATE { get; set; }
    }
}
