流程管理工作流引擎API说明DOC 50页Word文件下载.docx

上传人:b****5 文档编号:17020082 上传时间:2022-11-27 格式:DOCX 页数:58 大小:239KB
下载 相关 举报
流程管理工作流引擎API说明DOC 50页Word文件下载.docx_第1页
第1页 / 共58页
流程管理工作流引擎API说明DOC 50页Word文件下载.docx_第2页
第2页 / 共58页
流程管理工作流引擎API说明DOC 50页Word文件下载.docx_第3页
第3页 / 共58页
流程管理工作流引擎API说明DOC 50页Word文件下载.docx_第4页
第4页 / 共58页
流程管理工作流引擎API说明DOC 50页Word文件下载.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

流程管理工作流引擎API说明DOC 50页Word文件下载.docx

《流程管理工作流引擎API说明DOC 50页Word文件下载.docx》由会员分享,可在线阅读,更多相关《流程管理工作流引擎API说明DOC 50页Word文件下载.docx(58页珍藏版)》请在冰豆网上搜索。

流程管理工作流引擎API说明DOC 50页Word文件下载.docx

具体可参考/horizon/workflow/include2/xmlwork.index.hidden.jsp

流程参数总体说明

参数名

含义

格式要求

必须赋值

flowIdentifier

流程数据源标识

configuration.xml或者workflow.xml配置,具体参考启动流程初始化XMLWork额外属性说明

dataIdentifier

业务数据源标识

UserID

操作人用户Id

UserName

操作人用户名称

DeptName

操作人部门名称

WorkID

流程实例id

NodeID

流程实例当前节点Id

NodeName

流程实例当前节点名称

TrackID

路径Id

//如果当前人在多个分支节点都具有权限,还需要指定路径ID

//如果不指定,系统会自动获取所有分支,返回前台供选择

actionFlag

操作权限设置

1:

允许操作

selectAuthor

办理人员的Id

单个节点(或者不需要传入节点)时为[user1|user2或者node=user1|user2]

多个节点时[node1=user1|user2&

node2=user3]

流程节点的办理人无值时为必填项

selectAuthorCN

办理人员的中文名称

secondAuthor

选择的协办人员

格式同selectAuthor

nextNodeID

下一个节点Id

1.如果提交到下一点,只有一个节点时,请不要赋值,置为空;

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|

如果在workflow.xml中配置ReChgMsgFlag节点为true时需要传入发送消息的方式

ActionName

操作类型

Save等,具体参考总体中的流程执行操作

allowUnitNext

合并节点,是否允许执行提交操作

1:

允许,其他不允许

合并节点时为必填项

cancelFlag

撤销时的标志,默认删除

1=删除,2=回收站

只有执行撤销操作时为必填项

urlapp

待办链接地址

如果为空则默认使用流程框架页面打开

Comments

意见内容

selectFlag

当前节点如果替换处理人和转办时,是否允许选择多人

执行替换和转办时为必填项

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

如果有选择节点页面,在确认页面上出现上一步按钮

显示,其他不出现

ActionClass

执行业务的action名称

默认com.horizon.workflow

.flowengine.impl.entity.XMLApp

tmpSaveInfo

临时信息记录(目前用于存储当前人填写的意见信息)

3.流程执行操作说明

流程执行操作

1.

系统默认处理过程

(具体点击上面链接)

引入的包:

com.horizon.workflow.flowengine.impl.entity.XMLApp

com.horizon.workflow.flowengine.pub.XMLWork

从request中获取的相关参数参考流程参数总体说明,以及要执行下面具体操作的说明

(1)传入request对象,调用doAction

XMLAppapp=newXMLApp();

LinkedHashMapbackMap=app.doAction(request);

//返回结果

intcp=Integer.parseInt((String)backMap.get("

iResult"

));

//获取提交后的流程信息

XMLWorkxWork=(XMLWork)backMap.get("

xWork"

);

