using APT.BaseData.Domain.ApiModel.PF;
using APT.Infrastructure.Core;
using APT.Infrastructure.Utility;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.BaseData.Domain.Entities.FM
{
    [Description("角色表")]
    /// <summary>
    /// 角色
    /// </summary>
    [Redis("")]
    [IgnoreT4] public partial class T_FM_ROLE : MesEntityBase
	{
		public T_FM_ROLE()
		{
			this.ROLE_TYPE = 0;
		}

		[Description("编码")]
        /// <summary>
        /// 编码
        /// </summary>
		public string CODE { get; set; }
        [Description("名称")]
        /// <summary>
        /// 角色名称
        /// </summary>
        [AcronymField("NAME_ACRONYM")]
        public string NAME { get; set; }

        /// <summary>
        /// 名称首字母缩写
        /// </summary>
        [Description("名称首字母缩写")]
        public string NAME_ACRONYM { get; set; }
        /// <summary>
        /// 平台类型 PFPlatTypeEnum
        /// </summary>
        [EnumName("PFPlatTypeEnum")]
        [Description("平台类型")]
        public int PLATFORM_TYPE { get; set; }

		/// <summary>
		/// 角色类型
		/// </summary>
		[EnumName("FMRoleTypeEnum")]
		[Description("角色类型")]
		public int? ROLE_TYPE { get; set; }

		/// <summary>
		/// FMEnableStatusEnum
		/// </summary>
		[Description("启用标志")]
		[EnumName("FMEnableStatusEnum")]
		public int ENABLE_STATUS { get; set; }

		[Description("备注")]
		public string REMARK { get; set; }

        [Description("授权数据")]
        [DataFieldIngore]
        public List<string> CheckKeys { get; set; }

        //[Description("自由变更返工工序")]
        //public bool CAN_CHANGE_REWORK { get; set; }

        [Description("是否开启短信验证")]
        [FormFieldTable]
        [FormFieldEdit]
        public bool IS_CHECK_MESSAGE { get; set; }


        [Description("导航：菜单列表")]
        /// <summary>菜单授权列表</summary>
        public virtual ICollection<T_FM_ROLE_MENU_PERM> Nav_MenuPermissions { get; set; }

        [Description("导航：区域列表")]
        /// <summary>
        /// 区域信息列表
        /// </summary>
        public virtual ICollection<T_FM_PANEL_BELONG_ROLE> Nav_Panels { get; set; }

        [Description("导航：关联表")]
        /// <summary>
        /// 关联表
        /// </summary>
        public virtual ICollection<T_FM_USER_BELONG_ROLE> Nav_UserBelongRoles { get; set; }

        [Description("授权部门")]
        [DataFieldIngore]
        public List<OrgRuleDeptCheck> DepartmentCheckedKeys { get; set; }




    }
}
