using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.MS.Domain.Entities.OH
{
    /// <summary>
    /// 职业病信息
    /// </summary>
    [Description("职业病信息")]
    public class T_OH_HEALTH_EXAM_RESULT_OCC_DISEASE : MesEntityBase
    {
        /// <summary>
        /// 体检结果ID
        /// </summary>
        [Description("体检结果")]
        [DataFieldForeignKey("Nav_Result", "Nav_OccDiseaseList")]
        public Guid? RESULT_ID { get; set; }

        /// <summary>
        /// 导航: 体检结果
        /// </summary>
        [Description("导航: 体检结果")]
        public T_OH_HEALTH_EXAM_RESULT Nav_Result { get; set; }

        /// <summary>
        /// 是否启动医疗救助
        /// </summary>
        [Description("是否启动医疗救助")]
        public YesNoEnum MEDICAL_AID { get; set; }

        /// <summary>
        /// 职业病名称ID
        /// </summary>
        [Description("职业病名称")]
        [DataFieldForeignKey("Nav_OccDisease")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public Guid? OCC_DISEASE_ID { get; set; }

        /// <summary>
        /// 导航: 职业病名称
        /// </summary>
        [Description("导航: 职业病名称")]
        public T_OH_HEALTH_EXAM_OCC_DISEASE Nav_OccDisease { get; set; }

        /// <summary>
        /// 诊断机构
        /// </summary>
        [Description("诊断机构")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldLength(200)]
        public string DIAGNOSE_AGENCY { get; set; }

        /// <summary>
        /// 诊断方式
        /// </summary>
        [Description("诊断方式")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldLength(200)]
        public string DIAGNOSE_METHOD { get; set; }

        /// <summary>
        /// 职业病严重程度ID
        /// </summary>
        [Description("职业病严重程度")]
        [DataFieldForeignKey("Nav_OccDiseaseSeverity")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public Guid? OCC_DISEASE_SEVERITY_ID { get; set; }

        /// <summary>
        /// 导航: 职业病严重程度
        /// </summary>
        [Description("导航: 职业病严重程度")]
        public T_OH_HEALTH_EXAM_OCC_DISEASE_SEVERITY_LEVEL Nav_OccDiseaseSeverity { get; set; }

        /// <summary>
        /// 病状描述
        /// </summary>
        [Description("病状描述")]
        [FormFieldEdit]
        [DataFieldLength(600)]
        public string DESCRIPTION { get; set; }

        /// <summary>
        /// 入厂前工作史
        /// </summary>
        [Description("入厂前工作史")]
        [FormFieldEdit]
        [DataFieldLength(1000)]
        public string OCC_HISTORY { get; set; }

        /// <summary>
        /// 导航属性：附件
        /// </summary>
        [Description("导航属性：附件")]
        public ICollection<T_OH_HEALTH_EXAM_RESULT_OCC_DISEASE_FILE> Nav_Files { get; set; }
    }
}