(2)把参数放入的LinkedHashMap,调用doAction

LinkedHashMapdataHashMap=newLinkedHashMap();

LinkedHashMapbackMap=app.doAction(dataHashMap);

根据操作的类型,组织dataHashMap的数据,具体参考流程参数总体说明,以及要执行下面具体操作的说明

2.

自行编写处理过程

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,设置相关属性

1.XMLWorkxWork=newXMLWork(userid,username,deptname);

启动具体的流程实例

(返回值说明见下面)

2.intinit=xWork.openWorkFlow(””,flowID,””);

2.启动流程实例参数说明

要求

userid

启动实例的操作人的用户Id

不能为空

username

启动实例的操作人的用户名称

可以为空

deptname

启动实例的操作人的部门名称

flowID

3.启动流程初始化XMLWork额外属性说明

初始化XMLWork,设置相关属性(根据业务,如有需要,可以设置以下内容)

xWork.setFlowIdentifier()

设置流程数据所使用的数据源标识符。

configuration.xml中设置的默认数据源和workflow.xml中的设置不一致时,设置为空和设置成null(或者不设置)是有区别的,设置为空时,系统使用configuration.xml中设置的默认数据源,设置成null(或者不设置)时,使用的是workflow.xml中的设置。

数据源无效时,系统默认使用configuration.xml中设置的默认数据源。

如果flowIdentifier跟dataIdentifier一样可以直接使用xWork.setIdentifier(“”)对两个变量同时赋值

xWork.setDataIdentifier()

设置业务数据所使用的数据源标识符。

xWork.setUserAuthType()

如果需要设置外部办理人获取方式。

4.启动流程实例返回值[init]说明

返回值

init=StaticVar.Init_Success

初始化成功。

init=StaticVar.Init_NoRole

当前人员无权启动流程

init=StaticVar.Init_ReadMsg

锁定当前实例失败,启动流程时不影响,可以等同成功

init=StaticVar.Init_Failed

其他原因失败从xWork.getBackMsg();

可以获取错误信息

启动流程实例成功后,可以从xWork对象中获取相关的信息,具体参考XMLWork方法摘要

5.启动实例代码样例

/**启动流程实例操作,从前台获取参数,获取流程定义Id等信息,具体可参考horizon/workflow/include2/xmlwork.index.head.jsp*/

//1.流程定义Id,必须有此值

