最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

e-cology工作流(WorkflowService)WebService接口使用说明

实施与配置 bron1984 8792浏览

工作流WebService接口使用说明

一、检查部署是否成功:输入下面的地址

http://192.168.4.183(换成实际的地址):8060(实际的端口号)/services/,界面中有如下服务即可:

采用Web Serverice技术进行协同系统和业务系统进行数据交互,由协同系统方开发实现Web Serverice服务,业务系统方需在本地实现Web Serverice本地代理来进行调用。

协同系统方需提供的服务接口如下:

  1. 流程创建接口
  2. 流程流转控制接口

提供流程提交,退回和转发控制接口

  1. 需业务系统处理的任务列表

根据用户id和流程id获取该人员需要业务系统处理的任务列表,如果需要获取表单的数据在通过reqestid调用获取表单数据接口

  1. 获取表单数据接口

根据协同系统中流程主键requestid获取表单中所有数据

  1. 已归档任务列表

根据创建人id和流程id获取已经归档的任务列表

2.2.2接口说明

接口名称 参数说明 返回值 功能描述
创建新流程:

doCreateWorkflowRequest

WorkflowRequestInfo wri:

请求信息对象

userId:

用户id

String:新流程的requestid

如果小于0表示失败

-1:创建流程失败

-2:用户没有流程创建权限

-3:创建流程基本信息失败

-4:保存表单主表信息失败

-5:更新紧急程度失败

-6:流程操作者失败

-7:流转至下一节点失败

-8:节点附加操作失败

根据请求信息对象创建一条新的流程,请求信息对象中需包含创建人、创建流程id和表单的数据
代办数量:

getToDoWorkflowRequestCount

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组

Int:代办的数量 返回满足条件的用户可以得到的代办数目
代办列表:

getToDoWorkflowRequestList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowRequestInfo []:请求基本信息列表 根据参数条件获取需处理任务列表

排除创建节点任务

归档数目:

getRejectRequestCount

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组

Int:归档的数量
归档任务:

getProcessedRequest

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowRequestInfo []:请求基本信息列表 根据参数条件获取归档任务列表
表单数据:

getRequest

int requestId:

请求requestid

RequestInfo:

请求信息对象

根据流程requestid获得表单数据
流程提交:

submitWorkflowRequest

WorkflowRequestInfo request:

请求信息对象

int requestid:

请求id

int userid:

提交人ID

String type:

类型

String remark:

提交意见

Boolean:

True 成功

False 失败

流程提交
流程退回:

nextNodeByReject

int requestid:

请求id

int userid:

提交人ID

String remark:

退回意见

Boolean:

True 成功

False 失败

流程退回
流程转发:

forwardWorkflowRequest

int requestid:

请求id

String forwardoperator:

接收人id 多个用逗号分隔

String remark:

转发意见

String userId:

用户用户id

String clientip:

客户端ip地址

Boolean:

True 成功

False 失败

流程转发
搜索所有可用流程数量:

getAllWorkflowRequestCount

Int userid:

用户id

String[] conditions:

查询条件字符串数组

Int

返回数目

所有可用流程列表

getAllWorkflowRequestList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowRequestInfo []:请求基本信息列表 根据参数条件获取可用任务列表
得到所有抄送的流程数量

getCCWorkflowRequestCount

Int userid:

用户id

String[] conditions:

查询条件字符串数组

Int

返回数目

得到所有抄送流程列表

getCCWorkflowRequestList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowRequestInfo []:请求基本信息列表 根据参数条件获得抄送流程列表
得到可创建的工作流数量

getCreateWorkflowCount

Int userid:

用户id

String[] conditions:

查询条件字符串数组

Int

返回数目

取得可创建的工作流列表

getCreateWorkflowList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowBaseInfo []:流程基本信息列表 根据参数条件获得可创建流程列表
取得可创建的工作流类型数量

getCreateWorkflowTypeCount

Int userid:

