
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_HAZARD_RECORD_DETAIL : MesEntityBase
    {
        /// <summary>
        /// 风险记录表ID
        /// </summary>
        [Description("风险记录表ID")]
        [DataFieldForeignKey("Nav_HazardRecord", "Nav_Details")]
        public Guid RECORD_ID { get; set; }

        /// <summary>
        /// 导航属性：风险记录表
        /// </summary>
        [Description("导航属性：风险记录表")]
        public T_HM_HAZARD_RECORD Nav_HazardRecord { get; set; }

        /// <summary>
        /// 职业危害库ID
        /// </summary>
        [Description("职业危害库")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_EvaluateHazard")]
        public Guid? EVALUATE_HAZARD_ID { get; set; }

        /// <summary>
        /// 导航属性：职业危害库
        /// </summary>
        [Description("导航属性：职业危害库")]
        public T_HM_EVALUATE_HAZARD Nav_EvaluateHazard { get; set; }

        /// <summary>
        /// 辨识对象ID
        /// </summary>
        [Description("辨识对象")]
        [DataFieldForeignKey("Nav_Identifying")]
        [FormFieldEdit]
        public Guid IDENTIFYING_ID { get; set; }
        /// <summary>
        /// 导航属性：辨识对象
        /// </summary>
        [Description("导航属性：辨识对象")]
        public T_HM_IDENTIFYING Nav_Identifying { get; set; }

        /// <summary>
        /// 辨识区域ID
        /// </summary>
        [Description("辨识区域")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Area")]
        public Guid? AREA_ID { get; set; }

        /// <summary>
        /// 导航属性：辨识区域
        /// </summary>
        [Description("导航属性：辨识区域")]
        public T_HM_RISK_AREA Nav_Area { get; set; }

        /// <summary>
        /// 职业危害位置
        /// </summary>
        [Description("职业危害位置")]
        [FormFieldEdit]
        [DataFieldLength(200)]
        public string HAZARD_POSITION { get; set; }

        /// <summary>
        /// 暴露时间(一位小数)
        /// </summary>
        [Description("暴露时间")]
        [FormFieldEdit]
        public decimal EXPOSURE_TIME { get; set; }

        /// <summary>
        /// 暴露限值(一位小数)
        /// </summary>
        [Description("暴露限值")]
        [FormFieldEdit]
        [DataFieldLength(100)]
        public string EXPOSURE_LIMIT_VALUE { get; set; }

        /// <summary>
        /// 暴露人数
        /// </summary>
        [Description("暴露人数")]
        [FormFieldEdit]
        public int EXPOSURE_NUMBER { get; set; }

        /// <summary>
        /// 状态 有效 = 0,作废 = 1,
        /// </summary>
        [Description("状态")]
        [EnumName("HMOperationStepEnum")]
        public HMOperationStepEnum HAZARD_STATUS { get; set; }

        /// <summary>
        /// 可能造成的职业风险ID
        /// </summary>
        [Description("可能造成的职业风险")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_OccupationalRisk")]
        public Guid? OCCUPATIONALRISK_ID { get; set; }

        /// <summary>
        /// 导航属性：可能造成的职业风险
        /// </summary>
        [Description("导航属性：可能造成的职业风险")]
        public T_HM_OCCUPATIONAL_RISK Nav_OccupationalRisk { get; set; }
        /// <summary>
        /// 修改状态 数据库 = 0,修改=1,新增=2
        /// </summary>
        [Description("修改状态")]
        [EnumName("HMModifyEnum")]
        [FormFieldEdit]
        public HMModifyEnum MODIFY_TYPE { get; set; }
    }
}

