using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.WB;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.WB
{
    /// <summary>
    /// 外包单位安全检查记录
    /// </summary>
    [Description("外包单位安全检查记录")]
    [DataRuleField("DEPARTMENT_ID")]
    public class T_WB_SAFE_CHECK : MesEntityBase
    {
        /// <summary>
        /// 编号
        /// </summary>
        [Description("编号")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(50)]
        public string CODE { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        [Description("名称")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(200)]
        public string NAME { get; set; }

        /// <summary>
        /// 项目ID
        /// </summary>
        [Description("项目ID")]
        [DataFieldForeignKey("Nav_Project")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public Guid PROJECT_ID { get; set; }
        /// <summary>
        /// 导航: 项目
        /// </summary>
        [Description("导航: 项目")]
        public T_WB_PROJECT_INPUT Nav_Project { get; set; }
        /// <summary>
        /// 检查类别
        /// </summary>
        [Description("检查类别")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public WBCHECKCATAGORY CHECK_CATEGORY { get; set; }
        /// <summary>
        /// 检查时间
        /// </summary>
        [Description("检查时间")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public DateTime? CHECK_TIME { get; set; }
        /// <summary>
        /// 发现隐患条数
        /// </summary>
        [Description("发现隐患条数")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public int HIDDEN_DANGER_COUNT { get; set; }
        /// <summary>
        /// 检查照片
        /// </summary>
        [Description("检查照片")]
        public ICollection<T_WB_SAFE_CHECK_PHOTO> Nav_Photos { get; set; }
        /// <summary>
        /// 附件
        /// </summary>
        [Description("附件")]
        public ICollection<T_WB_SAFE_CHECK_FILE> Nav_Files { get; set; }
        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [FormFieldTable]
        [FormFieldQuery]
        [EnumName("PFStandardStatus")]
        public PFStandardStatus STATUS { get; set; }

        /// <summary>
        /// 外包单位
        /// </summary>
        [Description("外包单位")]
        [DataFieldForeignKey("Nav_Department")]
        public Guid? DEPARTMENT_ID { get; set; }

        /// <summary>
        /// 外包单位
        /// </summary>
        [Description("外包单位")]
        public T_FM_DEPARTMENT Nav_Department { get; set; }

        /// <summary>
        /// 生成关联ID CHECK_TYPE_ENUM_ID
        /// </summary>
        [Description("生成关联ID")]
        public Guid? PLAN_SET_ID { get; set; }

        /// <summary>
        /// 检查类型
        /// </summary>
        [Description("检查类型")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_CheckType")]
        public Guid? CHECK_TYPE_ID { get; set; }
        /// <summary>
        /// 导航: 检查类型 T_WB_CHECK_TYPE_ENUM
        /// </summary>
        [Description("导航: 检查类型")]
        public T_WB_CHECK_TYPE Nav_CheckType { get; set; }
    }
}
