泛微工作流对外接口技术说明(简单版)

合集下载

泛微Eoffice 8.0 工作流程功能使用指南

泛微Eoffice 8.0 工作流程功能使用指南

工作流程功能使用指南
改进功能:
➢流程操作列功能统一
➢流程列表标题字段统一
➢待办事宜、已办事宜、办结事宜增加快速筛选功能
➢流程办理页面、查看页面增加收藏功能
➢签到反馈、公共附件页面的上传附件功能由单个上传变更为批量上传
一、流程操作列、标题字段统一,不同的流程入口同样的操作链接,使您更加清晰、直观、快捷的办理流程。

1.流程待办事宜列表页面,如下图所示;
说明:操作列表的“删除”链接,系统管理员与其它用户都统称为“删除”链接。

2.流程已办事宜列表页面,如下图:
3.流程办结事宜列表页面,如下图所示。

4.我的请求列表页面,如下图:
5.流程查询列表页面(包括流程查询结果、执行中工作、最近十项、工具栏-流程查询结果),如下图:
二、待办事宜、已办事宜、办结事宜增加快速筛选功能,请参照《Eoffice 8.0:快速筛选功能使用指南》
三、签到反馈、公共附件页面的上传附件功能由单个上传变更为批量上传。

如下图所示:
说明:
➢签办反馈的输入框,由7.8单纯的编辑器变更为纯文本框和编辑器2种方式。

➢签办反馈添加附件功能,由7.8的单个上传改善为批量添加附件,即一次可添加多个附件。

当然上传附件的个数、大小还需在[系统管理-性能安全设置]中修改,如下图所示。

四、流程办理页面、查看页面增加收藏功能,详细见文档《Eoffice 8.0:收藏夹功能使用指南》
Eoffice品质部
2012-3-14。

泛微工作流对外接口技术说明(简单版)

泛微工作流对外接口技术说明(简单版)

泛微工作流对外接口技术说明(简单版)泛微协同商务系统开发文档系列之工作流对外接口技术说明(简单版) Weaver e-cology Info Control System For Tech User机要文件请勿传播工作流对外接口技术说明简单版目录开发背景 (3)软件功能 (3)技术特点 (4)接口说明 (4)/src/weaver/workflow/request/RequestOutWork.java (4)/src/weaver/workflow/request/RequestOutData.java (4)对于创建HTTP POST请求的说明 (5)一、开发背景由于客户的需求,e-cology系统的工作流模块需要提供一个方便的便于二次开发的接口,使客户可以根据自己的需要,灵活调用e-cology系统的工作流引擎,利用其强大灵活的流程设定功能,来完成自己的内容审批功能,或者其他需要通过工作流来完成的任务。

二、软件功能三、技术特点1、提交请求采用HTTPPOST方式,可以用其他语言来构造这个请求,而不仅仅用java语言。

2、在流程归档的时候给用户处理自己代码的机会,通过编写自己的java类并在配置文件里进行注册,就可以在归档的时候被工作流引擎调用,来完成需要归档时完成的操作。

四、接口说明这里描述的时客户开发需要用到的类,还有一些jsp文件和java 类文件这里没有说明,因为这些文件时开发当中不需要关心也不需要修改的。

/src/weaver/workflow/request/RequestOutWork.java描述:如果需要在归档的时候执行自己定义的操作,那么必须实现这个类的execute方法,在这个方法里可以执行自己的操作,然后把这个类注册到接口的配置文件里面,这样工作流引擎就可以在归档的时候调用这个类的execute方法了。

方法:booleanexecute(intrequestid)throwsRequestOutWorkException功能:执行归档前自定义的操作输入:工作流请求id返回:是否成功/src/weaver/workflow/request/RequestOutData.java描述:这个类可以帮助开发者根据requestid方便的得到工作流的相关数据方法:RequestOutData(intrequestid)功能:构建一个读取工作流数据的类,并且设置需要读取的工作流请求的id输入:工作流请求id方法:StringgetData(StringfieldName)功能:根据字段名称取得主表的数据输入:字段名称返回:字段的值方法:booleannext()功能:由于明细数据时多行的数据结构,所以有这个函数来在多行之间移动。

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

