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

namespace APT.MS.Domain.Entities.SC.PR
{
    [Description("滑坡滚石监控处理记录表")]
    public class T_PR_LANDSLIDE_ROLLSTONE_MONITOR : MesEntityBase
    {
        [Description("记录人ID")]
        [DataFieldForeignKey("Nav_User")]
        public Guid? USER_ID { get; set; }

        [Description("记录人")]
        public virtual T_FM_USER Nav_User { get; set; }

        [Description("监测情况")]
        [EnumName("PRMonitorStatusEnum")]
        public PRMonitorStatusEnum? MONITOR_STATUS { get; set; }

        [Description("发生地点")]
        public string PLACE { get; set; }

        [Description("情况描述")]
        public string DESCRIPTION { get; set; }

        [Description("是否处理")]
        [EnumName("DisableStatusEnum")]
        public DisableStatusEnum? IS_DEAL { get; set; }

        [Description("是否需要外部协助")]
        [EnumName("DisableStatusEnum")]
        public DisableStatusEnum? IS_HELP { get; set; }

        [Description("未处理原因及建议")]
        public string REASON { get; set; }

        [Description("处理措施")]
        public string MEASURES { get; set; }

        [Description("处理措施是否可靠")]
        [EnumName("DisableStatusEnum")]
        public DisableStatusEnum? IS_RELIABLE { get; set; }

        [Description("验收意见")]
        public string OPINION { get; set; }

        [Description("状态")]
        [EnumName("PFStandardStatus")]
        public PFStandardStatus STATUS { get; set; }

        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }

        [Description("检测类型")]
        [EnumName("CheckTypeEnum")]
        public CheckTypeEnum? CHECK_TYPE { get; set; }

        [Description("导航属性：附件表")]
        [FormFieldEdit]
        public ICollection<T_PR_LANDSLIDE_ROLLSTONE_MONITOR_FILE> Nav_Files { get; set; }
    }
}