用户id

String[] conditions:

查询条件字符串数组

Int

可创建的工作流类型数量

取得可创建的工作流类型列表

getCreateWorkflowTypeList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowBaseInfo[]:

工作流基本信息数组

根据参数条件获得可创建的流程类型列表
取得创建流程的相关信息

getCreateWorkflowRequestInfo

Int workflowId:

流程id

Int userid:

用户id

WorkflowRequestInfo:

流程信息对象

取得已办工作流类型数量

getHendledWorkflowRequestCount

Int userid:

用户id

String[] conditions:

查询条件字符串数组

Int:

可创建流程数量

取得已办流程列表

getHendledWorkflowRequestList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowRequestInfo []:请求基本信息列表 根据参数条件获得已办流程列表
取得已办工作流类型数量

getMyWorkflowRequestCount

Int userid:

用户id

String[] conditions:

查询条件字符串数组

Int:

我的请求流程数量

取得已办流程列表

getMyWorkflowRequestList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowRequestInfo []:请求基本信息列表 根据参数条件获得我的请求列表
取得流程new标记

getWorkflowNewFlag

String[] requestIds

多个流程id组成的数组

String ResourceId

人力资源id

String[]:

结果数组,0或者1组成的数组

取得流程详细信息

getWorkflowRequest

Int requestid

请求id

Int userid

用户id

Int fromrequestid

从相关id的工作流过来

WorkflowRequestInfo:流程信息
写入流程查看日志

writeWorkflowReadFlag

String requested

请求id

String userId

用户id

无返回值
取得归档工作流类型数量

getProcessedWorkflowRequestCount

Int userid:

用户id

String[] conditions:

查询条件字符串数组

Int:

归档流程数量

取得归档流程列表

getProcessedWorkflowRequestList

int pageNo:

当前页数

int pageSize:

每页的分页数量
int recordCount:

总行数

int userId:

用户id

String[] conditions:

查询流程的条件,为字符串数组类型

WorkflowRequestInfo []:请求基本信息列表 根据参数条件获得归档请求列表

接口对象说明:

1)WorkflowRequestInfo 工作流请求信息

/**

* 请求ID

*/

private String requestId;

 

/**

* 请求标题

*/

private String requestName;

 

/**

* 请求重要级别

*/

private String requestLevel;

 

/**

* 短信提醒

*/

private String messageType;

 

/**

* 流程类型

*/

private WorkflowBaseInfo workflowBaseInfo;

 

/**

* 当前节点名称

*/

private String currentNodeName;

 

/**

* 当前节点Id

*/

private String currentNodeId;

 

/**

* 流程状态

*/

private String status;

 

/**

* 创建者

*/

private String creatorId;

 

/**

* 创建时间

*/

private String createTime;

 

/**

* 最后操作者名称

*/

private String lastOperatorName;

 

/**

* 最后操作时间

*/

private String lastOperateTime;

 

/**

* 是否可查看

*/

private boolean canView;

 

/**

* 是否可编辑

*/

private boolean canEdit;

 

/**

* 签字意见是否必填

*/

private boolean mustInputRemark;

 

/**

* 主表信息

*/

private WorkflowMainTableInfo workflowMainTableInfo;

 

/**

* 明细表信息

*/

private WorkflowDetailTableInfo[] workflowDetailTableInfos;

 

/**

* 流转日志信息

*/

private WorkflowRequestLog[] workflowRequestLogs;

 

/**

* HTML显示模板

* 0 iPad

* 1 iPhone

*/

private String[] WorkflowHtmlTemplete;

 

/**

* 解析后的HTML显示内容

* 0 iPad

* 1 iPhone

*/

private String[] WorkflowHtmlShow;

/**

* 被代理人

*/

private String beagentid;

/**

* 流程短语

*/

private String[][] workflowPhrases;

2)WorkflowBaseInfo 工作流信息

/**

* 工作流ID

*/

private String workflowId;

 

