Skip to content

接口设计

概述

以下类需要传的值,除特别说明外,都是set到BpmInfoDto后再传给以下需调用的接口中,而不是直接传给接口;接口的命名是延续BPM开发文档的标准命名,和我们直接口语化的接口名称会存在较大差异,请理解清楚接口作用后,再决定需要调用哪个接口,以下罗列几个常用的口语化对比:

口语化接口名地址
发起流程创建流程并设置相关数据
同意提交任务
驳回根据策略信息回退到指定活动
沟通/转办代办管理

1 流程实例管理

1.1 终止流程实例

方法名:terminateProcessInstance

终止一个流程实例,该操作可以终止一个未启动、运行、挂起状态的流程实例,执行后无返回值。

使用场景:终止一个未启动、运行、挂起状态的流程实例。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDString112233
3personID中文名String张三(1.2.0以上不需要)
4.msg处理信息String“终止流程”
输出数据

字符串:success/failed

1.2 查询流程实例详细属性

方法名:queryProcessInstDetail

根据流程实例ID获取业务流程实例的详细信息。返回流程实例的信息信息。

使用场景:查询流程实例详细信息。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDLong112233

输出数据

类:ProcessInstInfo

1.3 创建流程并设置相关数据

方法名:createProcessInstanceAndSetRelativeData

创建流程并设置相关数据。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2personID中文名String张三(1.2.0以上不需要)
3processDefName流程定义名称Stringcom.hisense.xx.xxxx
4processInstName流程实例名称String“测试流程”
5relaDatas相关数据Map<String,String>如需要再传
6msg处理信息String“发起流程”
7theme主题String“流程主题”,需直接传给接口
8orgCode扩展字段String历史原因,忽略字段意义,作为扩展字段使用即可,会在待办返回
9matkls扩展字段String
输出数据

Long:流程id


2 活动实例管理

2.1 根据活动定义完成活动实例

方法名:finishActivityInstByActivityID

根据流程实例ID和活动定义ID完成某流程的活动实例的功能。 指明一个流程实例ID和该流程实例下的活动的活动定义ID,随后调用本构件就可将指定的流程实例的活动实例完成。如果该活动已有多个实例,将只完成最新的活动实例。

注意:多个活动实例的情况只完成最新的活动实例。

使用场景:完成流程的活动实例。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDLong112233
3activityDefID活动定义IDStringapplyActivity
输出数据

字符串:success/failed

2.2 完成活动实例

方法名:finishActivityInstance

需要使用流程服务的各个业务系统

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2activityInstID活动实例IDString445566
输出数据

字符串:success/failed

2.3 查询流程活动实例

方法名:finishActivityInstance

