普元流程开发手册

发布时间 : 星期二 文章普元流程开发手册更新完毕开始阅读

? 选择流程:

在流程角色树选择要操作的流程。

? 选择角色:

点击要操作的流程,显示已绑定在流程上的所有角色(参见5.6)

? 创建编辑群组:

选择要增加的群组成员类型,点击增加按钮。根据选择的群组成员类型会弹出人员或组的选择框。选择后点击保存完成操作。

注意:公司名称必选,只有当角色绑定到相关环节后才能正常添加群组成员

6 制作发起页面

发起页面需要自己制作 发起页面必须包含

page=\<%-- 包含隐藏的变量 --%>

如果发起页面有附件必须在js中包含

7 EXT派发抄送人员选择对话框说明

方法参数释义:

showSelector( title, cfgstr, callback, processNameEn, mode)

1. title:(string类型)-设置整个弹出窗口的标题,如果为空,则标题默认为:“选择派发/抄

送人员”; 2. cfgstr:(string 类型)-选择树显示配置,用以控制显示哪个(哪些)树。值为’role’, ’user’, ’group’三者的自由组合,中间以逗号隔开。例如:’role,user’表示显示角色树以及人员树;’user,group’表示显示人员树与群组树; 3. callback:(function 类型)-回调函数。回调函数请设置两个参数分别接收派发、抄送人员

的结果集。结果集的类型均为fields为['id','name','type']的EXT RECORD 类型的数组。例如回调函数为function callback(records1, records2){……},我们可以在方法体中对

records1或者records2这两个数组进行遍历,遍历的每一项都是一个EXT的RECORD(可参考Ext.data.Record),它有三个可取值的key: ['id','name','type'],可以通过record.get(‘id’)等方法取得所需要的数据;

4. processNameEn:(string 类型)-流程定义名,此参数仅在选择区域中存在角色树的情况

下有效且必须。用以展示流程所绑定的角色; 5. mode:(string类型)-选择模式,可选值为’pf’、’cs’以及空值。分别代表:“只显示派发选

择框”,“只显示抄送选择框”,“两个都显示”。注意:任何情况下回调函数callback都需要接收两个参数,假设mode取cs,只显示抄送人员选择区,在callback回调函数中也要写两个参数,但仅仅对第二个参数进行抽取数据即可。

分派人时三个必须的条件有处理人的id 、name、type。例如:

name=\value=\/>

name=\value=\/>

type=\

id=\

name=\value=\/>

8 初始化工单页面

AbstractTBnsAction的init()方法已经封装了通用操作。包括初始化当前操作人的基本信息;查询当前节点的派发对象类型及后续节点列表;生成一个工单流水号等流程所需的参数;关联的子流程;绑定该环节自定义表单的加载;处理环节中绑定该环节除iframe外的资源服务加载;通用工单处理页面;自定义表单的显示和数据存储。

? 新建工单初始化(发起页面):

?

如果发起页面需要特殊的业务处理,则需要在该流程的action类的initBody

()方法中实现如:

? 发起页面绑定资源服务(发起页面绑定资源服务作特殊处理):

@Override

public void initBody() throws Exception {

object.setTemplateName(TEMPLETNAME);

if(TextUtil.isNull(object.getActiveName())) { super.getTresConfigTasksService()

.creResTasksWhenFlowInit(super.getRequest(), object, null);

}

}

程序说明:发起页面未生成环节名称。object.getActiveName()为空。

对于工单信息通过flowId获取:object.getFlowId();

TbnsEngineeringProMgt

object1

=

tbnsEngineeringProMgtService.getTbnsObjectByFlowId(object.getFlowId());

9 发起流程或者完成当前环节

AbstractTBnsAction的submit()方法已经封装了通用操作。包括发起页面数据的处理;启动流程;完成当前环节处理。

? 发起流程:

?

发起工单数据的封装,压入相关变量已有通用方法实现不需要另外编写代码。 例如:在工程管理流程中的设计审核压入相关数据

super.getRelationMap().put(\, \); super.getRelationMap().put(\, \);

? 发起工单数据的保存,需要自己编写代码。

? 流程service实现类中实现父类抽象方法startupProcessBody()

其中参数mainObj封装了发起工单的数据,参数resultMap封装了流程引擎数据,参数relationMap为相关数据区。

例:完成工程管理流程发起页面数据的保存。

@Override

public void startupProcessBody(Map resultMap, Object

联系合同范文客服:xxxxx#qq.com(#替换为@)