组织机构上下级同级用户以及数据权限控制|C/S框架网
作者:C/S框架网|www.cscode.ne  发布日期:2019-03-14 17:38:25
  组织机构上下级同级用户以及数据权限控制|C/S框架网

查询上下级及同级用户以及数据权限控制适用CSFrameworkV4.x(企业版)CSFrameworkV5.x(旗舰版)
本文涵盖三个部分的详细设计,请下载附件的SQL脚本:

1. 制单人复选框加载数据源

2. 制单人复选框状态控制(禁用/可选)

3. 查询数据存储过程设计

查询上下级及同级用户以及数据权限控制|C/S框架网



四个系统特殊角色介绍:

贴图图片-_20190324141532


SR_EnableCreatedBy:
制单人查询条件允许选择(多项勾选)。

SR_ViewSiblingDoc:
允许查看当前用户所在部门的所有用户的单据。适用于部门经理或主管。

SR_ViewSiblingAndChildDoc:
允许查看当前用户所在部门或子级部门用户的单据。适用于部门经理或主管。

SR_ViewSiblingDeptAllDoc:
允许查看所有同级部门及子部门单据,获取当前用户所在部门的同级部门以及子级部门的所有用户。



贴图图片-_20190314163837


贴图图片-_20190314164126


数据查询界面,制单人复选组件
贴图图片-_20190314171051


C# Code:

//获取当前用户所在组织架构的子级用户
DataTable dtUser = new bllPermission().GetChildUser(Loginer.CurrentUser.Account);

//绑定数据源
DataBinder.BindingCheckedComboBoxSource(txt_CreatedBy, dtUser, tb_MyUser.UserName, tb_MyUser.Account);

//控制制单人复选组件是否可用
txt_CreatedBy.EditValue = Loginer.CurrentUser.Account;
txt_CreatedBy.RefreshEditValue();
txt_CreatedBy.Enabled = Loginer.CurrentUser.IsAdmin() || new bllPermission().IsUserBelongRole(Loginer.CurrentUser.Account, "SR_EnableCreatedBy");


//来源:C/S框架网(www.csframework.com) QQ:23404761





数据查询结果

贴图图片-_20190314171150


DAL层调用存储过程


C# Code:

public DataTable Query(QueryPI P)
{
   CommandHelper sp = _Database.CreateSqlProc("usp_PI_Query");
   sp.AddParam("@DataSetID", DbType.String, _Loginer.DBID);
   sp.AddParam("@Account", DbType.String, _Loginer.Account);
   sp.AddParam("@CreatedBy", DbType.String, P.CreatedBy);
   //-----------------------------------------------------------------
   sp.AddParam("PINO", DbType.String, P.PINO);
   sp.AddParam("DocDate", DbType.DateTime, ConvertEx.ToSqlDateTime(P.DocDate));
   sp.AddParam("DocDateTo", DbType.DateTime, ConvertEx.ToSqlDateTime(P.DocDateTo));
   sp.AddParam("CustomerCode", DbType.String, P.CustomerCode);
   sp.AddParam("RefPONO", DbType.String, P.RefPONO);
   sp.AddParam("Sales", DbType.String, P.Sales);
   return _Database.GetTable(sp.Command, tb_PI.__TableName);
}

//来源:C/S框架网(www.csframework.com) QQ:23404761


请参考附件的存储过程:usp_PI_Query


贴图图片-_20190314173056


其他说明:

1. 账套是否启用继承权限,tb_DataSet表的PermissionInherited=Y(Y-启用,N-不启用)

2. 数据查询存储过程必须定义3个固定参数(@DataSetID,@Account,@CreatedBy)请下载附件

3. 三个固定名称的特殊角色(SR_ViewSiblingDoc,SR_ViewSiblingAndChildDoc,SR_EnableCreatedBy)



关联文档:

Winform快速开发框架之权限系统设计(1)



Winform快速开发框架之权限系统设计(2) - 功能模块介绍


Winform快速开发框架之权限系统设计(3) - 功能按钮权限控制基本原理




VIP会员下载附件(上下级权限控制SP.rar)


点击下载附件 (VIP会员下载) 点击下载附件 (如下载失败,请邮件通知我们寄回给您,或QQ:23404761留言.)
上一篇 下一篇