/// <summary> /// 强制刷新部门 /// </summary> public static void UpdateDepts() { try { _depts = null; _allDepts = null; Maticsoft.BLL.SMT_ORG_INFO bll = new Maticsoft.BLL.SMT_ORG_INFO(); if (UserInfoHelper.UserInfo.USER_NAME == "admin" || PrivateMgr.FUN_POINTS.Contains(SYS_FUN_POINT.USER_PRIVATE_CONFIG)) { log.Debug("管理员加载部门..."); _depts = bll.GetModelList("1=1 order by ORDER_VALUE"); if (_allDepts == null) { _allDepts = new List <Maticsoft.Model.SMT_ORG_INFO>(); } _allDepts.Clear(); _allDepts.AddRange(_depts); } else { log.Debug("普通用户加载部门..."); _allDepts = bll.GetModelList("1=1 order by ORDER_VALUE"); Maticsoft.BLL.SMT_ROLE_FUN rbll = new Maticsoft.BLL.SMT_ROLE_FUN(); var funs = rbll.GetModelList("ROLE_TYPE=2 and ROLE_ID=" + UserInfoHelper.UserInfo.ROLE_ID);// _depts = bll.GetModelList("id in (select RF.FUN_ID from SMT_ROLE_FUN RF where RF.ROLE_TYPE=2 and RF.ROLE_ID=" + UserInfoHelper.UserInfo.ROLE_ID + ") order by ORDER_VALUE"); _depts = _allDepts.FindAll(m => funs.Exists(n => n.FUN_ID == m.ID)); } } catch (Exception ex) { WinInfoHelper.ShowInfoWindow(null, "获取区域列表异常:" + ex.Message); log.Error("获取区域列表异常:", ex); } }
public static void LoadPrivates() { if (UserInfoHelper.UserInfo.USER_NAME == "admin")//admin用户本身为超级用户 { Maticsoft.BLL.SMT_FUN_MENUPOINT bll = new Maticsoft.BLL.SMT_FUN_MENUPOINT(); var list = bll.GetModelList(""); CreateFunPoint(list); } else if (UserInfoHelper.UserInfo.ROLE_ID == null) { WinInfoHelper.ShowInfoWindow(null, "当前用户角色为空,没有权限!"); return; } else { Maticsoft.BLL.SMT_ROLE_FUN rbll = new Maticsoft.BLL.SMT_ROLE_FUN(); var rolefuns = rbll.GetModelList("ROLE_ID=" + UserInfoHelper.UserInfo.ROLE_ID + " and (ROLE_TYPE=1 or ROLE_TYPE is null)");//获取菜单功能 if (rolefuns.Count == 0) { WinInfoHelper.ShowInfoWindow(null, "当前用户没有权限!"); return; } string str = ""; foreach (var item in rolefuns) { str += item.FUN_ID + ","; } str = str.TrimEnd(','); Maticsoft.BLL.SMT_FUN_MENUPOINT bll = new Maticsoft.BLL.SMT_FUN_MENUPOINT(); var list = bll.GetModelList("ID IN (" + str + ")"); CreateFunPoint(list); } }
private void FrmRoleFunSelector_Load(object sender, EventArgs e) { if (_roleInfo != null) { CtrlWaiting waiting = new CtrlWaiting(() => { try { Maticsoft.BLL.SMT_FUN_MENUPOINT funmPBll = new Maticsoft.BLL.SMT_FUN_MENUPOINT(); var models = funmPBll.GetModelList(""); Maticsoft.BLL.SMT_ROLE_FUN rolefunBll = new Maticsoft.BLL.SMT_ROLE_FUN(); _roleInfo.ROLE_FUNS = rolefunBll.GetModelList("ROLE_ID=" + _roleInfo.ID); this.Invoke(new Action(() => { var nodes = ToTree(models); advPrivate.Nodes.Clear(); advPrivate.Nodes.AddRange(nodes.ToArray()); advPrivate.ExpandAll(); if (_roleInfo.ROLE_FUNS.Count == 0) { return; } DoSelectMenuFuns(); if (deptTree.IsLoaded) { DoSelectDeptFuns(); } if (doorTree.IsLoaded) { DoSelectDoorFuns(); } if (faceDevTree.IsLoaded) { DoSelectFaceFuns(); } })); } catch (Exception ex) { WinInfoHelper.ShowInfoWindow(this, "加载权限异常:" + ex.Message); log.Error("加载权限异常:", ex); } }); waiting.Show(this, 300); } }
private void DoSave() { SelectRoles = advRoleTree.GetTypeList <Maticsoft.Model.SMT_ROLE_INFO>(new List <CheckState> { CheckState.Checked }); CtrlWaiting waiting = new CtrlWaiting(() => { try { Maticsoft.BLL.SMT_ROLE_FUN roleBll = new Maticsoft.BLL.SMT_ROLE_FUN(); Maticsoft.DBUtility.DbHelperSQL.ExecuteSql("delete from SMT_ROLE_FUN where FUN_ID=" + _orgId + " and ROLE_TYPE=2"); foreach (var item in SelectRoles) { roleBll.Add(new Maticsoft.Model.SMT_ROLE_FUN() { ROLE_ID = item.ID, ROLE_TYPE = 2, FUN_ID = _orgId }); } this.Invoke(new Action(() => { this.DialogResult = DialogResult.OK; this.Close(); })); } catch (Exception ex) { WinInfoHelper.ShowInfoWindow(this, "保存失败:" + ex.Message); log.Error("保存授权角色失败:", ex); } }); waiting.Show(this); }
private void btnOk_Click(object sender, EventArgs e) { //读取菜单权限 List <Maticsoft.Model.SMT_FUN_MENUPOINT> funs = GetSelectModels <Maticsoft.Model.SMT_FUN_MENUPOINT>(advPrivate, CheckState.Indeterminate, CheckState.Checked); //读取部门菜单 List <Maticsoft.Model.SMT_ORG_INFO> orgs = null; if (deptTree.IsLoaded) { orgs = GetSelectModels <Maticsoft.Model.SMT_ORG_INFO>(deptTree.Tree, CheckState.Checked); } //读取门参数 List <Maticsoft.Model.SMT_DOOR_INFO> doors = null; if (doorTree.IsLoaded) { doors = GetSelectModels <Maticsoft.Model.SMT_DOOR_INFO>(doorTree.Tree, CheckState.Checked); } //读取人脸参数 List <Maticsoft.Model.SMT_FACERECG_DEVICE> faces = null; if (faceDevTree.IsLoaded) { faces = GetSelectModels <Maticsoft.Model.SMT_FACERECG_DEVICE>(faceDevTree.Tree, CheckState.Checked); } CtrlWaiting waiting = new CtrlWaiting(() => { try { Maticsoft.BLL.SMT_ROLE_FUN rolefunBll = new Maticsoft.BLL.SMT_ROLE_FUN(); Maticsoft.DBUtility.DbHelperSQL.ExecuteSql("delete from SMT_ROLE_FUN where ROLE_ID=" + _roleInfo.ID + " and (ROLE_TYPE=1 or ROLE_TYPE is null)"); if (funs.Count > 0) { foreach (var item in funs) { Maticsoft.Model.SMT_ROLE_FUN rf = new Maticsoft.Model.SMT_ROLE_FUN(); rf.ROLE_ID = _roleInfo.ID; rf.FUN_ID = item.ID; rf.ROLE_TYPE = 1; rolefunBll.Add(rf); } } SmtLog.InfoFormat("用户", "更新角色:{0}菜单权限,个数:{1}.", _roleInfo.ROLE_NAME, funs.Count); if (orgs != null) { Maticsoft.DBUtility.DbHelperSQL.ExecuteSql("delete from SMT_ROLE_FUN where ROLE_ID=" + _roleInfo.ID + " and ROLE_TYPE=2"); foreach (var item in orgs) { Maticsoft.Model.SMT_ROLE_FUN rf = new Maticsoft.Model.SMT_ROLE_FUN(); rf.ROLE_ID = _roleInfo.ID; rf.FUN_ID = item.ID; rf.ROLE_TYPE = 2; rolefunBll.Add(rf); } SmtLog.InfoFormat("用户", "更新角色:{0}部门权限,个数:{1}.", _roleInfo.ROLE_NAME, orgs.Count); } if (doors != null) { Maticsoft.DBUtility.DbHelperSQL.ExecuteSql("delete from SMT_ROLE_FUN where ROLE_ID=" + _roleInfo.ID + " and ROLE_TYPE=3"); foreach (var item in doors) { Maticsoft.Model.SMT_ROLE_FUN rf = new Maticsoft.Model.SMT_ROLE_FUN(); rf.ROLE_ID = _roleInfo.ID; rf.FUN_ID = item.ID; rf.ROLE_TYPE = 3; rolefunBll.Add(rf); } SmtLog.InfoFormat("用户", "更新角色:{0}门禁权限,个数:{1}.", _roleInfo.ROLE_NAME, doors.Count); } if (faces != null) { Maticsoft.DBUtility.DbHelperSQL.ExecuteSql("delete from SMT_ROLE_FUN where ROLE_ID=" + _roleInfo.ID + " and ROLE_TYPE=4"); foreach (var item in faces) { Maticsoft.Model.SMT_ROLE_FUN rf = new Maticsoft.Model.SMT_ROLE_FUN(); rf.ROLE_ID = _roleInfo.ID; rf.FUN_ID = item.ID; rf.ROLE_TYPE = 4; rolefunBll.Add(rf); } SmtLog.InfoFormat("用户", "更新角色:{0}人脸设备权限,个数:{1}.", _roleInfo.ROLE_NAME, faces.Count); } this.Invoke(new Action(() => { this.DialogResult = DialogResult.OK; this.Close(); })); } catch (Exception ex) { WinInfoHelper.ShowInfoWindow(this, "更新角色权限失败:" + ex.Message); log.Error("更新角色权限失败:", ex); } }); waiting.Show(this); }