企业通用流程路由设计方案

  作者:炎黄盈动
2009/5/19 16:23:34
提高维护人员的反应速度,减少工作量,而且能快速的接入企业管理思想,实现企业的敏捷管理,大幅提升企业办公效率。

本文关键字: 流程 炎黄盈动 流程 BPM 平台

规则生成器

规则生成器的作用是:

  • 把EXCEL上传到服务器,根据EXCEL中(1)系统识别项的说明,自动读取EXCEL中的(2)业务规则数据,保存到数据库中的原业务规则表中备查。
  • 按数据库中系统规则表的要求,将数据重新组织,然后保存到系统规则表中。

其中,系统规则表的设计如下:

具体数据存储举例如下:

路由解析器

路由解析器的作用是:

  • 根据流程和节点号,程序读取路由系统规则表,然后逐一判断系统路由规则是否符合当前环境条件,从而得到相匹配的系统规则后,得到一个或一批虚拟或者实际岗位。
  • 得到岗位后,根据企业的实际组织架构进行人员定位,最终得到某一个或一批人员返回给平台。
  • 同时也可以得到下一个跳转的节点号或者默认下一个节点。

主程序框架:

public String routeUser(UserContext uc, HeadMessageModel instanceModel, DepartmentModel localDepartmentModel, int ownerDepartmentId, WorkFlowStepModel workFlowStepModel, int taskId) {
Connection conn = null;
try{
conn = DBSql.open();
HashMap arguments = getCommonArguments(conn, uc, workFlowStepModel, taskId); //得到环境变量
Regulation reg = getRegulation(arguments, conn); //得到匹配的规则
String users = getRouteUsers(reg, arguments); //得到实际的用户UserID
String ret = Function.checkAddress(users); //检查
if(ret == null||ret.equals(“”)){
MessageQueue.getInstance().putMessage(uc.getUID(),“数据库错误【E01】:岗位解析发生错误!请与系统管理员联系!“);// 弹出提示信息
return “”;
}
if(ret.equals(“ok”)) { return users;} else { return “”; }
}
catch(Exception ex){
ex.printStackTrace();
MessageQueue.getInstance().putMessage(uc.getUID(),
“通用路由错误,请与管理员联系[" + ex.getMessage() + "]“);
}
finally{ DBPoolsManager.getInstance().freeConnection(conn); }
return “”;
}

根据规则返回的岗位或工号,进行实际组织架构匹配,返回实际的人员工号:

public static Interpreter getRoleInterpreter(String roleName, String auditLevel, HashMap argument) {
int roleType = RoleUtil.getRoleTypeByRoleName(roleName);
if (roleType == HsRouteCommonParameters.ROLE_DIRECTUID){
//工号,直接返回
return new DirectUidInterpreter(roleName);
} else if (roleType == HsRouteCommonParameters.ROLE_DIRECTROLE){
//实际岗位,解析得到人员工号
return new DirectRoleInterpreter(roleName, auditLevel, argument);
} else if (roleType == HsRouteCommonParameters.ROLE_VIRTUALROLE){
//虚拟岗位,解析得到人员工号
return new VirtualRoleInterpreter(roleName, auditLevel, argument);
} else if (roleType == HsRouteCommonParameters.ROLE_IGNOREROLE){
return new IgnoreRoleInterpretor(roleName, auditLevel, argument);
} else if (roleType == HsRouteCommonParameters.ROLE_TABLE){
//数据表中的字段,读取出来后再解析
return new TableRoleInterpretor(roleName, auditLevel, argument);
}
return null;
}

企业通用路由与炎黄平台的关系

本路由功能在炎黄BPM平台上开发,必须使用炎黄平台,具体技术接口为:99号自定义路由(得到路由岗位人员)和RoleJump触发器(得到下一节点号,指定跳转)。

炎黄BPM平台目前已经提供了业务规则的设置界面。这个企业通用路由功能,本质是完成了相同工作。

具体区别和功能拓展有:

  • 可以批量设置流程规则和路由岗位。
  • 增加对一个流程的一次性所有节点的流程规则设置。
  • 增加对“门店-分公司-区域-总部-集团”的层级审批支持。
  • 增加对特殊“虚拟岗位”的支持。这有利于减少规则的设置数量。比如:分管副总裁这个虚拟岗位,其本质为某些岗位组合,只是需要在运行时根据某些条件再确定具体岗位。如:行政的人发起流程时,分管副总裁就是分管行政的副总裁。增加对特殊人员或者特殊岗位的特殊处理。比如:秘书岗位,无论处于那个部门,都必须归属于当地行政部门管理。

当然,这些功能可以不断根据企业的实际情况不断调整,直至更为完善,更为符合企业的需要。

结束语

作为中国BPM软件和服务提供商,炎黄盈动一直专注于为合作伙伴和最终用户提供最优秀的商业流程应用快速开发平台和成熟的应用套件产品,并帮助用户完成从协同管理向流程管理的价值过渡。炎黄盈动的BPM整体解决方案构建在自主研发的AWS BPM业务基础中间件平台上,提供了从业务规划、建模到运营、监控、优化的全周期管理。

企业通用路由方案就是完全基于AWS BPM平台之上的快速搭建的一个应用功能,在企业实际运行中,不仅能提高维护人员的反应速度,减少工作量,而且能快速的接入企业管理思想,实现企业的敏捷管理,大幅提升企业办公效率。

最后,衷心的感谢炎黄盈动的各位工程师,是他们给予了我技术支持和无私的帮助。并将此文献给同样在OA流程开发和维护战线上奋斗中的其他企业开发工程师们。

参考资料

  1. 炎黄培训教材:A90-1-用Eclipse搭建AWS开发环境
  2. 炎黄培训教材:A90-2-AWS流程节点触发器接口开发
  3. 炎黄培训教材:A90-3-AWS流程触发器接口开发
  4. 炎黄培训教材:A92-2 数据库结构参考

关于作者

鞠苏阳,宏图三胞信息管理本部高级工程师,有多年的系统开发、测试、实施经验。目前主要负责宏图三胞BPM系统的开发和实施工作。

共2页: [1]2 下一页
责编:张赛静
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

炎黄盈动 专栏

rss订阅
炎黄盈动为企业提供具有自主产权、业界领先水平的业务流程管理套件(BPMS)产品,是中国首家BPM软件和服务供应商。公司总部设在北京中关村地区,是一家在中关村高科技园区注册,具有北京市软件行业协会认定的 “双软”资格的高新技术企业,在上海、天津等地设有分支机构。
畅享
首页
返回
顶部
×
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918