当前位置:文档之家› 泛微OA工作流WebService接口使用说明

泛微OA工作流WebService接口使用说明

工作流W e b S e r v i c e接口使用说明一、检查部署是否成功:输入下面的地址(换成实际的地址):8060(实际的端口号)/services/,界面中有如下服务即可:采用Web Serverice技术进行协同系统和业务系统进行数据交互,由协同系统方开发实现Web Serverice服务,业务系统方需在本地实现Web Serverice 本地代理来进行调用。

协同系统方需提供的服务接口如下:1、流程创建接口2、流程流转控制接口提供流程提交,退回和转发控制接口3、需业务系统处理的任务列表根据用户id和流程id获取该人员需要业务系统处理的任务列表,如果需要获取表单的数据在通过reqestid调用获取表单数据接口4、获取表单数据接口根据协同系统中流程主键requestid获取表单中所有数据5、已归档任务列表根据创建人id和流程id获取已经归档的任务列表接口对象说明: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;根据实际的webservice客户端实现的客户端代码均不相同.以下仅供参考. 1)创建流程/***创建流程,支持多明细,并且带附件字段--目前只支持一个附件,并且是(http格式的)* @throws Exception*/public static void createRequest() throws Exception {//主字段WorkflowRequestTableField[] wrti = newWorkflowRequestTableField[4]; //字段信息wrti[0] = new WorkflowRequestTableField();wrti[0].setFieldName("mutiresource");//被留言人wrti[0].setFieldValue("111");//被留言人字段的值,111为被留言人idwrti[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].setEdit(true);wrti[3] = new WorkflowRequestTableField();wrti[3].setFieldName("fj2");//附件wrti[3].setFieldType("http:baidu_sylogo1.gif");//http:开头代表该字段为附件字段wrti[3].setFieldValue();//附件地址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[] = newWorkflowDetailTableInfo[2];//两个明细表0明细表1,1明细表2//明细表1 startwrtri = 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].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 startwrtri = 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 endWorkflowBaseInfo wbi = new WorkflowBaseInfo();wbi.setWorkflowId("5");//workflowid 5 代表内部留言WorkflowRequestInfo wri = new WorkflowRequestInfo();//流程基本信息wri.setCreatorId("111");//创建人idwri.setRequestLevel("2");//0 正常,1重要,2紧急2)获取代办列表数量/*** 获得代办事宜数量* @throws RemoteException*/public static void getDaiBanShuLiang() throws RemoteException{ WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy();int count =WorkflowServicePortTypeProxy.getToDoWorkflowRequestCount(111, null);System.out.println("代办事宜数量:"+count);//获取待办事宜接口//带查询条件查询,只能写关于这2个表的查询条件 workflow_requestbaset1,workflow_currentoperator t2//查询条件里面不需要写andString conditions[] = new String[2];conditions[0] = " t1.currentnodetype = 2 ";//状态为审批conditions[1] = " t1.creater = 111 ";//创建人为111count =WorkflowServicePortTypeProxy.getToDoWorkflowRequestCount(111, conditions);System.out.println("代办事宜数量:"+count);//获取待办事宜接口}3)获得代办事宜列表。

相关主题