/**

* 工作流标题

*/

private String workflowName;

 

/**

* 工作流类型ID

*/

private String workflowTypeId;

/**

* 工作流类型名称

*/

private String workflowTypeName;

2.2.3调用实例

根据实际的webservice客户端实现的客户端代码均不相同.以下仅供参考.

  1. 创建流程
/**

*创建流程,支持多明细,并且带附件字段–目前只支持一个附件,并且是(http格式的)

* @throws Exception

*/

public static void createRequest() throws Exception {

//主字段

WorkflowRequestTableField[] wrti = new WorkflowRequestTableField[4]; //字段信息

wrti[0] = new WorkflowRequestTableField();

wrti[0].setFieldName(“mutiresource”);//被留言人

wrti[0].setFieldValue(“111”);//被留言人字段的值,111为被留言人id

wrti[0].setView(true);//字段是否可见

wrti[0].setEdit(true);//字段是否可编辑

 

wrti[1] = new WorkflowRequestTableField();

wrti[1].setFieldName(“remark”);//留言内容

wrti[1].setFieldValue(“test”);

wrti[1].setView(true);

wrti[1].setEdit(true);

wrti[2] = new WorkflowRequestTableField();

wrti[2].setFieldName(“resource_n”);//留言人

wrti[2].setFieldValue(“111”);

wrti[2].setView(true);

wrti[2].setEdit(true);

wrti[3] = new WorkflowRequestTableField();

wrti[3].setFieldName(“fj2”);//附件

wrti[3].setFieldType(“http:baidu_sylogo1.gif”);//http:开头代表该字段为附件字段

wrti[3].setFieldValue(“http://www.baidu.com/img/baidu_sylogo1.gif”);//附件地址

wrti[3].setView(true);

wrti[3].setEdit(true);

 

WorkflowRequestTableRecord[] wrtri = new WorkflowRequestTableRecord[1];//主字段只有一行数据

wrtri[0] = new WorkflowRequestTableRecord();

wrtri[0].setWorkflowRequestTableFields(wrti);

 

WorkflowMainTableInfo wmi = new WorkflowMainTableInfo();

wmi.setRequestRecords(wrtri);

 

//明细字段

WorkflowDetailTableInfo wdti[] = new WorkflowDetailTableInfo[2];//两个明细表0明细表1,1明细表2

 

//明细表1 start

wrtri = new WorkflowRequestTableRecord[2];//数据 行数,假设添加2行明细数据

//第一行

wrti = new WorkflowRequestTableField[3]; //每行3个字段

wrti[0] = new WorkflowRequestTableField();

wrti[0].setFieldName(“sl”);//数量

wrti[0].setFieldValue(“11”);

wrti[0].setView(true);

wrti[0].setEdit(true);

 

wrti[1] = new WorkflowRequestTableField();

wrti[1].setFieldName(“dj”);//单价

wrti[1].setFieldValue(“2”);

wrti[1].setView(true);

wrti[1].setEdit(true);

wrti[2] = new WorkflowRequestTableField();

wrti[2].setFieldName(“xj”);//小记

wrti[2].setFieldValue(“22”);

wrti[2].setView(true);

wrti[2].setEdit(true);

 

wrtri[0] = new WorkflowRequestTableRecord();

wrtri[0].setWorkflowRequestTableFields(wrti);

 

//第二行

wrti = new WorkflowRequestTableField[3]; //每行3个字段

wrti[0] = new WorkflowRequestTableField();

wrti[0].setFieldName(“sl”);//数量

wrti[0].setFieldValue(“110”);

wrti[0].setView(true);

wrti[0].setEdit(true);

 

wrti[1] = new WorkflowRequestTableField();

wrti[1].setFieldName(“dj”);//单价

wrti[1].setFieldValue(“2”);

wrti[1].setView(true);

wrti[1].setEdit(true);

wrti[2] = new WorkflowRequestTableField();

wrti[2].setFieldName(“xj”);//小记

wrti[2].setFieldValue(“220”);

wrti[2].setView(true);

wrti[2].setEdit(true);

 

wrtri[1] = new WorkflowRequestTableRecord();

wrtri[1].setWorkflowRequestTableFields(wrti);

 

wdti[0] = new WorkflowDetailTableInfo();

wdti[0].setWorkflowRequestTableRecords(wrtri);//加入明细表1的数据

//明细表1 end

 

 

//明细表2 start

wrtri = new WorkflowRequestTableRecord[1];//数据行数,假设添加1行明细数据

 

//第一行

wrti = new WorkflowRequestTableField[3]; //每行3个字段

wrti[0] = new WorkflowRequestTableField();

wrti[0].setFieldName(“cl3”);//

wrti[0].setFieldValue(“11”);

wrti[0].setView(true);

wrti[0].setEdit(true);

 

wrti[1] = new WorkflowRequestTableField();

wrti[1].setFieldName(“cl1111”);//

wrti[1].setFieldValue(“2”);

wrti[1].setView(true);

wrti[1].setEdit(true);

wrtri[0] = new WorkflowRequestTableRecord();

wrtri[0].setWorkflowRequestTableFields(wrti);

 

wdti[1] = new WorkflowDetailTableInfo();

wdti[1].setWorkflowRequestTableRecords(wrtri);//加入明细表2的数据

//明细表2 end

 

WorkflowBaseInfo wbi = new WorkflowBaseInfo();

wbi.setWorkflowId(“5”);//workflowid 5 代表内部留言

 

WorkflowRequestInfo wri = new WorkflowRequestInfo();//流程基本信息

wri.setCreatorId(“111”);//创建人id

wri.setRequestLevel(“2”);//0 正常,1重要,2紧急

wri.setRequestName(“留言测试接口”);//流程标题

wri.setWorkflowMainTableInfo(wmi);//添加主字段数据

wri.setWorkflowBaseInfo(wbi);

wri.setWorkflowDetailTableInfos(wdti);

 

//执行创建流程接口

WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy();

String requestid = WorkflowServicePortTypeProxy.doCreateWorkflowRequest(wri, 111);

System.out.println(“requestid:”+requestid);

 

}

  1. 获取代办列表数量
/**

* 获得代办事宜数量

* @throws RemoteException

*/

public static void getDaiBanShuLiang() throws RemoteException{

WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy();

int count = WorkflowServicePortTypeProxy.getToDoWorkflowRequestCount(111, null);

System.out.println(“代办事宜数量:”+count);//获取待办事宜接口

//带查询条件查询,只能写关于这2个表的查询条件 workflow_requestbase t1,workflow_currentoperator t2

//查询条件里面不需要写and

String conditions[] = new String[2];

conditions[0] = ” t1.currentnodetype = 2 “;//状态为审批

conditions[1] = ” t1.creater = 111 “;//创建人为111

count = WorkflowServicePortTypeProxy.getToDoWorkflowRequestCount(111, conditions);

System.out.println(“代办事宜数量:”+count);//获取待办事宜接口

}

  1. 获得代办事宜列表
/**

* 获得代办列表

*/

public static void getDaiBanLieBiao() throws Exception{

WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy();

WorkflowRequestInfo WorkflowRequestInfo[] = WorkflowServicePortTypeProxy.getToDoWorkflowRequestList(1, 15, 100, 111, null);//获取待办事宜接口

System.out.println(“代办事宜列表数量:”+WorkflowRequestInfo.length);

for(int i=0;i<WorkflowRequestInfo.length;i++){

WorkflowRequestInfo wri = WorkflowRequestInfo[i];

System.out.println(wri.getCreatorId()+” “+wri.getCreatorName()+” “+wri.getRequestName()+” “+wri.getCreateTime());

}

}

转载请注明:赫非域 » e-cology工作流(WorkflowService)WebService接口使用说明