大家好,欢迎来到IT知识分享网。
驰骋工作流程引擎ccbpm,ccflow,jflow关于组织结构集成的重新解释.
1.1: 组织结构集成
组织机构的模式:
根据不同的情况我们把组织结构分为一人一部门多岗位的模式,我们称呼为OneOne模式,我们把一人多部门多岗位的模式成为OneMore模式。对于这两种模式在全局配置文件里OSMode 属性里。
JFlow中的配置,文件路径:D:\JFlow\trunk\jflow-web\src\main\resources\conf\web.properties
CCFlow中配置, 文件路径:D:\ccflow\trunk\CCFlow\web.config
关于两种模式下所需要的表:
OneOne模式的组织结构表(一人一部门多岗位) |
|||
表中文名 |
表名 |
字段(都是varchar类型) |
|
操作员表 |
Port_Emp |
No,人员编号;Name,人员名称; Pass,密码; FK_Dept,所在部门; SID,安全校验码; |
|
部门表 |
Port_Dept |
No,部门编号;Name部门名称;ParentNo父级编号; |
|
岗位表 |
Port_Station |
No,岗位编号;Name岗位名称;FK_StationType岗位类型. |
|
岗位类型表 |
Port_StationType |
No,编号;Name,名称; |
|
人员岗位 |
Port_EmpStation |
FK_Emp,人员编号;FK_Station,岗位编号; |
|
您可以通过如下SQL来查询出来: SELECT No,Name,Pass,FK_Dept,SID FROM PORT_EMP SELECT No,Name,ParentNo FROM PORT_Dept SELECT No,Name,FK_StationType FROM PORT_Station SELECT No,Name FROM PORT_StationType SELECT FK_Emp,FK_Station FROM PORT_EmpStation |
|||
OneMore模式的组织结构表(一人多部门多岗位) |
|||
表中文名 |
表名 |
字段(都是varchar类型) |
|
操作员表 |
Port_Emp |
No,人员编号;Name,人员名称; Pass,密码; FK_Dept,所在部门; SID,安全校验码; |
|
部门表 |
Port_Dept |
No,部门编号;Name部门名称;ParentNo父级编号; |
|
岗位表 |
Port_Station |
No,岗位编号;Name岗位名称;FK_StationType岗位类型. |
|
岗位类型表 |
Port_StationType |
No,编号;Name,名称; |
|
人员部门 |
Port_DeptEmp |
MyPK,组合主键;FK_Dept,部门编号;FK_Emp,人员编号; 注:MyPK 是FK_Dept+”_”+FK_Emp 的组合. |
|
人员部门岗位 |
Port_DeptEmpStation |
FK_Dept,部门编号;FK_Emp,人员编号;FK_Station,岗位编号; |
|
您可以通过如下SQL来查询出来: SELECT No,Name,Pass,FK_Dept,SID FROM PORT_EMP SELECT No,Name,ParentNo FROM PORT_Dept SELECT No,Name,FK_StationType FROM PORT_Station SELECT No,Name FROM PORT_StationType SELECT MyPK,FK_Emp,FK_Dept FROM PORT_DeptEmp SELECT MyPK,FK_Emp,FK_Dept,FK_Station FROM PORT_DeptEmpStation |
|||
组织结构表的概念:
用于控制用户的权限的表都称为组织结构表,比如:操作员、部门、岗位。与ccbpm的集成也就是组织结构表的集成,以上表格里的表都是组织结构表。
组织结构的数据来源:
根据用户的不同运行环境,我们把组织机构数据来源分为0=通过数据库映射,2通过webservices获得数据。3通过AD,获得组织结构数据,请参考上图的OSDBSrc设置,目前对于非vip用户,请使用0模式。
组织结构集成的核心思想:
把ccbpm集成到您的应用系统里,首先要解决的组织结构的集成,然后根据自己的项目确定集成模式。不管什么方式的集成,首先要把组织结构集成在一起。
把ccbpm中的组织表删除了,换成数据结构一样的视图,数据是从被集成的系统数据库映射回来的。这样ccbpm在工作时,仍然不会影响。以一个sql来说明问题。
DROP TABLE Port_Emp /* 删除本机的人员表 */ GO CREATE VIEW Port_Emp /* 创建人员视图表 */ AS SELECT BH AS No, MC as Name, bumenbianhao as FK_Dept, Password as Pass FROM ERP.dbo.Yonghu GO |
对于OneMore处理模式ccbpm如何识别当前登录部门属于那个部门?
我们知道一人多部门的信息存储到Port_DeptEmp表里,这里描述了一个人对应多个部门,但是用户进入系统后如何知道他是以那个人员的身份登录的?ccbpm读取的是Port_Emp表的FK_Dept字段作为当前部门。如果用户要切换登录部门的时候,就要先修改这个字段值作为当前登录部门。
对于历史版本的支持:
CCFlow系统会自动升级,升级代码请参考BP.WF.Glo.UpdateVer()方法。
JFlow 请手动按照上述方式修改与配置。
重要的事情说三遍:
Ccbpm的组织机构集成,就是删除ccbpm的组织机构表,建立同数据结构一样的视图!!!
Ccbpm的组织机构集成,就是删除ccbpm的组织机构表,建立同数据结构一样的视图!!!
Ccbpm的组织机构集成,就是删除ccbpm的组织机构表,建立同数据结构一样的视图!!!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22173.html