您的位置:首页 > 产品设计

驰骋工作流程引擎ccbpm,ccflow,jflow关于组织结构集成的重新解释.

2016-03-25 17:28 477 查看

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的组织机构表,建立同数据结构一样的视图!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: