Ejemplo n.º 1
0
        /// <summary>
        /// 同步用户权限
        /// </summary>
        internal void SyncUser(PositionPersonnelData personnel)
        {
            if (personnel == null)
            {
                return;
            }
            _posAccess.DataBase = Access.DataBase;

            if (personnel.AuditState != AuditStateType.Pass || personnel.DepartmentId <= 0)
            {
                DiscardUser(personnel);
                return;
            }
            if (personnel.UserId <= 0)
            {
                InsertUser(personnel);
                return;
            }

            var user = Access.First(personnel.UserId);

            if (user == null)
            {
                InsertUser(personnel);
                return;
            }
            EnableUser(user, personnel);
        }
 /// <summary>
 /// 读取Form传过来的数据
 /// </summary>
 /// <param name="data">数据</param>
 /// <param name="convert">转化器</param>
 protected void DefaultReadFormData(PositionPersonnelData data, FormConvert convert)
 {
     //数据
     data.Appellation        = convert.ToString("Appellation");
     data.OrganizePositionId = convert.ToInteger("OrganizePositionId");
     //备注
     data.Memo = convert.ToString("Memo");
 }
Ejemplo n.º 3
0
 /// <summary>
 ///     保存完成后期处理(Insert或Update)
 /// </summary>
 /// <param name="entity"></param>
 protected sealed override void OnDataSaved(PositionPersonnelData entity)
 {
     using (var proxy = new RedisProxy(RedisProxy.DbComboCache))
     {
         proxy.RemoveKey(treeKey);
         proxy.RemoveKey(comboKey);
     }
 }
Ejemplo n.º 4
0
 private static void CacheUser(PositionPersonnelData personnel, UserData user)
 {
     using (var proxy = new RedisProxy(RedisProxy.DbSystem))
     {
         Cache(proxy, user);
         proxy.SetValue(BuildDataKey("depid", personnel.UserId), personnel.DepartmentId);
         proxy.SetEntity(personnel);
     }
 }
Ejemplo n.º 5
0
 private void EnableUser(UserData user, PositionPersonnelData personnel)
 {
     user.UserName = personnel.Mobile;
     user.RealName = personnel.Personnel;
     if (personnel.RoleId > 0)
     {
         user.RoleId = personnel.RoleId;
     }
     else if (user.RoleId > 0)
     {
         _posAccess.SetValue(p => p.RoleId, user.RoleId, personnel.PersonnelId);
     }
     user.AuditState = AuditStateType.Pass;
     user.DataState  = DataStateType.Enable;
     user.Memo       = personnel.Department;
     Access.Update(user);
     LogRecorder.RecordLoginLog("用户{0}-{1}({2})已重新启用", personnel.Personnel, user.UserName, user.Id);
     CacheUser(personnel, user);
 }
Ejemplo n.º 6
0
        private void InsertUser(PositionPersonnelData personnel)
        {
            UserData user;

            Access.Insert(user = new UserData
            {
                Id         = personnel.PersonnelId,
                UserName   = personnel.Mobile,
                RealName   = personnel.Personnel,
                RoleId     = personnel.RoleId,
                PassWord   = default_password,
                AuditState = AuditStateType.Pass,
                DataState  = DataStateType.Enable,
                Memo       = personnel.Department
            });
            var pAccess = new PersonnelDataAccess();

            pAccess.SetValue(p => p.UserId, user.Id, personnel.PersonnelId);
            LogRecorder.RecordLoginLog("用户{0}-{1}({2})已加入系统", user.UserName, personnel.Personnel, user.Id);
            CacheUser(personnel, user);
        }