StringflowID=request.getParameter("

flowid"

//2.外部权限设置分类,XMLWork额外属性,可以不用设置

StringuserAuthType=request.getParameter("

userAuthType"

//3.获得数据源,XMLWork额外属性,可以不用设置

StringdbIdentifier=request.getParameter("

dbIdentifier"

//4.当前用户信息,根据应用系统的区别,灵活获取。

下面是产品中的自带的用户获取方式

Stringuserid=SessionUtil.getUserId(session);

//用户Id必须有值

Stringusername=SessionUtil.getUserName(session);

Stringdeptname=SessionUtil.getDeptName(session);

//5.初始化XMLWork属性

XMLWorkxWork=newXMLWork(userid,username,deptname);

//如果需要设置XMLWork额外属性

xWork.setIdentifier(dbIdentifier);

xWork.setUserAuthType(userAuthType);

//6.启动流程实例,第一个参数是流程实例Id,第二个参数是流程定义Id,第三个参数是业务数据Id,如果三个都有值,获取流程数据的优先顺序:

workID>

flowID>

dataID

intinit=xWork.openWorkFlow(“”,flowID,””);

//7.启动流程实例成功后,对业务数据的处理

//在启动流程实例的界面中,如果提交流程操作时,同时保存业务数据,使用自定义的编写处理类方式流转,业务数据可以在对应的getAppSQL()方法中具体处理。

具体可参考自行编写处理类过程。

//获取当前节点当前人所具有的表单信息(包含表单域和操作信息),具体可参考horizon\workflow\include2\xmlwork.index.form.jsp

StringformId=“”;

//业务的表单ID,根据业务随机修改

Stringdataid=xWork.getIDByFormID(formId,“DataID”);

com.horizon.workflow.flowengine.xmldb.XMLForm[]xmlForms=xWork.getCurForm(dataid);

for(inti=0;

i<

form.length;

i++){

{

Stringformid=form[i].getID();

//流程跟踪表单

if(formid.equalsIgnoreCase("

FlowTrack"

)){

//如果是流程跟踪表单,可以执行链接到流程跟踪界面

}elseif(form[i].getFormtype().equals("

HTML"

//静态Html页面

JSP"

//自定义的JSP页面

//获取表单信息

LinkedHashMapformFieldMap=xWork.getFieldsTypeByFormID(i);

//业务数据Id

StringdataID=form[i].getDataID()

//表单Id

Stringformid=form[i].getID();

//库表名称

Stringtablename=form[i].getTableID();

//该节点的只读字段列表

Stringmpread=formFieldMap.get("

read"

).toString();

//该节点的编辑字段列表

Stringmpedit=formFieldMap.get("

edit"

//该节点的必填字段列表

Stringmpmust=formFieldMap.get("

check"

//该节点的隐藏字段列表

Stringmphide=formFieldMap.get("

hidden"

//该节点的其他标识(比如表单自己的按钮之类的标识)列表

Stringmpother=formFieldMap.get("

other"

}else{

//其他使用整体框架功能

}

三、打开实例

1.打开流程实例整体说明

打开具体的流程实例

2.intinit=xWork.openWorkFlow(workid,””,””);

2.打开流程实例参数说明

username

workid

3.打开流程初始化XMLWork额外属性说明

(1)configuration.xml中设置的默认数据源和workflow.xml中的设置不一致时,设置为空和设置成null(或者不设置)是有区别的,设置为空时,系统使用configuration.xml中设置的默认数据源,设置成null(或者不设置)时,使用的是workflow.xml中的设置。

(2)如果flowIdentifier跟dataIdentifier一样可以直接使用xWork.setIdentifier(“”)对两个变量同时赋值

xWork.setDataIdentifier()

xWork.setOpenTrackID()

设置指定路径Id

打开流程实例时可以设置此值

(1)如果当前人在多个分支节点都具有权限,还需要指定路径ID

(2)如果不指定,系统会自动获取所有分支,返回前台供选择

4.打开流程实例返回值[init]说明

init=StaticVar.Init_SelectNode

选择需要打开的节点

Stringallnodes=xWork.getBackMsg();

String[]nodes=allnodes.split("

\\|"

选择后的结果赋值给xWork.setOpenTrackID(“”);

return;

init=StaticVar.Init_Success

打开实例成功

当前人员无权查看此流程实例

当前人只能以只读权限打开(此时不能执行任何操作)

init=StaticVar.Init_Locked

当前实例被其他人锁定(此时不能执行任何操作)

init=StaticVar.Init_LockFailed

锁定当前实例失败,此时其他人仍然可以打开实例进行操作,可能会出现数据冲突问题,建议退出重新打开

打开流程实例成功后,可以从xWork对象中获取相关的信息,具体参考XMLWork方法摘要

5.打开实例代码样例

/**打开流程实例操作,从前台获取参数,获取流程实例Id等信息,具体可参考horizon/workflow/include2/xmlwork.index.head.jsp*/

//1.流程实例Id,必须有此值

Stringworkid=request.getParameter("

workid"

//4.设置指定路径Id,XMLWork额外属性,如果没有分支,可以不用设置

StringopenTrackID=request.getParameter("

openTrackID"

//5.当前用户信息,根据应用系统的区别,灵活获取。

xWork.setOpenTrackID(openTrackID);

//6.打开流程实例

intinit=xWork.openWorkFlow(workid,””,””);

//7.打开流程实例成功后,对业务数据的处理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1