根据流程实例ID和分页查询条件查询流程下的所有的活动实例。(如果分页信息为null将查询所有活动实例。使用场景:查询流程活动实例。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDString112233
3pageCond分页属性PageCondbegin,length,isCount
输出数据

类:BPSActivityInsts


3 流程定义查询

3.1 获取业务流程或者活动定义的扩展属性

方法名:getExtendAttribute

主要提供业务流程管理中需要使用的查询接口, 可以查询业务流程实体、活动定义实体、连线实体、流程包列表、流程目录、活动已经定义的参与者等信息。

执行成功返回空的报文体;执行失败返回错误码和对应错误信息。

使用场景:获取业务流程或者活动定义的扩展属性XML字符串。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processDefID流程定义IDlongcom.hisense.xx.xxx
3activityDefID活动定义IDStringapplyActivity
输出数据

字符串:JSON串

3.2 根据流程定义名称查询所有活动定义

方法名:queryActivitiesOfProcessDefName

查询流程定义中的活动列表 根据流程定义名称,查询流程定义中的活动列表.返回流程的活动列表报文。执行成功返回空的报文体;执行失败返回错误码和对应错误信息。

使用场景:查询流程中的所有环节。

输入数据
序号字段名名称类型长度是否必输Y/N样例
1userID用户IDString18Yzhangsan
2processDefName流程定义名称String19Ycom.hisense.xx.xxx
3type活动定义类型Sting18NALL:所有 manual:仅查人工活动
输出数据

类:BPSActivityDefines


4 流程相关数据管理

4.1 批量获得相关数据

方法名:getRelativeDataBatch

批量获得相关数据中指定路径下的值。根据流程实例ID和相关数据Xpath,批量获得相关数据中指定路径下的值。

注意:相关数据路径支持标准的Jxpath语法,如果流程实例ID对应的流程实例不存在或者path不合法,则会抛出WFServiceException。

使用场景:查询流程实例的指定上下文信息。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDLong112233
3path要获取的相关数据xpath路径String[]relaDatas里的key
输出数据

字符串:JSON串

4.2 批量设置相关数据

方法名:setRelativeDataBatch

根据流程实例ID,批量设置相关数据中指定路径下的值。

注意:relaDatas参数作为Map类型,其Key为相关数据的xpath,value为其值,如果流程实例ID对应的流程实例不存在或者xpath不合法,则会抛出WFServiceException。

使用场景:设置流程实例指定的上下文参数。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程定义IDLong112233
3relaDatas设置相关路径和值Map<String,String><”key”,“value”>
输出数据

字符串:success/failed

4.3 批量获得相关数据

方法名:setRelativeData

根据流程实例ID,将对象值放到相关数据区中指定的xpath下。

使用场景:设置相关数据

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDString112233
3xpath数据路径StringrelaDatas里的key
4relaData相关数据String<”key”,“value”>
输出数据

字符串:success/failed

4.4 获取相关数据

方法名:getRelativeData

根据流程实例ID,获得相关数据中指定路径下的值。

使用场景:获取相关数据。

输入数据
序号字段名名称类型备注
1userID用户IDStringzhangsan
2processInstID流程定义IDLong112233
3xpath相关数据路径StringrelaDatas里的key
输出数据

字符串:JSON


5 查询任务的详细属性

5.1 查询任务的详细属性

方法名:queryWorkItemDetail

根据传入的工作项ID查询工作项的详细信息,包括WFWorkItem类的所有属性 。

使用场景:查询任务详细属性。

输入数据
序号字段名名称类型备注
1userID用户IDStringzhangsan
2workItemID工作项IDLong778899
输出数据

类:BPSWorkItem

5.2 提交任务

方法名:finishWorkItem

完成指定工作项,根据工作项ID完成工作项 。

使用场景:提交任务。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2workItemID工作项IDLong778899
3msg审批意见Sting“同意”
输出数据

字符串:success/failed

5.3 工作项改派

方法名:reassignWorkItem

将工作项改派给指定的参与者。

使用场景:管理员或特权人将工作项改派给其他人。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2workItemID工作项IDLong778899
3participants参与者数组BPSParticipant[]id:参与者ID,例如lisi name:参与者名称,例如李四
4msg审批意见Sting“同意”
输出数据

字符串:success/failed

6 根据策略信息回退到指定活动

6.1 根据策略信息回退到指定活动

方法名:backActivity

根据指定的回退策略,把从当前运行的活动回退到指定活动定义ID的目标活动,该方法需要结合回退策略来完成,具体回退策略参见"规则说明"。

使用场景:根据策略信息回退到指定活动。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2personID中文名String(1.2.0以上不在需要)
3currentActInstID当前活动实例IDString445566
4destActDefID目标活动定义IDStringapplyActivity
5processInstID流程idLong112233
6rollBackStrategy回退策略Stringtime为基于两点间的时间回退 path为基于两点间的路径回退 recent_manual为回退到最近的人工活动 one_step为单步回退 simple为简单回退
输出数据

字符串:success/failed

6.2 获取所经全部活动定义

方法名:getPreviousActivities

获取活动实例到目标活动定义之间所有运行时经过的活动定义。

使用场景:获取所经全部活动定义。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2currentActInstID当前活动实例IDString445566
3destActDefID目标活动定义IDStringapplyActivity
输出数据

类: WSActivityDefines


7 代办管理

  • 方法名:delegateWorkItem
  • 使用场景:委托人将工作项代办给代办人。
输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2workItemID工作项IDLong778899
3participants参与者数组BPSParticipant[]id:参与者ID,例如lisi name:参与者名称,例如李四
4delegateType代办方式String代办方式,取值为DELEG(代办)|HELP(沟通)
5msg审批意见String“待办/沟通”
输出数据

字符串:success/failed

8 工作项查询管理

8.1 查询待办任务(包含业务实体)列表

方法名:queryPersonWorkItemsWithBizInfo

查询待办任务列表,根据参与者ID,查询该参与者处于运行或待领取状态的工作项。可以根据不同的参数查出“分配给自己的”、“代办的”、“协办的”或“代理”获得的工作项。

使用场景:查询待办任务列表,待办列表信息中包含主题的信息。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2pageCond分页属性PageCond分页对象
3systemPath系统待办标记String查询条件,选填,放入QueryData
4processInstName流程名称String查询条件,选填,放入QueryData
5processDefName流程定义String查询条件,选填,放入QueryData
6workItemName工作项名称String查询条件,选填,放入QueryData
7theme主题String查询条件,选填,放入QueryData
输出数据

类:BPSWorkList

8.2 查询已办任务(包含业务实体)列表

方法名:queryPersonFinishedWorkItemsWithBizInfo

查询已办任务列表,根据参与者ID,查询该参与者处于运行或待领取状态的工作项。可以根据不同的参数查出“分配给自己的”、“代办的”、“协办的”或“代理”获得的工作项。

使用场景:查询已办任务列表,已办列表信息中包含主题的信息。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2pageCond分页属性PageCond分页对象
3includeHistory包含历史Boolean
4systemPath系统待办标记String查询条件,选填,放入QueryData
5processInstName流程名称String查询条件,选填,放入QueryData
6processDefName流程定义String查询条件,选填,放入QueryData
7workItemName工作项名称String查询条件,选填,放入QueryData
8theme主题String查询条件,选填,放入QueryData
输出数据

类:BPSWorkList

9 流程图管理

9.1 获取流程图相关信息

方法名:getProcessGraph

获取流程图相关数据信息

使用场景:前端展示流程图

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDLong112233
输出数据

字符串:JSON

10 查询管理

10.1 根据流程实例ID****查询工作项

方法名:queryWorkItemsByProcessInstID

根据流程实例ID查询工作项,支持条件扩展查询。

conditionkey为字段名,value为字段值,

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDLong112233
3pageCond起始记录号PageCond分页对象
输出数据

类:BPSWorkList

10.2 查询指定人员启动的流程

方法名:queryPersonStartProcessInstWithBizInfo

查询指定人员启动的流程,包含扩展业务信息

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2pageCond分页属性PageCond分页对象
3processInstName流程名称String查询条件,选填,放入QueryData
4processDefName流程定义String查询条件,选填,放入QueryData
5workItemName工作项名称String查询条件,选填,放入QueryData
6currentState流程状态String查询条件,选填,放入QueryData
输出数据

类:BPSProcessInsts

11 操作日志管理

11.1 增加流程实例操作日志

增加流程实例操作日志,需要的接口已经集成该方法,特殊情况需要自己添加日志。

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDLong112233
3producer发起者String
4receiver接收者String
5optType操作类型String
6msg操作信息String
7exts扩展信息Map<String,String>Key值范围: extend1,extend2(数字型) extend5(字符串)
8activityInstName任务名称String发起节点
9userName用户名称String张三

optType取值范围及含义:

BACKACTIVITY("驳回"),

DELEG("代办"),

HELP("沟通"),

WITHDRAW("申请撤回"),

SUBMIT("启动流程"),

CANCELGET("沟通撤回"),

TERMINATE("终止"),

SAVE("确认"),

APPROVAL("通过")

输出数据

字符串:success/failed

11.2 根据流程实例ID****查询所有的操作日志

方法名:queryOptMsgsByProcessInstID

需要使用流程服务的各个业务系统

输入数据
序号字段名名称类型样例
1userID用户IDStringzhangsan
2processInstID流程实例IDLong112233
3pageCond起始记录号PageCond分页对象
输出数据

类:BPSOptMessages