泛微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 {//主字段WorkflowRequestT ableField[] wrti = newWorkflowRequestT ableField[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].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();//附件地址wrti[3].setView(true);wrti[3].setEdit(true);WorkflowRequestT ableRecord[] wrtri = newWorkflowRequestT ableRecord[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].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 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紧急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);}2)获取代办列表数量/*** 获得代办事宜数量* @throws RemoteException*/public static void getDaiBanShuLiang() throws RemoteException{ WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy();int count =WorkflowServicePortTypeProxy.getT oDoWorkflowRequestCount(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.getT oDoWorkflowRequestC ount(111, conditions);System.out.println("代办事宜数量:"+count);//获取待办事宜接口}。

泛微SDK API接口说明描述

泛微SDK API接口说明描述

泛微法务部提请浏览者保护本文件的知识产权!谢谢您的配合!Weaver e-cology Server API【文档目的】本文档将介绍泛微e-cology Server所提供的二次扩展功能,包括API接口的说明、二次扩展应用的实现、以及部分扩展功能的示例程序。

通过本文档,您可以了解到如何通过泛微e-cology Server所提供的API接口进行一些个性化的功能扩展以及应用集成。

【应用范围】泛微e-cology Server作为企业管理平台,一方面为企业提供丰富的内部管理的功能模块(人力资源管理、工作流程管理、知识管理、项目管理、客户管理、财务管理、资产管理等),另一方面为企业的其他应用提供了丰富的集成、扩展接口。

基于Server API的扩展,可实现企业应用在ERP系统、财务系统,PDM等方面的集成以及无线应用方面的快速增强。

【开发人员】泛微e-cology Server SDK 为开发人员提供C、Jave 以及基于COM的API接口,适合于Windows平台上支持COM标准的任何开发语言和平台(VB、VC++、ASP、JA V A、PB、Delphi、LotusScript等)。

Weaver Server SDK 同时提供一个轻量HTTP Server,使非Windows平台也能够以HTTP请求的方式调用SDK。

本SDK的示例程序将以Java 为主。

【示例源程序】本SDK接口的测试源程序位于SDK安装目录下的Sample目录,通过所提供的VBScript测试程序,可以快速了解、检测SDK安相关接口的功能。

【最后更新】2004年01月一、概述概述】通过这个章节的学习,您在能够在短短的几分钟迅速成为Weaver Server SDK 应用专家。

1. 进入门篇:第一个程序:Hello,world2. 初级篇:HTTP SDK 跨平台调用3. 提高篇:面向对象编程4. 进阶篇:高性能与复杂应用二、开发向导1、应用框架Weaver Server为开发人员提供的API接口主要包括两部分:服务端和代理端,其中服务端安装在Weaver Server所在机器上,代理端安装在调用API的应用服务器上。

泛微oa前端开发接口方法和自定义方方法总结注释

泛微oa前端开发接口方法和自定义方方法总结注释

泛微oa前端开发接口方法和自定义方方法总结注释泛微OA前端开发接口方法和自定义方法总结一、概述在泛微OA前端开发中,接口方法和自定义方法是非常重要的一部分。

本文将从深度和广度两个方面对泛微OA前端开发接口方法和自定义方法进行全面评估,并撰写有价值的文章。

在文章中,我们将使用序号标注来更清晰地展现内容。

二、接口方法总结1. 接口方法的定义由于泛微OA前端开发是基于微服务架构的,因此接口方法在其中扮演着非常重要的角色。

接口方法是定义在服务端的接口,通过接口方法可以获取后端数据或执行后端操作。

2. 常用接口方法在泛微OA前端开发中,常用的接口方法包括但不限于:get方法、post方法、put方法和delete方法。

这些方法分别用于获取数据、提交数据、更新数据和删除数据。

3. 使用接口方法的注意事项在使用接口方法时,需要注意参数的传递、数据的处理以及异常的处理等问题。

还应该考虑接口方法的安全性和效率。

三、自定义方法总结1. 自定义方法的定义自定义方法是指前端开发人员根据具体需求自行定义的方法。

这些方法可以用于处理特定的业务逻辑或实现特定的功能。

2. 自定义方法的编写在泛微OA前端开发中,自定义方法的编写通常使用JavaScript语言。

开发人员可以根据具体需求编写各种各样的自定义方法,以满足不同的业务需求。

3. 使用自定义方法的技巧在使用自定义方法时,需要考虑方法的可复用性、可维护性以及性能等因素。

还应该遵循前端开发的最佳实践,确保自定义方法的质量和稳定性。

四、个人观点和理解在我看来,泛微OA前端开发接口方法和自定义方法的灵活运用对于提高开发效率和代码质量非常重要。

合理地选择和使用接口方法可以降低前后端开发的耦合度,而巧妙地编写和运用自定义方法则可以提升代码的可读性和可维护性。

五、总结与回顾通过本文的全面评估,我们深入了解了泛微OA前端开发接口方法和自定义方法的重要性,以及如何正确地使用和运用它们。

在日常开发中,我们应该充分利用接口方法和自定义方法,从而更加高效地完成前端开发工作。

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

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

工作流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 获取已经归档的任务列表接口名称参数说明返回值功能描述创建新流程:WorkflowRequestInfowri :String :新流程的根据请求信息对请求信息对象requestid象创建一条新的userId:如果小于 0 表示流程,请求信息用户 id失败对象中需包含创-1 :创建流程失败建人、创建流程-2 :用户没有流程id 和表单的数创建权限据-3 :创建流程基本信息失败-4 :保存表单主表信息失败-5 :更新紧急程度失败-6 :流程操作者失败-7 :流转至下一节点失败-8 :节点附加操作失败代办数量 :int userId:Int: 代办的数量返回满足条件的getToDoWorkflowRequest用户 id用户可以得到的Count String[] conditions:代办数目查询流程的条件 , 为字符串数组代办列表:int pageNo:WorkflowRequest根据参数条件获getToDoWorkflowRequest当前页数Info [] :请求基取需处理任务列List int pageSize:本信息列表表每页的分页数量排除创建节点任int recordCount:务总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型归档数目 :int userId:Int: 归档的数量getRejectRequestCount用户 idString[] conditions:查询流程的条件 , 为字符串数组归档任务:int pageNo:WorkflowRequest根据参数条件获getProcessedRequest当前页数Info []:请求基取归档任务列表int pageSize:本信息列表每页的分页数量int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型表单数据:int requestId:RequestInfo:根据流程getRequest请求 requestid请求信息对象requestid获得表单数据流程提交:WorkflowRequestInfo request: Boolean :流程提交submitWorkflowRequest请求信息对象True成功int requestid:False失败请求 idint userid:提交人 IDString type:类型String remark:提交意见流程退回:int requestid:Boolean :流程退回nextNodeByReject请求 id True成功int userid:False失败提交人 IDString remark:退回意见流程转发:int requestid:Boolean :流程转发forwardWorkflowRequest请求 id True成功String forwardoperator:False失败接收人 id 多个用逗号分隔String remark:转发意见String userId:用户用户 idString clientip:客户端 ip 地址搜索所有可用流程数量 :Int userid:IntgetAllWorkflowRequestC用户 id返回数目ount String[] conditions:查询条件字符串数组所有可用流程列表int pageNo:WorkflowRequest根据参数条件获getAllWorkflowRequestL当前页数Info [] :请求基取可用任务列表ist int pageSize:本信息列表每页的分页数量int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型得到所有抄送的流程数量Int userid:IntgetCCWorkflowRequestCo用户 id返回数目unt String[] conditions:查询条件字符串数组得到所有抄送流程列表int pageNo:WorkflowRequest根据参数条件获getCCWorkflowRequestLi当前页数Info [] :请求基得抄送流程列表st int pageSize:本信息列表每页的分页数量int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型得到可创建的工作流数量Int userid:IntgetCreateWorkflowCount用户 id返回数目String[] conditions:查询条件字符串数组取得可创建的工作流列表int pageNo:WorkflowBaseInf根据参数条件获getCreateWorkflowList当前页数o [] :流程基本信得可创建流程列int pageSize:息列表表每页的分页数量int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型取得可创建的工作流类型Int userid:Int数量用户 id可创建的工作流getCreateWorkflowTypeC String[] conditions:类型数量ount查询条件字符串数组取得可创建的工作流类型int pageNo:WorkflowBaseInf根据参数条件获列表当前页数o[]:得可创建的流程getCreateWorkflowTypeL int pageSize:工作流基本信息类型列表ist每页的分页数量数组int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型取得创建流程的相关信息Int workflowId:WorkflowRequest getCreateWorkflowReque流程 id Info:stInfo Int userid:流程信息对象用户 id取得已办工作流类型数量Int userid:Int:getHendledWorkflowRequ用户 id可创建流程数量estCount String[] conditions:查询条件字符串数组取得已办流程列表int pageNo:WorkflowRequest根据参数条件获getHendledWorkflowRequ当前页数Info [] :请求基得已办流程列表estList int pageSize:本信息列表每页的分页数量int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型取得已办工作流类型数量Int userid:Int:getMyWorkflowRequestCo用户 id我的请求流程数unt String[] conditions:量查询条件字符串数组取得已办流程列表int pageNo:WorkflowRequest根据参数条件获getMyWorkflowRequestLi当前页数Info [] :请求基得我的请求列表st int pageSize:本信息列表每页的分页数量int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型取得流程 new标记String[] requestIds String[]:getWorkflowNewFlag多个流程 id 组成的数组结果数组 ,0 或者String ResourceId 1 组成的数组人力资源 id取得流程详细信息Int requestid WorkflowRequest getWorkflowRequest请求 id Info: 流程信息Int userid用户 idInt fromrequestid从相关 id 的工作流过来写入流程查看日志String requested无返回值writeWorkflowReadFlag请求 idString userId用户 id取得归档工作流类型数量Int userid:Int:getProcessedWorkflowRe用户 id归档流程数量questCount String[] conditions:查询条件字符串数组取得归档流程列表int pageNo:WorkflowRequest根据参数条件获getProcessedWorkflowRe当前页数Info [] :请求基得归档请求列表questList int pageSize:本信息列表每页的分页数量int recordCount:总行数int userId:用户 idString[] conditions:查询流程的条件, 为字符串数组类型接口对象说明: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 {etFieldName("mutiresource");etFieldValue("111");etView(true );etEdit(true ) ;etFieldName("remark");etFieldValue("test");wrti[1].setView(true);wrti[1].setEdit(true);wrti[2] =new WorkflowRequestTableField();wrti[2].setFieldName("resource_n");etFieldValue("111");wrti[2].setView(true);wrti[2].setEdit(true);wrti[3] =new WorkflowRequestTableField();wrti[3].setFieldName("fj2");etFieldType("" );etFieldValue();etView(true );wrti[3].setEdit(true);WorkflowRequestTableRecord[] wrtri =newWorkflowRequestTableRecord[1];etWorkflowRequestTableFields(wrti);WorkflowMainTableInfo wmi =new WorkflowMainTableInfo();(wrtri);etFieldName("sl");etFieldValue("11");wrti[0].setView(true);wrti[0].setEdit(true);wrti[1] =new WorkflowRequestTableField();wrti[1].setFieldName("dj");etFieldValue("2");wrti[1].setView(true);wrti[1].setEdit(true);wrti[2] =new WorkflowRequestTableField();wrti[2].setFieldName("xj");etFieldValue("22" );wrti[2].setView(true);wrti[2].setEdit(true);wrtri[0] =new WorkflowRequestTableRecord();wrtri[0].setWorkflowRequestTableFields(wrti);etFieldName("sl" );etFieldValue("110" );wrti[0].setView(true);wrti[0].setEdit(true);wrti[1] =new WorkflowRequestTableField();wrti[1].setFieldName("dj");etFieldValue("2" );wrti[1].setView(true);wrti[1].setEdit(true);wrti[2] =new WorkflowRequestTableField();wrti[2].setFieldName("xj");etFieldValue("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);etFieldName("cl3" );etFieldV alue( "11");wrti[0].setView(true);wrti[0].setEdit(true);wrti[1] =new WorkflowRequestTableField();wrti[1].setFieldName("cl1111");etFieldValue("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();( "5" );//workflowid 5代表内部留言WorkflowRequestInfo wri =new WorkflowRequestInfo();// 流程基本信息( "111"); //创建人 id( "2" ); //0正常,1重要,2紧急( " 留言测试接口" ); //流程标题(wmi);//添加主字段数据(wbi);(wdti);//执行创建流程接口new WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = WorkflowServicePortTypeProxy();String requestid = (wri, 111);"requestid:"+requestid);}2)获取代办列表数量/***获得代办事宜数量*@throws RemoteException*/public static void getDaiBanShuLiang()throws RemoteException{ WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy= new WorkflowServicePortTypeProxy();int count = (111,null );" 代办事宜数量:" +count);//获取待办事宜接口//带查询条件查询,只能写关于这 2个表的查询条件 workflow_requestbaset1,workflow_currentoperator t2//查询条件里面不需要写 andString conditions[] =new String[2];conditions[0] ="= 2 "; //状态为审批conditions[1] ="= 111 "; // 创建人为 111count = (111, conditions);" 代办事宜数量 :"+count);//获取待办事宜接口}3)获得代办事宜列表/***获得代办列表*/public static void getDaiBanLieBiao() WorkflowServicePortTypeProxythrows Exception{ WorkflowServicePortTypeProxy= newWorkflowServicePortTypeProxy();WorkflowRequestInfo WorkflowRequestInfo[] = (1, 15, 100, 111, null ); //获取待办事宜接口"代办事宜列表数量 :" +;for ( int i=0;i<;i++){WorkflowRequestInfo wri = WorkflowRequestInfo[i];"" +()+ " " +()+ " "+());}}。

Ecology工作流接口演示程序

Ecology工作流接口演示程序

Ecology工作流接口演示程序
本程序用于演示泛微ecology流程接口带来的系统扩展能力。

有研发能力的客户可以通过泛微提供的接口开发符合自己需要的功能。

程序功能介绍:通过泛微ecology提供的接口发送留言、获取表单(单据)信息等。

1.解压后运行run.bat
2.输入ecology系统URL地址
3. 选择接收人。

(接收人列表是通过泛微人力资源接口获取的。


4.
5.点发送后将会在ecology系统中产生一条留言。

发送成功后会返回留言id。

6. 我们以接收人身份登录系统看看是否收到了留言。

建的留言。

8.
9.
双击打开请求1141,看看有什么信息?主表标签页是所有主字段的数据。

明细表标签页是所有明细字段数据,日志标签页是所有审批日志数据。

10.。

泛微OA工作平台使用手册

泛微OA工作平台使用手册

泛微OA工作平台使用手册泛微OA工作平台使用手册1. 系统概述1.1 系统简介1.2 主要功能介绍1.2.1 人事管理1.2.2 文件管理1.2.3 流程管理1.2.4 日程管理1.2.5 考勤管理1.2.6 统计报表1.2.7 接口集成1.2.8 安全管理1.2.9 其它功能2. 系统安装2.1 系统硬件及软件要求2.2 环境准备2.3 安装步骤2.3.1 安装包2.3.2 安装前准备2.3.3 运行安装程序2.3.4 安装完成后配置3. 系统登录和基本操作3.1 登录系统3.2 修改密码3.3 界面介绍3.3.1 菜单栏3.3.2 操作区域3.3.3 工具栏4. 人事管理4.1 组织架构管理4.1.1 添加部门4.1.2 添加员工4.1.3 修改部门信息 4.1.4 修改员工信息 4.1.5 删除部门或员工4.2 人事档案管理4.2.1 人事档案查询 4.2.2 人事档案维护4.3 员工合同管理4.4 员工考勤管理4.5 绩效管理5. 文件管理5.1 文档5.2 文档5.3 文档分享5.4 文档版本控制5.5 文件夹管理6. 流程管理6.1 发起流程申请6.2 审批流程申请6.2.1 待办任务处理 6.2.2 审批历史记录6.3 新建流程6.4 流程编辑和配置6.5 流程报表7. 日程管理7.1 新建日程安排7.2 查看日程安排7.3 修改日程安排7.4 删除日程安排7.5 日程提醒设置8. 考勤管理8.1 考勤打卡8.1.1 上班打卡8.1.2 下班打卡8.2 考勤报表8.3 请假申请9. 统计报表9.1 统计报表9.2 报表导出和打印9.3 报表分析和解读10. 接口集成10.1 数据接口说明10.2 接口集成实例10.2.1 与邮箱接口集成10.2.2 与HR系统接口集成11. 安全管理11.1 角色权限管理11.2 用户权限管理11.3 审计日志管理11.4 密码策略设置12. 其它功能12.1 系统设置12.1.1 全局参数设置12.1.2 系统日志设置12.2 个人设置12.2.1 修改个人信息12.2.2 修改个人偏好设置附件:本文档涉及的相关文件、示例、截图等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

泛微协同商务系统开发文档系列之
工作流对外接口技术说明(简单版) Weaver e-cology Info Control System For Tech User
机要文件请勿传播
工作流对外接口技术说明
简单版
目录
开发背景 (3)
软件功能 (3)
技术特点 (4)
接口说明 (4)
/src/weaver/workflow/request/RequestOutWork.java (4)
/src/weaver/workflow/request/RequestOutData.java (4)
对于创建HTTP POST请求的说明 (5)
一、开发背景
由于客户的需求,e-cology系统的工作流模块需要提供一个方便的便于二次开发的接口,使客户可以根据自己的需要,灵活调用e-cology系统的工作流引擎,利用其强大灵活的流程设定功能,来完成自己的内容审批功能,或者其他需要通过工作流来完成的任务。

二、软件功能
三、技术特点
1、提交请求采用HTTPPOST方式,可以用其他语言来构造这个请求,而不
仅仅用java语言。

2、在流程归档的时候给用户处理自己代码的机会,通过编写自己的java类
并在配置文件里进行注册,就可以在归档的时候被工作流引擎调用,来
完成需要归档时完成的操作。

四、接口说明
这里描述的时客户开发需要用到的类,还有一些jsp文件和java类文件这里没有
说明,因为这些文件时开发当中不需要关心也不需要修改的。

/src/weaver/workflow/request/RequestOutWork.java
描述:如果需要在归档的时候执行自己定义的操作,那么必须实现这个类的execute
方法,在这个方法里可以执行自己的操作,然后把这个类注册到接口的配置文件
里面,这样工作流引擎就可以在归档的时候调用这个类的execute方法了。

方法:
booleanexecute(intrequestid)throwsRequestOutWorkException
功能:执行归档前自定义的操作
输入:工作流请求id
返回:是否成功
/src/weaver/workflow/request/RequestOutData.java
描述:这个类可以帮助开发者根据requestid方便的得到工作流的相关数据
方法:
RequestOutData(intrequestid)
功能:构建一个读取工作流数据的类,并且设置需要读取的工作流请求的id
输入:工作流请求id
方法:
StringgetData(StringfieldName)
功能:根据字段名称取得主表的数据
输入:字段名称
返回:字段的值
方法:
booleannext()
功能:由于明细数据时多行的数据结构,所以有这个函数来在多行之间移动。

移动到明细数据的下一行,第一次移动到的一行,第二次到第二行……
输入:无
返回:如果已经到最后一行,或者根本没有明细数据,那么返回false否则返回true
方法:
StringgetDetailData(StringfieldName)
功能:当有next()移动到需要的明细数据行时,由这个函数得到明细表的数据,如果没有明细,那么返回null
输入:明细字段名称
返回:明细字段的值
方法:
booleanloadData()
功能:读取数据库中的数据
输入:无
返回:如果成功返回true否则返回false
对于创建HTTP POST请求的说明
如果要创建一个工作流请求,那么必须用程序创建一个HTTPPOST请求,创建POST请求的方法很多,只要创建的头格式符合下面的说明即可,下面用java 语言进行说明
假设out为建立连接后得到的输出流,那么创建POST请求如下所述:
out.print("POST"+file+"HTTP/1.1\r\n");
out.print("Accept:*/*\r\n");
out.print("Accept-Encoding:gzip,deflate\r\n");
out.print("Accept-Language:zh-cn\r\n");
out.print("Cache-Control:no-cache\r\n");
out.print("Connection:Keep-Alive\r\n");
out.print("Content-Length:"+data.getBytes().length+"\r\n");
out.print("Content-Type:application/x-www-form-urlencoded\r\n");
out.print("Host:"+wwwHost+"\r\n");
out.print("User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.0)\r\n");
out.print("Pragma:no-cache\r\n");
out.print("Connection:close\r\n\r\n");
out.print(data);
蓝色行为必须项
其中
file 代表请求的页面名称wwwHost为服务器的名称
比如http://localhost/weaver/weaver.TestPostHead
那么file= /weaver/weaver.TestPostHead
wwwHost=localhost
注意:处理POST请求的是一个固定的jsp文件,不同的仅仅时wwwHost不同,而file总是相同的,都是/workflow/request/RequestOutDataFormatOperation.jsp,这个文件是处理外部来的POST请求的固定文件
data POST请求代表数据,数据必须符合指定的格式,下面有描述主表字段:field_主字段名称例如:field_document、field_text1
从表字段:field_从表字段名称_序列号(1、2、3……)
例如
主表字段:field_main1、field_main2
从表字段:
field_detail2_1、field_detail3_1
field_detail2_2、field_detail3_2
field_detail2_3、field_detail3_3
field_detail2_4、field_detail3_4
field_detail2_5、field_detail3_5
其中main1、main2为主字段名称detail2、detail3为从表字段名称那么数据的格式就是
field_main1=value1&field_main2=value2&field_detail2_1=value3&field_detail 3_1=
value4……
用java语言表示为
out.print(“field_main1=value1&field_main2=value2&field_detail2_1=value3&field_de tail3_1=
value4……”);
Released By Weaver Software
2003.11.03。

相关文档
最新文档