예제 #1
0
        /// <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);
            }
        }
예제 #2
0
 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);
     }
 }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }