组织机构上下级同级用户以及数据权限控制|C/S框架网
组织机构上下级同级用户以及数据权限控制|C/S框架网
Winform组件架构权限框架
查询上下级、同级用户以及数据权限控制适用CSFrameworkV4.x(企业版)、CSFrameworkV5.x(旗舰版)。
本文涵盖三个部分的详细设计,请下载附件的SQL脚本:
1. 制单人复选框加载数据源
2. 制单人复选框状态控制(禁用/可选)
3. 查询数据存储过程设计

四个系统特殊角色介绍:

SR_EnableCreatedBy:
制单人查询条件允许选择(多项勾选)。
SR_ViewSiblingDoc:
允许查看当前用户所在部门的所有用户的单据。适用于部门经理或主管。
SR_ViewSiblingAndChildDoc:
允许查看当前用户所在部门或子级部门用户的单据。适用于部门经理或主管。
SR_ViewSiblingDeptAllDoc:
允许查看所有同级部门及子部门单据,获取当前用户所在部门的同级部门以及子级部门的所有用户。



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
//获取当前用户所在组织架构的子级用户
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
数据查询结果:

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
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

其他说明:
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)

参考文档:
达梦数据库入门基础|C/S框架网|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
达梦数据库 | DM管理工具使用指南|C/S框架网|C/S开发框架
使用.NET8/EFCore访问达梦数据库|C/S框架网|C/S开发框架
达梦数据库安装指南|C/S框架网|C/S开发框架
C/S框架网2022春节放假通知
C/S框架网软件介绍|WinFramework|C/S开发框架
C/S框架网正式上线FAQ问答频道,欢迎大家积极讨论~|C/S开发框架
原创Winform布局开源框架,Winform控件框架,插件化框架|C/S框架网
开源ERP软件平台ERP系统快速开发框架 - C/S框架网原创作品
NET开发框架,基于ADO.NET数据持久化快速开发框架平台-C/S框架网原创产品
C/S框架网提供原创开源.NET开发架构.NET管理系统框架
C#.NET IP端口绑定SSL证书支持HTTPS协议(用于Win服务自承载WebApi服务器) - C/S框架网原创
VS.NET后端框架,C#.NET开发的服务器端开发框架 - C/S框架网
C#.NET最好用的主流开发框架 - 开源框架平台 - C/S框架网
企业级开发架构.NET快速开发框架-C/S框架网
达梦数据库入门基础|C/S框架网|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
达梦数据库 | DM管理工具使用指南|C/S框架网|C/S开发框架
使用.NET8/EFCore访问达梦数据库|C/S框架网|C/S开发框架
达梦数据库安装指南|C/S框架网|C/S开发框架
C/S框架网2022春节放假通知
C/S框架网软件介绍|WinFramework|C/S开发框架
C/S框架网正式上线FAQ问答频道,欢迎大家积极讨论~|C/S开发框架
原创Winform布局开源框架,Winform控件框架,插件化框架|C/S框架网
开源ERP软件平台ERP系统快速开发框架 - C/S框架网原创作品
NET开发框架,基于ADO.NET数据持久化快速开发框架平台-C/S框架网原创产品
C/S框架网提供原创开源.NET开发架构.NET管理系统框架
C#.NET IP端口绑定SSL证书支持HTTPS协议(用于Win服务自承载WebApi服务器) - C/S框架网原创
VS.NET后端框架,C#.NET开发的服务器端开发框架 - C/S框架网
C#.NET最好用的主流开发框架 - 开源框架平台 - C/S框架网
企业级开发架构.NET快速开发框架-C/S框架网
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
