using System;
using System.Data;
using System.Runtime.Serialization;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QMFrameWork.Data.Attributes;
using QMAPP.Entity;
using QMAPP.Entity.Sys;

namespace QMAPP.MD.Entity.Sys
{
    /// <summary>
    /// 用户信息
    /// 创建者:李炳海
    /// 创建日期:2013.1.17
    /// </summary>
    [DBTable(TableName = "T_QM_USERINFO", TimeStampColumn = "UpdateDate")]
    public class UserInfo : BaseEntity
    {
        /// <summary>
        /// 用户主键
        /// </summary>
       
        [DBColumn(ColumnName = "USERID", DataType = DbType.String, IsKey = true)]
        public string UserID { get; set; }

        /// <summary>
        /// 用户名
        /// </summary>
       
        [DBColumn(ColumnName = "USERNAME", DataType = DbType.String)]
        public string UserName { get; set; }

        /// <summary>
        /// 员工工号
        /// </summary>
       
        [DBColumn(ColumnName = "EMPLOYEENO", DataType = DbType.String)]
        public string EmployeeNO { get; set; }

        /// <summary>
        /// 员工姓名
        /// </summary>
       
        [DBColumn(ColumnName = "USERDES", DataType = DbType.String)]
        public string UserDes { get; set; }

        /// <summary>
        /// 助记码
        /// </summary>
       
        [DBColumn(ColumnName = "FASTKEY", DataType = DbType.String)]
        public string FastKey { get; set; }

        /// <summary>
        /// 密码
        /// </summary>
       
        [DBColumn(ColumnName = "PASSWORD", DataType = DbType.String)]
        public string PassWord { get; set; }

        /// <summary>
        /// 管理员标志 
        /// </summary>
       
        [DBColumn(ColumnName = "ISADMIN", DataType = DbType.String)]
        public string IsAdmin { get; set; }

        /// <summary>
        /// 所在机构
        /// </summary>
       
        [DBColumn(ColumnName = "ORGANID", DataType = DbType.String)]
        public string OrganID { get; set; }

        /// <summary>
        /// 电话号码
        /// </summary>
       
        [DBColumn(ColumnName = "TELEPHONE", DataType = DbType.String)]
        public string TelePhone { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
       
        [DBColumn(ColumnName = "REMARK", DataType = DbType.String)]
        public string Remark { get; set; }

        /// <summary>
        /// 删除标志
        /// </summary>
       
        [DBColumn(ColumnName = "FLGDEL", DataType = DbType.String)]
        public string FlgDel { get; set; }

        /// 创建日期
        /// </summary>  
       
        [DBColumn(ColumnName = "CREATEDATE", DataType = DbType.DateTime,DefaultValue=DataDefaultValue.SysDate)]
        public DateTime CreateDate { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
       
        [DBColumn(ColumnName = "CREATEUSER", DataType = DbType.String)]
        public string CreateUser { get; set; }

        /// <summary>
        /// 更新日期
        /// </summary>
       
        [DBColumn(ColumnName = "UPDATEDATE", DataType = DbType.DateTime)]
        public DateTime UpdateDate { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
       
        [DBColumn(ColumnName = "UPDATEUSER", DataType = DbType.String)]
        public string UpdateUser { get; set; }

        /// <summary>
        /// 权限设置
        /// </summary>
       
        public List<PowerRelation> Powers { get; set; }

        /// <summary>
        /// 角色列表 
        /// </summary>
       
        public List<UserRelationRole> Roles { get; set; }

        /// <summary>
        /// 仓库权限
        /// </summary>
       
        public List<UserCorpPower> CorpPowers { get; set; }

        /// <summary>
        /// 路线权限
        /// </summary>
       
        public List<UserLinePower> LinePowers { get; set; }

        /// <summary>
        /// 零件类别权限
        /// </summary>
       
        public List<UserMatSortPower> MatSortPowers { get; set; }

        /// <summary>
        /// 角色列表
        /// </summary>
       
        public string ROLELIST { get; set; }

        /// <summary>
        /// 仓库列表
        /// </summary>
       
        public string CORPLIST { get; set; }

        /// <summary>
        /// 路线列表
        /// </summary>
       
        public string LINELIST { get; set; }

        /// <summary>
        /// 零件类别列表
        /// </summary>
       
        public string MatSortLIST { get; set; }

        //仓库
       
        public string CorpID {get;set;}

        
        public string CORPNAME { get; set; }

        /// <summary>
        /// 是否为新记录
        /// </summary>
        public bool IsNewInfo { get; set; }

        /// <summary>
        /// 错误信息
        /// </summary>
        public string InfoError { get; set; }
    }
}