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.Text;

namespace APT.MS.Domain.Entities.SC.PE
{
    [Description("年度安全绩效监测计划细表")]
    public class T_PE_SAFETY_MONITOR_PLAN_DETAIL : MesEntityBase
    {
        [Description("年度安全绩效监测计划表")]
        [DataFieldForeignKey("Nav_MonitorPlan", "Nav_Details")]
        public Guid SAFETY_MONITOR_PLAN_ID { get; set; }

        [Description("年度安全绩效监测计划表")]
        public virtual T_PE_SAFETY_MONITOR_PLAN Nav_MonitorPlan { get; set; }
        [Description("监测内容")]
        [FormFieldTable]
        [FormFieldQuery]
        public string CONTENTS { get; set; }
        [Description("监测标准")]
        [FormFieldTable]
        [FormFieldQuery]
        public string STANDARD { get; set; }

        [Description("监测频率")]
        [FormFieldTable]
        [FormFieldQuery]
        [EnumName("PTAssessmentCycleEnums")]
        public PTAssessmentCycleEnums? ASSESSMENT_CYCLE { get; set; }
        [Description("监测方法与技术")]
        [FormFieldTable]
        [FormFieldQuery]
        public string METHOD { get; set; }
        [Description("负责人员ID")]
        [DataFieldForeignKey("Nav_User")]
        public Guid? USER_ID { get; set; }

        [Description("负责人员")]
        public virtual T_FM_USER Nav_User { get; set; }

        [Description("监测部门")]
        [DataFieldForeignKey("Nav_Department")]
        public Guid? DEPARTMENT_ID { get; set; }

        [Description("监测部门")]
        public virtual T_FM_DEPARTMENT Nav_Department { get; set; }
        [Description("监测项目")]
        [DataFieldForeignKey("Nav_Project")]
        public Guid? PROJECT_ID { get; set; }

        [Description("监测项目")]
        public virtual T_PE_MONITOR_PROJECT Nav_Project { get; set; }
        
        [Description("监测实况")]
        [DataFieldIngore]
        public string MONITOR_LIVE { get; set; }

        [Description("结果论述")]
        [DataFieldIngore]
        [EnumName("PTResultDiscussEnums")]
        public PTResultDiscussEnums? RESULT_DISCUSS { get; set; }
        
        [Description("监测人员表")]
        [DataFieldIngore]
        public ICollection<T_PE_SAFETY_MONITOR_RECORD_USER> Nav_MonitorUser { get; set; }
    }
}