Ejemplo n.º 7
0
        private void DiscardUser(PositionPersonnelData personnel)
        {
            if (personnel.UserId <= 0)
            {
                return;
            }
            var user = Details(personnel.UserId);

            if (user == null)
            {
                return;
            }
            user.DataState  = DataStateType.Discard;
            user.AuditState = AuditStateType.None;
            Access.Update(user);
            LogRecorder.RecordLoginLog(personnel.DepartmentId == 0
                    ? "用户{0}-{1}因为没有分配职位而被系统废弃"
                    : "用户{0}-{1}职位分配数据未审核通过被系统废弃"
                                       , personnel.Personnel
                                       , personnel.UserId);
            CacheUser(personnel, user);
        }
 /// <summary>
 /// 载入数据
 /// </summary>
 /// <param name="reader">数据读取器</param>
 /// <param name="entity">读取数据的实体</param>
 public override void SimpleLoad(MySqlDataReader reader, PositionPersonnelData entity)
 {
     using (new EditScope(entity.__EntityStatus, EditArrestMode.All, false))
     {
         entity._id = (int)reader.GetInt32(0);
         if (!reader.IsDBNull(1))
         {
             entity._personnel = reader.GetString(1).ToString();
         }
         if (!reader.IsDBNull(2))
         {
             entity._appellation = reader.GetString(2).ToString();
         }
         if (!reader.IsDBNull(3))
         {
             entity._position = reader.GetString(3).ToString();
         }
         if (!reader.IsDBNull(4))
         {
             entity._role = reader.GetString(4).ToString();
         }
         if (!reader.IsDBNull(5))
         {
             entity._six = (bool)reader.GetBoolean(5);
         }
         if (!reader.IsDBNull(6))
         {
             try{ entity._birthday = reader.GetMySqlDateTime(6).Value; }catch {}
         }
         if (!reader.IsDBNull(7))
         {
             entity._tel = reader.GetString(7).ToString();
         }
         if (!reader.IsDBNull(8))
         {
             entity._mobile = reader.GetString(8).ToString();
         }
         if (!reader.IsDBNull(9))
         {
             entity._organization = reader.GetString(9).ToString();
         }
         if (!reader.IsDBNull(10))
         {
             entity._department = reader.GetString(10).ToString();
         }
         if (!reader.IsDBNull(11))
         {
             entity._memo = reader.GetString(11).ToString();
         }
         if (!reader.IsDBNull(12))
         {
             entity._datastate = (DataStateType)reader.GetInt32(12);
         }
         if (!reader.IsDBNull(13))
         {
             entity._isfreeze = (bool)reader.GetBoolean(13);
         }
         if (!reader.IsDBNull(14))
         {
             entity._auditstate = (AuditStateType)reader.GetInt32(14);
         }
     }
 }
 /// <summary>
 /// 设置插入数据的命令
 /// </summary>
 /// <param name="entity">实体对象</param>
 /// <param name="cmd">命令</param>
 /// <returns>返回真说明要取主键</returns>
 protected sealed override bool SetInsertCommand(PositionPersonnelData entity, MySqlCommand cmd)
 {
     cmd.CommandText = InsertSqlCode;
     CreateFullSqlParameter(entity, cmd);
     return(true);
 }
 /// <summary>
 /// 设置更新数据的命令
 /// </summary>
 /// <param name="entity">实体对象</param>
 /// <param name="cmd">命令</param>
 protected sealed override void SetUpdateCommand(PositionPersonnelData entity, MySqlCommand cmd)
 {
     cmd.CommandText = UpdateSqlCode;
     CreateFullSqlParameter(entity, cmd);
 }
        /// <summary>
        /// 设置插入数据的命令
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <param name="cmd">命令</param>
        /// <returns>返回真说明要取主键</returns>
        private void CreateFullSqlParameter(PositionPersonnelData entity, MySqlCommand cmd)
        {
            //02:标识(Id)
            cmd.Parameters.Add(new MySqlParameter("Id", MySqlDbType.Int32)
            {
                Value = entity.Id
            });
            //03:员工标识(PersonnelId)
            cmd.Parameters.Add(new MySqlParameter("PersonnelId", MySqlDbType.Int32)
            {
                Value = entity.PersonnelId
            });
            //04:职员(Personnel)
            var isNull    = string.IsNullOrWhiteSpace(entity.Personnel);
            var parameter = new MySqlParameter("Personnel", MySqlDbType.VarString, isNull ? 10 : (entity.Personnel).Length);

            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Personnel;
            }
            cmd.Parameters.Add(parameter);
            //05:称谓(Appellation)
            isNull    = string.IsNullOrWhiteSpace(entity.Appellation);
            parameter = new MySqlParameter("Appellation", MySqlDbType.VarString, isNull ? 10 : (entity.Appellation).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Appellation;
            }
            cmd.Parameters.Add(parameter);
            //06:职位标识(OrganizePositionId)
            cmd.Parameters.Add(new MySqlParameter("OrganizePositionId", MySqlDbType.Int32)
            {
                Value = entity.OrganizePositionId
            });
            //07:职位(Position)
            isNull    = string.IsNullOrWhiteSpace(entity.Position);
            parameter = new MySqlParameter("Position", MySqlDbType.VarString, isNull ? 10 : (entity.Position).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Position;
            }
            cmd.Parameters.Add(parameter);
            //08:角色标识(RoleId)
            cmd.Parameters.Add(new MySqlParameter("RoleId", MySqlDbType.Int32)
            {
                Value = entity.RoleId
            });
            //09:角色(Role)
            isNull    = string.IsNullOrWhiteSpace(entity.Role);
            parameter = new MySqlParameter("Role", MySqlDbType.VarString, isNull ? 10 : (entity.Role).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Role;
            }
            cmd.Parameters.Add(parameter);
            //10:性别(Six)
            cmd.Parameters.Add(new MySqlParameter("Six", MySqlDbType.Byte)
            {
                Value = entity.Six ? (byte)1 : (byte)0
            });
            //11:生日(Birthday)
            isNull    = entity.Birthday.Year < 1900;
            parameter = new MySqlParameter("Birthday", MySqlDbType.DateTime);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Birthday;
            }
            cmd.Parameters.Add(parameter);
            //12:电话(Tel)
            isNull    = string.IsNullOrWhiteSpace(entity.Tel);
            parameter = new MySqlParameter("Tel", MySqlDbType.VarString, isNull ? 10 : (entity.Tel).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Tel;
            }
            cmd.Parameters.Add(parameter);
            //13:手机(Mobile)
            isNull    = string.IsNullOrWhiteSpace(entity.Mobile);
            parameter = new MySqlParameter("Mobile", MySqlDbType.VarString, isNull ? 10 : (entity.Mobile).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Mobile;
            }
            cmd.Parameters.Add(parameter);
            //14:机构标识(OrganizationId)
            cmd.Parameters.Add(new MySqlParameter("OrganizationId", MySqlDbType.Int32)
            {
                Value = entity.OrganizationId
            });
            //15:所在机构(Organization)
            isNull    = string.IsNullOrWhiteSpace(entity.Organization);
            parameter = new MySqlParameter("Organization", MySqlDbType.VarString, isNull ? 10 : (entity.Organization).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Organization;
            }
            cmd.Parameters.Add(parameter);
            //16:部门外键(DepartmentId)
            cmd.Parameters.Add(new MySqlParameter("DepartmentId", MySqlDbType.Int32)
            {
                Value = entity.DepartmentId
            });
            //17:部门(Department)
            isNull    = string.IsNullOrWhiteSpace(entity.Department);
            parameter = new MySqlParameter("Department", MySqlDbType.VarString, isNull ? 10 : (entity.Department).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Department;
            }
            cmd.Parameters.Add(parameter);
            //18:备注(Memo)
            isNull    = string.IsNullOrWhiteSpace(entity.Memo);
            parameter = new MySqlParameter("Memo", MySqlDbType.Text, isNull ? 10 : (entity.Memo).Length);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.Memo;
            }
            cmd.Parameters.Add(parameter);
            //19:数据状态(DataState)
            cmd.Parameters.Add(new MySqlParameter("DataState", MySqlDbType.Int32)
            {
                Value = (int)entity.DataState
            });
            //20:数据是否已冻结(IsFreeze)
            cmd.Parameters.Add(new MySqlParameter("IsFreeze", MySqlDbType.Byte)
            {
                Value = entity.IsFreeze ? (byte)1 : (byte)0
            });
            //21:制作人(AuthorID)
            cmd.Parameters.Add(new MySqlParameter("AuthorID", MySqlDbType.Int32)
            {
                Value = entity.AuthorID
            });
            //22:制作时间(AddDate)
            isNull    = entity.AddDate.Year < 1900;
            parameter = new MySqlParameter("AddDate", MySqlDbType.DateTime);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.AddDate;
            }
            cmd.Parameters.Add(parameter);
            //23:最后修改者(LastReviserID)
            cmd.Parameters.Add(new MySqlParameter("LastReviserID", MySqlDbType.Int32)
            {
                Value = entity.LastReviserID
            });
            //24:最后修改日期(LastModifyDate)
            isNull    = entity.LastModifyDate.Year < 1900;
            parameter = new MySqlParameter("LastModifyDate", MySqlDbType.DateTime);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.LastModifyDate;
            }
            cmd.Parameters.Add(parameter);
            //25:审核状态(AuditState)
            cmd.Parameters.Add(new MySqlParameter("AuditState", MySqlDbType.Int32)
            {
                Value = (int)entity.AuditState
            });
            //26:审核人(AuditorId)
            cmd.Parameters.Add(new MySqlParameter("AuditorId", MySqlDbType.Int32)
            {
                Value = entity.AuditorId
            });
            //27:审核时间(AuditDate)
            isNull    = entity.AuditDate.Year < 1900;
            parameter = new MySqlParameter("AuditDate", MySqlDbType.DateTime);
            if (isNull)
            {
                parameter.Value = DBNull.Value;
            }
            else
            {
                parameter.Value = entity.AuditDate;
            }
            cmd.Parameters.Add(parameter);
            //29:系统用户外键(UserId)
            cmd.Parameters.Add(new MySqlParameter("UserId", MySqlDbType.Int32)
            {
                Value = entity.UserId
            });
            //30:级别(OrgLevel)
            cmd.Parameters.Add(new MySqlParameter("OrgLevel", MySqlDbType.Int32)
            {
                Value = entity.OrgLevel
            });
        }
 /// <summary>
 /// 载入数据
 /// </summary>
 /// <param name="reader">数据读取器</param>
 /// <param name="entity">读取数据的实体</param>
 protected sealed override void LoadEntity(MySqlDataReader reader, PositionPersonnelData entity)
 {
     using (new EditScope(entity.__EntityStatus, EditArrestMode.All, false))
     {
         entity._id          = (int)reader.GetInt32(0);
         entity._personnelid = (int)reader.GetInt32(1);
         if (!reader.IsDBNull(2))
         {
             entity._personnel = reader.GetString(2).ToString();
         }
         if (!reader.IsDBNull(3))
         {
             entity._appellation = reader.GetString(3).ToString();
         }
         entity._organizepositionid = (int)reader.GetInt32(4);
         if (!reader.IsDBNull(5))
         {
             entity._position = reader.GetString(5).ToString();
         }
         if (!reader.IsDBNull(6))
         {
             entity._roleid = (int)reader.GetInt32(6);
         }
         if (!reader.IsDBNull(7))
         {
             entity._role = reader.GetString(7).ToString();
         }
         if (!reader.IsDBNull(8))
         {
             entity._six = (bool)reader.GetBoolean(8);
         }
         if (!reader.IsDBNull(9))
         {
             try{ entity._birthday = reader.GetMySqlDateTime(9).Value; }catch {}
         }
         if (!reader.IsDBNull(10))
         {
             entity._tel = reader.GetString(10).ToString();
         }
         if (!reader.IsDBNull(11))
         {
             entity._mobile = reader.GetString(11).ToString();
         }
         if (!reader.IsDBNull(12))
         {
             entity._organizationid = (int)reader.GetInt32(12);
         }
         if (!reader.IsDBNull(13))
         {
             entity._organization = reader.GetString(13).ToString();
         }
         if (!reader.IsDBNull(14))
         {
             entity._departmentid = (int)reader.GetInt32(14);
         }
         if (!reader.IsDBNull(15))
         {
             entity._department = reader.GetString(15).ToString();
         }
         if (!reader.IsDBNull(16))
         {
             entity._memo = reader.GetString(16).ToString();
         }
         if (!reader.IsDBNull(17))
         {
             entity._datastate = (DataStateType)reader.GetInt32(17);
         }
         if (!reader.IsDBNull(18))
         {
             entity._isfreeze = (bool)reader.GetBoolean(18);
         }
         if (!reader.IsDBNull(19))
         {
             entity._authorid = (int)reader.GetInt32(19);
         }
         if (!reader.IsDBNull(20))
         {
             try{ entity._adddate = reader.GetMySqlDateTime(20).Value; }catch {}
         }
         if (!reader.IsDBNull(21))
         {
             entity._lastreviserid = (int)reader.GetInt32(21);
         }
         if (!reader.IsDBNull(22))
         {
             try{ entity._lastmodifydate = reader.GetMySqlDateTime(22).Value; }catch {}
         }
         if (!reader.IsDBNull(23))
         {
             entity._auditstate = (AuditStateType)reader.GetInt32(23);
         }
         if (!reader.IsDBNull(24))
         {
             entity._auditorid = (int)reader.GetInt32(24);
         }
         if (!reader.IsDBNull(25))
         {
             try{ entity._auditdate = reader.GetMySqlDateTime(25).Value; }catch {}
         }
         if (!reader.IsDBNull(26))
         {
             entity._userid = (int)reader.GetInt32(26);
         }
         if (!reader.IsDBNull(27))
         {
             entity._orglevel = (int)reader.GetInt32(27);
         }
     }
 }
        /// <summary>
        /// 取得仅更新的SQL语句
        /// </summary>
        internal string GetModifiedSqlCode(PositionPersonnelData data)
        {
            if (data.__EntityStatusNull || !data.__EntityStatus.IsModified)
            {
                return(";");
            }
            StringBuilder sql = new StringBuilder();

            sql.AppendLine("UPDATE `tb_sys_position_personnel` SET");
            //员工标识
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_PersonnelId] > 0)
            {
                sql.AppendLine("       `personnel_id` = ?PersonnelId");
            }
            //称谓
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_Appellation] > 0)
            {
                sql.AppendLine("       `appellation` = ?Appellation");
            }
            //职位标识
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_OrganizePositionId] > 0)
            {
                sql.AppendLine("       `organize_position_id` = ?OrganizePositionId");
            }
            //备注
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_Memo] > 0)
            {
                sql.AppendLine("       `memo` = ?Memo");
            }
            //数据状态
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_DataState] > 0)
            {
                sql.AppendLine("       `data_state` = ?DataState");
            }
            //数据是否已冻结
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_IsFreeze] > 0)
            {
                sql.AppendLine("       `is_freeze` = ?IsFreeze");
            }
            //制作人
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_AuthorID] > 0)
            {
                sql.AppendLine("       `author_id` = ?AuthorID");
            }
            //制作时间
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_AddDate] > 0)
            {
                sql.AppendLine("       `add_date` = ?AddDate");
            }
            //最后修改者
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_LastReviserID] > 0)
            {
                sql.AppendLine("       `last_reviser_id` = ?LastReviserID");
            }
            //最后修改日期
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_LastModifyDate] > 0)
            {
                sql.AppendLine("       `last_modify_date` = ?LastModifyDate");
            }
            //审核状态
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_AuditState] > 0)
            {
                sql.AppendLine("       `audit_state` = ?AuditState");
            }
            //审核人
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_AuditorId] > 0)
            {
                sql.AppendLine("       `auditor_id` = ?AuditorId");
            }
            //审核时间
            if (data.__EntityStatus.ModifiedProperties[PositionPersonnelData.Real_AuditDate] > 0)
            {
                sql.AppendLine("       `audit_date` = ?AuditDate");
            }
            sql.Append(" WHERE `id` = ?Id;");
            return(sql.ToString());
        }