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_CORRECTIVE_PREVENTIVE_EVALUATION_DETAIL : MesEntityBase
    {
        [Description("纠正与预防措施评估表")]
        [DataFieldForeignKey("Nav_Evaluation", "Nav_Details")]
        public Guid CORRECTIVE_PREVENTIVE_EVALUATION_ID { get; set; }

        [Description("纠正与预防措施评估表")]
        public virtual T_PE_CORRECTIVE_PREVENTIVE_EVALUATION Nav_Evaluation { get; set; }
        [Description("需纠正内容")]
        [FormFieldTable]
        [FormFieldQuery]
        public string CONTENTS { get; set; }

        [Description("纠正与预防措施")]
        [FormFieldTable]
        [FormFieldQuery]
        public string CORRECTIVE_PREVENTIVE { get; set; }
        [Description("落实情况")]
        [FormFieldTable]
        [FormFieldQuery]
        [EnumName("PESituationEnum")]
        public PESituationEnum? SITUATION { get; set; }

        [Description("未落实说明")]
        [FormFieldTable]
        [FormFieldQuery]
        public string NOT_CARRY_OUT { get; set; }

        [Description("附件上传")]
        [FormFieldEdit]
        public ICollection<T_PE_CORRECTIVE_PREVENTIVE_EVALUATION_DETAIL_FILE> Nav_Files { get; set; }
        [Description("评估结果")]
        [FormFieldTable]
        [FormFieldQuery]
        [EnumName("PEEvaluateResultEnum")]
        public PEEvaluateResultEnum? EVALUATE_RESULT { get; set; }
        [Description("评估人")]
        [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("措施考虑因素")]
        [FormFieldEdit]
        public ICollection<T_PE_CORRECTIVE_PREVENTIVE_EVALUATION_DETAIL_CONSIDER> Nav_MeasureConsider { get; set; }

        [Description("综合评审意见")]
        [FormFieldTable]
        [FormFieldQuery]
        public string COMMENTS { get; set; }
    }
}
