Java工作流引擎-集团模式下的权限 设计与实现
- 关键字
工作流开发框架权限设计、用户组、岗位、集团模式应用. java工作流程引擎, .net 工作流引擎,工作流开发框架
- 相关的表结构
-- 相关组织-表结构。
SELECT No,Name,ParentNo FROM port_dept; -- 部门。
SELECT No,Name,Adminer,AdminerName FROM port_org; -- 组织。
-- 岗位表.
SELECT No,Name,FK_StationType, OrgNo FROM port_Station; -- 岗位。
SELECT No,Name,OrgNo FROM port_stationtype; -- 岗位类型。
SELECT FK_Dept,FK_Emp,FK_Station FROM port_deptempstation; -- 部门人员岗位。
-- 用户组表.
SELECT No,Name,FK_Team FROM port_team; -- 用户组。
SELECT No,Name FROM port_teamType; -- 用户组类型。
SELECT FK_Teamp,FK_Emp FROM port_teamEmp; -- 用户组人员。
--公文字号相关的设计.
SELECT No,Name,FK_Team FROM Doc_DocType; -- 公文类型 。FK_Team 是他的分组编号
SELECT No,Name,FK_DocType,FK_Team FROM Doc_Word; -- 公文字号。
-- 公文表。 必须有的四个字段
SELECT DocWordKey, DocWordName,DocWordYear,DocWordLSH, DowWord FROM Frm_JiTuanXingZhengShouWenJian
- 集团模式下的权限描述如下
- 整个集团的部门是一棵大树,只有一个根节点,根节点的parentNo的编号为0。部门的表的主要字段是No,Name,ParentNo,
- 组织的概念就是独立岗责体系的子公司或者单位,组织里有一个或则多个管理员。
- 集团中admin是超级管理员,admin可以把一个部门节点设置为一个组织。
- 一个二级管理员可以管理多个组织,admin也可以有多个组织的管理权限。
- 二级管理员或者admin登录后,如果有多个组织系统会让其选择要登录那个组织进行管理?
- 选择一个组织登录之后,这个管理员,仅仅可以管理本组织的流程,岗位,部门人员信息。如果要管理其他的组织信息,需要切换。
- 组织之间的权限是通过OrgNo进行隔离的。
- 每个人员登录之后,就有WebUser.No, WebUser.Name, WebUser.FK_Dept, WebUser.OrgNo 等登录信息。
- 每个流程都有适用范围,在流程属性里可以配置。一个组织的可发起的流程,是由两部分组成的+ 本组织设计的流程+其他组织设计的流程设置了适用范围的流程。
- 对于表单的权限规则参考流程的规则,也有适用范围。
- 用户组与岗位都是对人员的分组,对人员的权限划分。
- 用户组是集团的概念,仅由admin维护。
- 岗位则是每个组织都有自己的一套独立的岗责体系,由自己的组织管理员来维护的。
- 用户组,用户组类型没有OrgNo, 但是岗位,与岗位类型有。
- 用户组类型,岗位类型,都是为了方便管理员操作的方便,没有计算意义。
- 一个操作员可以有多个部门,数据存储到Port_DeptEmp,里面FK_Dept,FK_Emp两个列。
- 一个操作员在一个部门下可以有多个岗位, Port_DeptEmpStation , 列如下:FK_Dept,FK_Emp,FK_Station. 三个外键列存储。
- 操作员与用户组的关系存储在 Port_TeamEmp表里, FK_Team,FK_Emp 两个列。
- 一个操作员,有三个维度来控制,用户组、岗位、部门。
- 为了方便我们管理,我们把岗位或者用户组划分为,抽象的岗位,实际的岗位,抽象的用户组,实际的用户组。
- 比如我们把岗位划分为:部门负责人岗位,部门领导岗,信息部主任岗,信息部副主任岗。张三有部门负责人岗位,信息部主任岗。李四有部门领导岗,信息部副主任岗位。这样换分有利于我们在绑定节点岗位的时候容易处理。
- 用户组的概念是集团的admin管理员统一管理与维护的,可以下分到每个组织可以使用。在节点访问规则支持绑定用户组功能。
- 组织、部门、用户组、岗位操作界面
- 管理员登录
- 组织、部门、用户组、岗位操作界面
登录页面
选择管理的组织
登录后切换组织
- 组织(分公司)管理
- 独立组织列表
- 组织(分公司)管理
- 把一个部门设置为独立组织
- 独立组织的管理员
- 超级管理员admin的权限组,权限组类别维护
- 组织人员,岗位,用户组维护-管理
- 二级管理员(分公司)的岗位类型,岗位维护
- 其他资源
http://ccflow.org/down.htm 源代码下载
http://edu.ccflow.org/ 驰骋BPM培训中心.
http:://app.ccflow.org 应用中心.
Java工作流引擎-集团模式下的权限 设计与实现的更多相关文章
- Java工作流引擎-中间件模式代码集成
关键词:工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 bpm工作流系统 java工作流主流框架 自定义工作流引擎 表单设计器 流程设计器 前端代码集成步骤 ...
- java工作流引擎证照库类型的流程设计 实现方案与演示案例
关键词:.Net开源工作流 工作流引擎 工作流引擎常用信息存储 流程前置导航 证照库的概念&应用场景: 我们在梳理流程的时候,会发现有一些流程的发起是基于一个实体信息的. 比如:纳 ...
- Java工作流引擎节点接收人设置20种规则讲解一
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...
- Java工作流引擎jflow对流程的结束大总结
关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工 ...
- Java工作流引擎节点接收人设置“按自定义SQL计算”系列讲解
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...
- Java工作流引擎关于数据加密流程(MD5数据加密防篡改)
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统 流程数据加密 md5 数据保密流程数据防篡改 ...
- java工作流快速开发之授权代办的设计
关键词:工作流快速开发平台 工作流流设计 业务流程管理 Java工作流引擎 asp.net 开源工作流 net开源工作流引擎 开源工作流系统 一.授权代办开发背景 应用需求:项目审批人出差无法及 ...
- Java工作流引擎的测试容器-功能-使用方法-注意事项
工作流引擎的测试容器-功能-使用方法-注意事项 关键字 Ccbpm, ccflow,jflow,工作流引擎,工作流引擎测试容器,表单引擎 功能说明 工作流的测试容器是为了解决手工模拟人工登录模式下测试 ...
- Java工作流引擎表单引擎之JS表单字段输入脚本验证
关键字: 表单设计器, 字段验证. workflow,ccform, ccBPM. 工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流bpm工作流系统 java工作流 ...
随机推荐
- POJ 1062 昂贵的聘礼 最短路+超级源点
Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...
- OpenCV-Python 对极几何 | 五十一
目标 在本节中 我们将学习多视图几何的基础知识 我们将了解什么是极点,极线,极线约束等. 基础概念 当我们使用针孔相机拍摄图像时,我们失去了重要信息,即图像深度. 或者图像中的每个点距相机多远,因为它 ...
- 探索学习率设置技巧以提高Keras中模型性能 | 炼丹技巧
学习率是一个控制每次更新模型权重时响应估计误差而调整模型程度的超参数.学习率选取是一项具有挑战性的工作,学习率设置的非常小可能导致训练过程过长甚至训练进程被卡住,而设置的非常大可能会导致过快学习到 ...
- POJ 3070 Fibonacci矩阵快速幂 --斐波那契
题意: 求出斐波那契数列的第n项的后四位数字 思路:f[n]=f[n-1]+f[n-2]递推可得二阶行列式,求第n项则是这个矩阵的n次幂,所以有矩阵快速幂模板,二阶行列式相乘, sum[ i ] [ ...
- Faiss向量相似性搜索
Faiss 快速入门(1) Faiss 更快的索引(2) Faiss低内存占用(3) Faiss 构建: clustering, PCA, quantization(4) 如何选择Faiss索引(5)
- Thread Future模式
多线程不管是extends Thread 还是 implements Runnable 都是要重写run 方法来实现,这两种方式子线程都没有返回值. 如果要实现主线程对子线程的监听,让子线程有返回值, ...
- Scala环境及IDEA配置
Scala环境及IDEA配置 1 语言介绍 他已经出生15年了,就像明星一样,谁都不可能一开始就人气爆棚粉丝无数,得慢慢混. 成功原因:完全兼容java代码. 身世介绍 Scala在2004年正式问世 ...
- Node教程——Node+MongoDB案例实现用户信息的增删改查
想要获取源代码的同学可以留言,我不做git上传了,案例太简单 没必要 综合演练 用户信息的增删改查 需求:你需要实现这样的结果 点击添加可以添加用户,点击删除可以删除点击修改可以修改 代码分析: 1. ...
- JS去除字符串内的空白字符方法
有时我们需要对用户的输入进行一些处理,比如用户输入的密码或者用户名我们就需要去除前后空格,下面写一个去除空白字符的方法 function trim(string = '') { return stri ...
- CF632(div.2)C. Eugene and an array
https://codeforces.ml/contest/1333/problem/C 大概题意是规定和为0的数组为不合格数组,询问给定数组中共有多少个合格子数组. 解题 子数组的数量 一个长度为 ...