流程引擎API调用说明.docx
- 文档编号:9127983
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:32
- 大小:24.72KB
流程引擎API调用说明.docx
《流程引擎API调用说明.docx》由会员分享,可在线阅读,更多相关《流程引擎API调用说明.docx(32页珍藏版)》请在冰豆网上搜索。
流程引擎API调用说明
慧正工作流引擎API说明
(试用版)
北京慧正通软科技有限公司
2012年5月
一、总体
1.业务操作说明
业务操作说明
功能
方法
参数说明
1.
XMLWorkxWork=newXMLWork(Stringuserid,Stringusername,Stringdeptname)
必要参数:
Userid:
用户Id
UserName:
用户名称
DeptName:
部门名称
intinit=(””,flowID,””);
根据流程定义Id,启动流程实例
必要参数:
flowID:
流程定义Id
2.
XMLWorkxWork=newXMLWork(Stringuserid,Stringusername,Stringdeptname)
设置XMLWork的基本属性
必要参数:
Userid:
用户Id
UserName:
用户名称
DeptName:
部门名称
intinit=(workid,””,””);
根据流程实例Id,打开流程实例
必要参数:
workid:
流程实例Id
2.流程参数说明
具体可参考
流程参数总体说明
参数名
含义
格式要求
必须赋值
flowIdentifier
流程数据源标识
或者配置,具体参考
dataIdentifier
业务数据源标识
UserID
操作人用户Id
■
UserName
操作人用户名称
DeptName
操作人部门名称
WorkID
流程实例id
■
NodeID
流程实例当前节点Id
■
NodeName
流程实例当前节点名称
TrackID
路径Id
果提交到下一点,只有一个节点时,请不要赋值,置为空;
2.当下一节点有多个节点,根据路由条件无法确定时,可以指定其中一个或者多个来确定流程走向。
传入格式:
(必须从返回格式中获取传入数据)
rId1~nId1|rId2~nId2&rId3~nId3
路由ID~节点ID。
3.如果从当前节点(A)到目标节点(C)之间有其他节点(B)被跳过时格式为:
路由B~节点B|路由C~节点C
4.多个节点被选择时,使用&连接
■
msgSendFlag
发送消息方式
ToDo|Mail|Msg|Note|RTF|Other|
如果在中配置ReChgMsgFlag节点为true时需要传入发送消息的方式
ActionName
操作类型
Save等,具体参考总体中的流程执行操作
■
allowUnitNext
合并节点,是否允许执行提交操作
1:
允许,其他不允许
合并节点时为必填项
cancelFlag
撤销时的标志,默认删除
1=删除,2=回收站
只有执行撤销操作时为必填项
urlapp
待办链接地址
如果为空则默认使用流程框架页面打开
Comments
意见内容
selectFlag
当前节点如果替换处理人和转办时,是否允许选择多人
1:
允许,其他不允许
执行替换和转办时为必填项
submitflag
操作提交状态
(1)提交操作时的含义:
1=获取下一节点信息,返回是否选择节点,是否需要选择人员,用于跟前台交互,0=执行提交到下一节点办理人,如果处理中遇到节点不明确或者办理人不明确时,跟1效果一样。
当需要跟前台操作人进行交互,比如获取是否需要选择节点或者选择办理人,是否需要操作人进行确认等,建议使用1,处理速度会快一点。
(2)跳转操作时的含义:
1=获取可以跳转的节点列表,0=执行跳转到指定节点。
(3)退回操作时的含义:
1=获取可以退回的节点列表,0=执行退回到指定节点操作。
(4)启动子流程时的含义:
如果系统提供了启动子流程的ID(参数selectFlowID),则忽略此参数,不提供selectFlowID参数时,如果当前人没有启动过子流程时忽略此参数,直接根据定义判断是否有多个子流程定义,如果只有一个子流程定义,则直接启动,否则返回;如果当前人已经启动过子流程,1=获取已经启动的子流程列表,并返回,0=根据定义判断是否有多个子流程定义,如果只有一个子流程定义,则直接启动,否则返回。
(5)催办操作时的含义:
1=催办次数如果已经达到上限则停止,0=催办次数已经达到上限也继续催办
■
curNodeAuthorSendFlag
当前节点的作者消息发送方式,用于执行会签,加签,替换,转办
格式同msgSendFlag
curNodeReaderSendFlag
当前节点的读者消息发送方式,用于执行阅知操作时显示在前台供操作者选择
selectFlowID
启动子流程的Id
启动子流程时为必填项
FormAction
流程提交操作的URL
■
tmpAuthor
选择人员时,临时获取选择范围
格式同SelectAuthor
preFlag
如果有选择节点页面,在确认页面上出现上一步按钮
1:
显示,其他不出现
ActionClass
执行业务的action名称
默认
tmpSaveInfo
临时信息记录(目前用于存储当前人填写的意见信息)
3.流程执行操作说明
流程执行操作
1.
(具体点击上面链接)
引入的包:
.XMLWork
从request中获取的相关参数参考流程参数总体说明,以及要执行下面具体操作的说明
(1)传入request对象,调用doAction
XMLAppapp=newXMLApp();
LinkedHashMapbackMap=(request);
(具体点击上面链接)
LinkedHashMaphashMap=newLinkedHashMap();
2.在自定义的类中执行
intresult=doAction(null,hashMap);
组织流程操作需要的参数
具体根据流程参数总体说明以及对应的操作设置相关参数,放入到hashMap中。
4.流程实例流转操作
操作名称
英文标识
说明
提交
Submit
提交到下一节点
退回
reject
退回到某个节点
拿回
getback
拿回已提交的流程
阅知
addreader
发送待阅
撤销
cancel
撤销流程
跳转
goto
跳转到某个节点
会签
huiqian
发送给相关人员会签
加签
jiaqian
发送给相关人员加签
转办
move
转交给其他人办理
暂停
pause
暂停流程
已阅
readed
阅读待阅的信息
催办
remsg
催办流程实例
替换办理人
replace
替换流程的办理人
暂存
save
暂存流程实例
终止流程
stopflow
终止流程实例
启动子流程
subflow
启动子流程
二、启动实例
1.启动流程实例整体说明
引入类:
.XMLWork
执行方法
初始化XMLWork,设置相关属性
1.XMLWorkxWork=newXMLWork(userid,username,deptname);
启动具体的流程实例
(返回值说明见下面)
init=(””,flowID,””);
2.启动流程实例参数说明
参数名
含义
要求
userid
启动实例的操作人的用户Id
不能为空
username
启动实例的操作人的用户名称
可以为空
deptname
启动实例的操作人的部门名称
可以为空
flowID
流程定义Id
不能为空
3.启动流程初始化XMLWork额外属性说明
初始化XMLWork,设置相关属性(根据业务,如有需要,可以设置以下内容)
()
设置流程数据所使用的数据源标识符。
中设置的默认数据源和中的设置不一致时,设置为空和设置成null(或者不设置)是有区别的,设置为空时,系统使用中设置的默认数据源,设置成null(或者不设置)时,使用的是中的设置。
数据源无效时,系统默认使用中设置的默认数据源。
如果flowIdentifier跟dataIdentifier一样可以直接使用(“”)对两个变量同时赋值
xWork.setDataIdentifier()
设置业务数据所使用的数据源标识符。
xWork.setUserAuthType()
如果需要设置外部办理人获取方式。
4.启动流程实例返回值[init]说明
返回值
含义
init=
初始化成功。
init=
当前人员无权启动流程
init=
锁定当前实例失败,启动流程时不影响,可以等同成功
init=
其他原因失败从();可以获取错误信息
启动流程实例成功后,可以从xWork对象中获取相关的信息,具体参考
5.启动实例代码样例
/**启动流程实例操作,从前台获取参数,获取流程定义Id等信息,具体可参考*/
程定义Id,必须有此值
StringflowID=("flowid");
部权限设置分类,XMLWork额外属性,可以不用设置
StringuserAuthType=("userAuthType");
得数据源,XMLWork额外属性,可以不用设置
StringdbIdentifier=("dbIdentifier");
前用户信息,根据应用系统的区别,灵活获取。
下面是产品中的自带的用户获取方式
Stringuserid=(session);始化XMLWork属性
XMLWorkxWork=newXMLWork(userid,username,deptname);
动流程实例,第一个参数是流程实例Id,第二个参数是流程定义Id,第三个参数是业务数据Id,如果三个都有值,获取流程数据的优先顺序:
workID>flowID>dataID
intinit=(“”,flowID,””);
动流程实例成功后,对业务数据的处理
etCurForm(dataid);
for(inti=0;i<;i++){
{
Stringformid=form[i].getID();
etFormtype().equals("HTML")){
etFormtype().equals("JSP")){
etDataID()
etID();
etTableID();
oString();
oString();
oString();
oString();
oString();
}else{
6.
MLWork
执行方法
初始化XMLWork,设置相关属性
1.XMLWorkxWork=newXMLWork(userid,username,deptname);
打开具体的流程实例
(返回值说明见下面)
init=(workid,””,””);
7.打开流程实例参数说明
参数名
含义
要求
userid
启动实例的操作人的用户Id
不能为空
username
启动实例的操作人的用户名称
可以为空
deptname
启动实例的操作人的部门名称
可以为空
workid
流程实例Id
不能为空
8.打开流程初始化XMLWork额外属性说明
初始化XMLWork,设置相关属性(根据业务,如有需要,可以设置以下内容)
()
设置流程数据所使用的数据源标识符。
(1)中设置的默认数据源和中的设置不一致时,设置为空和设置成null(或者不设置)是有区别的,设置为空时,系统使用中设置的默认数据源,设置成null(或者不设置)时,使用的是中的设置。
数据源无效时,系统默认使用中设置的默认数据源。
(2)如果flowIdentifier跟dataIdentifier一样可以直接使用(“”)对两个变量同时赋值
()
设置业务数据所使用的数据源标识符。
()
设置指定路径Id
打开流程实例时可以设置此值
(1)如果当前人在多个分支节点都具有权限,还需要指定路径ID
(2)如果不指定,系统会自动获取所有分支,返回前台供选择
9.打开流程实例返回值[init]说明
返回值
含义
init=
选择需要打开的节点
Stringallnodes=();
String[]nodes=("\\|");
选择后的结果赋值给(“”);
return;
init=
打开实例成功
init=
当前人员无权查看此流程实例
init=
当前人只能以只读权限打开(此时不能执行任何操作)
init=
当前实例被其他人锁定(此时不能执行任何操作)
init=
锁定当前实例失败,此时其他人仍然可以打开实例进行操作,可能会出现数据冲突问题,建议退出重新打开
init=
其他原因失败从();可以获取错误信息
打开流程实例成功后,可以从xWork对象中获取相关的信息,具体参考
10.打开实例代码样例
/**打开流程实例操作,从前台获取参数,获取流程实例Id等信息,具体可参考*/
程实例Id,必须有此值
Stringworkid=("workid");
部权限设置分类,XMLWork额外属性,可以不用设置
StringuserAuthType=("userAuthType");
得数据源,XMLWork额外属性,可以不用设置
StringdbIdentifier=("dbIdentifier");
设置指定路径Id,XMLWork额外属性,如果没有分支,可以不用设置
StringopenTrackID=("openTrackID");
前用户信息,根据应用系统的区别,灵活获取。
下面是产品中的自带的用户获取方式
Stringuserid=(session);始化XMLWork属性
XMLWorkxWork=newXMLWork(userid,username,deptname);
setOpenTrackID(openTrackID);
开流程实例
intinit=(workid,””,””);
开流程实例成功后,对业务数据的处理
etCurForm(dataid);
for(inti=0;i<;i++){
{
Stringformid=form[i].getID();
etFormtype().equals("HTML")){
etFormtype().equals("JSP")){
etDataID()
etID();
etTableID();
oString();
oString();
oString();
oString();
oString();
}else{
oUpperCase(),"");oUpperCase(),"");oUpperCase(),"");oUpperCase(),"0");
提交操作时的含义,1=获取下一节点信息,返回是否选择节点,是否需要选择人员,用于跟前台交互,0=执行提交到下一节点办理人,如果处理中遇到节点不明确或者办理人不明确时,跟1效果一样。
当需要跟前台操作人进行交互,比如获取是否需要选择节点或者选择办理人,是否需要操作人进行确认等,建议使用1,处理速度会快一点。
跳转操作时的含义:
1=获取可以跳转的节点列表,0=执行跳转到指定节点。
退回操作时的含义:
1=获取可以退回的节点列表,0=执行退回到指定节点操作。
启动子流程时的含义:
如果系统提供了启动子流程的ID(参数selectFlowID),则忽略此参数,不提供selectFlowID参数时,如果当前人没有启动过子流程时忽略此参数,直接根据定义判断是否有多个子流程定义,如果只有一个子流程定义,则直接启动,否则返回;如果当前人已经启动过子流程,1=获取已经启动的子流程列表,并返回,0=根据定义判断是否有多个子流程定义,如果只有一个子流程定义,则直接启动,否则返回。
催办操作时的含义:
1=催办次数如果已经达到上限则停止,0=催办次数已经达到上限也继续催办
启动子流程时可能需要的参数,指定子流程ID
("selectFlowID".toUpperCase(),"");
oUpperCase(),"");
oUpperCase(),"Submit");oUpperCase(),workID);oUpperCase(),userid);oUpperCase(),"");oUpperCase(),"");oUpperCase(),"");
A.
etNodeID());
()==,获取当前节点已经选择的办理人,用于赋值给selectAuthor
(pos)
B.
1”取系统全部的发送消息方式
String[]msgCN=().MsgFlagCN();
StringmsgFlag="";
Stringother="";
if(xWork!
=null){
C.
D.
要将(“ActionName”,”reject”);
if(cp>{
1”ubstring(nodes[i].indexOf("~")+1);
ubstring(0,nodes[i].indexOf("~"));
}
}
}else{
E.
F.
G.
H.
要把selectAuthor变量赋值,此值是阅知人员Id
if(cp=={
I.
J.
要将(“ActionName”,”cancel”);
if(cp=={
K.
L.
要把selectAuthor变量赋值,此值是会签人员Id
if(cp>{
1”ubstring(nodes[i].indexOf("~")+1);
ubstring(0,nodes[i].indexOf("~"));
}
}
}else{0”sgFlagCN();
StringmsgFlag=?
():
"";
Stringother=?
(msgFlag):
"";
M.
N.
要把selectAuthor变量赋值,此值是会签人员Id
if(cp=={
O.
P.
要把selectAuthor变量赋值,此值是加签人员Id
if(cp=={
Q.
R.
要把selectAuthor变量赋值,此值是转办人员Id
if(cp=={
S.
T.
U.
V.
W.
X.
要将催办的内容Comments赋值,放到dataHashMap的Comments对应的值
if(cp=={
Y.
ZZ.
要把selectAuthor变量赋值,此值是替办人员Id
if(cp=={
AA.
BB.
CC.
DD.
EE.
FF.
要将selectFlowID选择的子流程放入到dataHashMap中.
if(cp=={
plit("\\|");
for(inti=0,n=;i if(list[i].length()==0)continue; ubstring(0,list[i].indexOf("~")); ubstring(list[i].indexOf("~")+1); If(“1”)){ plit("\\|"); for(inti=0,n=;i intpos=flowlist[i].indexOf("="); ubstring(0,pos); ubstring(pos+1); } ode_Parallel: 多人处理 StaticVar.Node_Order: 多人顺序 StaticVar.Node_Everyone: 多人单一签核 () 获取当前节点的办理方式 () 获取当前节点事件列表 () 获取当前节点当前人所具有的表单信息(包含表单域和操作信息) 获取当前节点当前人所具有的表单信息(包含表单域和操作信息)在已有数据上启动流程时,增加查找主表单,并判断是否有dataid,如果没有则使用参数赋值 () 获取当前节点ID () 获取当前节点名称 () 获取当前节点的读者消息发送方式 () 获取当前节点所有未办理人员列表中文名称,多个值用“|”分隔。 获取当前节点所有未办理人员列表中文名称,使用指定分隔符 () 获取当前节点所有未办理人员列表ID,多个值用“|”分隔。 () 获取当前节点的可能路由条件 () 获取当前执行人ID () 获取当前执行人的中文名称 () 业务数据源名称 (inti) 获取当前表单域信息,用于表单引擎解析 获取当前表单域信息,用于表单引擎解析 () 获取流程ID
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流程 引擎 API 调用 说明