实施总结:工作流扩展配置分享

前言
本次分享基于之前做的一个费用报销项目的流程解决方案,后期多次在其他项目中遇到类似问题,现对以上解决方案做出分享,希望可以帮助后来者。
项目背景
客户方公司属于物流行业,受行业特性影响,客户方组织架构、人员频繁发生变化,客户日常报销审批级次随着架构、人员变化,需要实时进行调整,在实施初期,客户方提出以下几个目标,期待系统实现:
1、 流程配置必须简单清晰,可以快速上手。
2、 出于后期维护成本考量,流程维护调整工作量尽量简化。
3、 流程可以快速新增
参照以上需求,同时在尽量减少开发的前提下,我们通过DEP新建工作流审批关系表单,同时与开发人员配合,通过工作流脚本方式,实现客户基本需求,以下为方案实现过程。
实现方案
1、 原理阐述
项目-> 项目负责人A、项目负责人B
成本中心-> 第一层级负责人、第二层级负责人、……第N层级负责人
公司-> 审批人A、 审批人B、……审批人N
依据客户化开发基本原则:尽量减少对标准产品的改造。所以我们采取对原有的属性进行扩展的方式实现。增加扩展属性聚集。扩展属性聚集应该至少包含被扩展对象的唯一标志,通过这个唯一标志来将被扩展对象与扩展属性聚集连接起来。
项目扩展属性聚集包含属性:项目唯一标志(ID或者唯一编码),项目负责人A、项目负责人B
成本中心扩展属性聚集包含属性:成本中心唯一标志(ID或者唯一编码),第一层级负责人、第二层级负责人、……第N层级负责人
公司扩展属性聚集包含属性:公司唯一标志(ID或者唯一编码),审批人A、 审批人B、……审批人N
实际应用的过程当中,以项目为例调用流程如下:
客户填报费用报销单据->选择项目->提交到工作流->工作流引擎通过扩展脚本找到项目对应的项目扩展属性聚集->将聚集中包含的审批人置入工作流当中。
2、 界面示例
(1) 客户应用界面示例

(2) 审批关系维护界面示例


3、 脚本示例
java . sql . Connection con = com . kingdee . bos . framework . ejb . EJBFactory . getConnection ( __bosContext ) ;
java . sql . Statement batchStatement = con . createStatement ( ) ;
java . lang . StringBuffer Sql = new java . lang . StringBuffer ( ) ;
Sql . append ( " select cfuserid,cfuser1id,cfuser2id,cfuser3id,cfuser4id" ) ;
Sql . append ( " from CT_BD_CB1 where cfcbzxid='" + deptId + "' " ) ;
rst = batchState
实施总结:工作流扩展配置分享
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



