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

合集下载

泛微oa webservice参数

泛微oa webservice参数

泛微oa webservice参数泛微OA webservice参数为标题一、概述泛微OA是一款企业级办公自动化软件,提供了丰富的Web服务接口,为开发者提供了便捷的数据交互方式。

本文将详细介绍泛微OA的webservice参数及其使用方法。

二、Webservice参数介绍1. 用户名(username):用于身份验证的用户名,必填项。

2. 密码(password):与用户名相对应的密码,必填项。

3. 接口名称(action):要调用的接口名称,不同接口有不同的名称,必填项。

4. 输入参数(params):接口所需的输入参数,根据接口不同而变化,非必填项。

5. 输出参数(result):接口返回的结果,根据接口不同而变化。

三、Webservice参数使用示例1. 获取用户信息接口接口名称:getUserInfo输入参数:无输出参数:用户姓名、部门、职位等信息2. 发起审批接口接口名称:startApproval输入参数:审批标题、审批内容、审批人员等信息输出参数:审批流程实例ID、审批状态等信息3. 查询待办接口接口名称:getTodoList输入参数:用户ID、页码、每页数量等信息输出参数:待办任务列表、总页数等信息四、Webservice参数使用注意事项1. 参数的传递方式:一般使用SOAP协议进行参数传递,可以通过HTTP或HTTPS进行访问。

2. 参数的安全性:由于webservice涉及敏感信息的传输,建议采用HTTPS协议进行数据加密。

3. 参数的编码方式:参数的编码方式要与接口要求一致,一般使用UTF-8编码。

4. 参数的合法性校验:在调用接口前,需要对参数进行合法性校验,确保参数的正确性和完整性。

5. 参数的异常处理:在调用接口时,需要处理可能出现的异常情况,如网络异常、服务器异常等。

五、Webservice参数的优势1. 灵活性高:泛微OA的webservice参数可以根据具体需求进行定制,满足不同场景的数据交互需求。

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

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

泛微工作流对外接口技术说明(简单版)泛微协同商务系统开发文档系列之工作流对外接口技术说明(简单版) 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);//获取待办事宜接口}。

人力资源(HrmService)WebService接口使用说明

人力资源(HrmService)WebService接口使用说明

人力资源WebService接口开发使用说明SUBMITED BY WEA VER文档版本历史变更序号日期版本文件变更申请编号变更说明修改人1 2011年8月26日V1.0 无新文件胡伟武目录一、前言 (4)1.1编写目的 (4)1.2名词定义 (4)二、接口调用步骤 (5)2.1检查web service是否已部署 (5)2.2接口方法概述 (5)2.3 接口相关对象说明 (7)2.4 生成客户端 (9)三、示例程序 (19)3.1 使用客户端同步公司信息 (19)一、前言1.1编写目的本文给有研发能力的客户或有系统集成需求的客户提供web service接口调用的参考例程。

本文的面向具有一定web service开发能力或了解web service技术的开发人员。

1.2名词定义1、Axis:著名的开源web service引擎。

2、外部系统:指调用或实现e-cology输入输出接口,与e-cology系统进行数据交接的其他系统。

二、接口调用步骤2.1检查web service是否已部署在浏览器中输入http://ecologyServer/services,应显示如下页面:如果未出先上述页面,则web service未部署成功,请与泛微项目人员联系。

接口部署成功之后,需要在OA的HrmWebserviceIP.properties配置文件中配置调用接口客户端的IP,调用接口时传入的参数ip包涵在此配置文件才能调用以下接口。

2.2接口方法概述名称参数返回值功能描述SynSubCompany String ipaddress:调用接口的IP地址,StringxmlData:分部信息的xml成功:1,失败:0,2:无权限调用同步分部信息SynDepartment String ipaddress:调用接口的IP地址,StringxmlData:部门信息的xml成功:1,失败:0,2:无权限调用同步部门信息SynJobtitle String ipaddress:调用接口的IP地址,StringxmlData:岗位信息的xml成功:1,失败:0,2:无权限调用同步岗位信息SynHrmResource String ipaddress:调用接口的IP地址,StringxmlData:人员信息的xml成功:1,失败:0,2:无权限调用同步人员信息getHrmSubcompanyInfo String ipaddress:调用接口的IP地址,SubCompanyInfo[]:分部信息列表获取所有分部信息列表getHrmDepartmentInfo String ipaddress:调用接口的IP地址,StringsubcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)DepartmentInfo[]:部门信息列表根据参数条件获取部门信息列表getHrmJobTitleInfo String ipaddress:调用接口的IP地址,StringsubcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)String departmentid:部门id,多个用逗号分隔(不为空时该条件有效)JobTitleInfo[]:岗位信息列表根据参数条件获取岗位信息列表getHrmUserInfo String ipaddress:调用接口的IP地址,StringsubcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)String departmentid:部门id,多个用逗号分隔(不为空时该条件有效)String jobtitleid:岗位id,多个用逗号分隔(不为空时该条件有效)StringlastChangeDate:最后修改日期,日期格式“YYYY-MM-DD”(不为空时该条件有效)String workcode:人员编码(不为空时该条件有效)UserInfo[]:用户信息列表根据参数条件获取用户信息列表checkUser String ipaddress:调用接口的IP地址String loginid:登录名String password:密码True:表示存在False:表示不存在检测OA用户2.3 接口相关对象说明1)SynSubCompany 同步分部传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><orglist><org action="add"><code>001</code><shortname>测试分部一</shortname><fullname>测试分部一</fullname><parent_code>0</parent_code><order>0</order></org><org action="edit"><code>002</code><shortname>测试分部二</shortname><fullname>测试分部二</fullname><parent_code>0</parent_code><order>1</order></org><org action="delete"><code>003</code><canceled>1</canceled></org></orglist></root>相关属性说明:Action:动作,add:添加,edit:编辑,delete:删除,OA中只做封存和解封,canceled=1封存,canceled=0解封Code:分部编码,唯一值Shortname:分部简称Fullname:分部全称Parent_code:上级分部编码,没有上级请填写0Order:排序值2)SynDepartment同步部门传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><orglist><org action="add"><code>0001</code><shortname>测试部门一</shortname><fullname>测试部门一</fullname><org_code>001</org_code><parent_code>0</parent_code><order>0</order></org><org action="edit"><code>0002</code><shortname>测试部门二</shortname><fullname>测试部门二</fullname><org_code>003</org_code><parent_code>0</parent_code><order>1</order></org><org action="del"><code>0003</code><canceled>1</canceled></org></orglist></root>相关属性说明:Action:动作,add:添加,edit:编辑,delete:删除,OA中只做封存和解封,canceled=1封存,canceled=0解封Code:部门编码,唯一值Shortname:部门简称Fullname:部门全称Org_code:分部编码Parent_code:上级部门编码,没有上级请填写0Order:排序值3)SynJobtitle同步岗位传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><jobtitlelist><jobtitle action="add"><jobtitlecode>00001</jobtitlecode><jobtitlename>测试岗位一</jobtitlename><jobtitleremark>测试岗位一</jobtitleremark><jobtitledept>0001</jobtitledept></jobtitle><jobtitle action="edit"><jobtitlecode>00002</jobtitlecode><jobtitlename>测试岗位二</jobtitlename><jobtitleremark>测试岗位二</jobtitleremark><jobtitledept>0002</jobtitledept></jobtitle><jobtitle action="delete"><jobtitlecode>00003</jobtitlecode><jobtitlename>测试岗位三</jobtitlename></jobtitle></jobtitlelist></root>相关属性说明:Action:动作,add:添加,edit:编辑,delete:删除Jobtitlecode:岗位编码,唯一值Jobtitlename:岗位简称Jobtitleremark:岗位全称Org_code:分部编码Jobtitledept:岗位所属部门编码4)SynHrmResource同步人员传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><hrmlist><hrm action="add"><workcode>10001</workcode><loginid>test</loginid><lastname>test</lastname><password>123456</password><subcompany>测试分部一</subcompany><department>测试部门一</department><jobtitle>测试岗位一</jobtitle><statue>正式</statue><managerid>1024</managerid><sex>男</sex><birthday>1988-09-09</birthday><telephone>12345678</telephone><mobile>12345678</mobile><email>************</email><maritalstatus>已婚</maritalstatus></hrm><hrm action="edit"><workcode>10001</workcode><loginid>test</loginid><lastname>test</lastname><password>123456</password><subcompany>测试分部一</subcompany><department>测试部门一</department><jobtitle>测试岗位一</jobtitle><statue>正式</statue><managerid>1024</managerid><sex>男</sex><birthday>1988-09-09</birthday><telephone>12345678</telephone><mobile>12345678</mobile><email>************</email><maritalstatus>已婚</maritalstatus> </hrm></hrmlist></root>相关属性说明:Action:动作,add:添加,edit:编辑Workcode:人员编码,唯一值Subcompany:分部Department:部门Lastname:姓名Loginid:登录名Password:密码Seclevel:安全级别Sex:性别Jobtitle:岗位Jobactivityid:职务Jobgroupid:职务类别Jobcall:职称Joblevel:职级Jobactivitydesc:职责描述Managerid:直接上级(编码)Assistantid:助理(编码)Status:状态Locationid:办公室Workroom:办公地点Telephone:办公电话Mobile:移动电话Mobilecall:其他电话Fax:传真Email:邮箱Systemlanguage:系统语言Birthday:出生日期Folk:名族Nativeplace:籍贯Regresidentplace:户口Certificatenum:身份证号码Maritalstatus:婚姻状况Policy:政治面貌Bememberdate:入团日期Bepartydate:入党日期Islabouunion:工会会员Educationlevel:学历Degree:学位Healthinfo:健康状况Residentplace:现居住地Homeaddress:家庭联系方式Tempresidentnumber:暂住证号码以上是人员同步的所有节点信息,需要同步那些字段,就填写相应的值。

Web-Service接口使用说明

Web-Service接口使用说明

短信接口使用说明短信接口简介公司网址:56短信网接口是采用C#.Net开发的Web Service,URL地址为:/WebServiceInterface.asmx支持的接口用户可以通过Web Service接口实现用户登陆,发送短信,密码修改,我们还可以根据不同的需要给客户提供不同的接口功能.接口优势1.与移动,联通,电信运营商合作,快捷,高效,成功率达到99% 以上.2.接入方式可灵活使用,保证客户短信的质量。

3.24小时发送,单条即发即收,群发可能少有延迟。

4.适用于各种软件\系统\平台\网站\OA\CRM\ERP\SCM等使用5.发送内容,手机号,自行设定,可定时发送.6.支持500个字的超长短信,可自定义签名。

7.为您提供多种接口,任何语言均可方便,简单接入.8.提供技术支持,免费接入短信接口。

参数说明1. 发送短信调用方法:int SendNote(string handtels,string _content,string userName,string password,string cid,string _sendtime,string _smsnumber)返回值说明:2.用户登陆调用方法: UserLogin(string userName, string password,string cid)返回值说明:3.修改密码调用方法: EditUserPwd(string username, string userpwd,string newpwd,string cid)4.短信剩余条数调用方法: int ReturnUserFullMoney(string username, string password,string cid)返回值说明:5.接受回复短信调用方法: string NoteBack(string _cid, string _username, string _userpwd, string zid, string返回值说明:Xml回复格式<?xml version="1.0" encoding="GBK" ?><backnotes><backnote>//手机号<back_content>老地方见吧</back_content> //内容<back_zid>12</back_zid> //子号<back_time>2011-6-16 16:38:48</back_time> //回复时间</backnote><backnote>//手机号<back_content>你是说</back_content> //内容<back_zid>12</back_zid> //子号<back_time>2011-6-16 16:38:50</back_time> //回复时间</backnote></backnotes>Text 回复格式回复短信和短信之间是用分号分开(说明:如果回复的内容中出现|或;号,请用其它字符替换,如果不能替换的,请调用xml回复格式)格式:手机号|回复短信的内容|时间;6.调用接口新开用户(此接口只适合代理用户)调用方法:string AddNewUser(string aid, string auserName, string apwd, string nusername, string npwd, string customername, string customertel, string customerqq, string customeremaill, string返回值说明:7.短信充值,此接口只适合代理用户(此接口只适合代理用户)调用方法:string FullMoney(string aid, string aname, string apwd, string userid, string username, string tomoney, string action)返回值说明:。

webservice接口说明文档

webservice接口说明文档

webservice接口说明文档1、组织结构–部门原始资料增加(一般用在初始化数据时) (2)2、组织结构–部门原始资料更新(紧跟DptAdd函数执行) (2)3、组织结构–部门删除 (2)4、组织结构–部门更新 (3)5、组织结构–单个部门增加 (3)6、组织结构–员工原始资料更新(将服务器临时表里的员工原始资料导入到使用的数据表里) (4)7、组织结构–员工原始资料添加 (4)8、组织结构–人员删除 (5)9、组织结构–人员增加(直接更新到后台数据库) (5)10、组织结构–人员更新 (6)11、OA调用发消息 (7)12、组织结构–增加企业 (8)13、组织结构–编辑企业 (8)14、删除企业 (9)15、企业、部门、员工查询 (9)16、角色权限增加 (10)17、角色权限编辑 (10)18、角色权限删除 (11)注明:所有函数的CRC值默认为calling1、组织结构–部门原始资料增加(一般用在初始化数据时)方法名称DptAdd (String DepartID, String DepartName, String ParentID,, String EID,String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 增加成功,1 增加数据发生未知错误,2 企业不存在 -2 数据库连接错误2、组织结构–部门原始资料更新(紧跟DptAdd函数执行)方法名称DptAddExe (String EID,String CRC,)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 操作成功,1 更新数据时发生错误,2 企业不存在-2 数据库连接错误3、组织结构–部门删除方法名称DptDelete (String DepartID)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 删除成功,1 删除数据发生未知错误,2 部门不存在,3企业不存在-2 数据库连接错误4、组织结构–部门更新方法名称: DptEdit (String DepartID,String DepartName,StringParentID, String EID, String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 编辑成功,1 删除数据发生未知错误,2部门不存在,3父部门不存在,4 没有要修改的项目,5 企业不存在-2 数据库连接错误5、组织结构–单个部门增加方法名称: DptAddOne (String DepartID,String DepartName,StringParentID,, String EID, String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 增加成功,1 增加数据发生未知错误,2父部门不存在,3 企业不存在 4 部门已经存在-2 数据库连接错误6、组织结构–员工原始资料更新(将服务器临时表里的员工原始资料导入到使用的数据表里)方法名称EmpAddExe (String EID,String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 操作成功,1 更新数据时发生错误,2 企业不存在-2 数据库连接错误7、组织结构–员工原始资料添加(将人员资料插入一条到服务器上的临时表里,一般用在起初数据初始化的时候,将记录先循环插入到临时表里,然后使用DptAddExe 函数更新临时表,将原始人员资料导入到使用的数据表里)方法名称EmpAdd(String ID, String CorporationId, String DepartmentId, String duty, String email, String mobile, String realName , String sex, String workCode,String password, String telphone, String String Fax, String CodeType, String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 增加成功,1 增加数据发生未知错误,-2 数据库连接错误2 部门不存在3 员工已存在4 企业不存在8、组织结构–人员删除方法名称EmpDelete (String ID, String EID,String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 删除成功,1 删除数据发生未知错误,2 员工不存在3 企业不存在-2 数据库连接错误9、组织结构–人员增加(直接更新到后台数据库)方法名称EmpAddOne (String ID, String CorporationId, String DepartmentId, Stringduty, String email, String mobile, String realName , String sex, String workCode, String password, String telphone, String String Fax, String CodeType, String CRC) 参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 增加成功,1 增加数据发生未知错误,2部门不存在,3员工已经存在,4 企业不存在-2 数据库连接错误10、组织结构–人员更新方法名称EmpEdit (String ID, String EID, String DepartID, String duty, String email, String mobile, String realName , String sex, String workCode, String password, String telphone, String String Fax,String CodeType, String CRC,String State)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 增加成功,1 增加数据发生未知错误,2部门不存在3 员工不存在 4 企业不存在-2 数据库连接错误5没有需要修改的项目 6 角色不存在注释:如果许可为空的字段想变化为空的话,以空格为参数值,password,workCode,realName,sex的修改不能以空格表示为空,因为这2个字段不许可为空,如果参数为空则不会修改11、OA调用发消息方法名称:SendOAMessage(String Sender, String Receiver,String BContent, String Title, String MessageType ,String MessageImport, String EID, String CRC)返回类型: integer返回结果: 0 成功,1 失败,-1 缺少必填参数,2 企业不存在,3发送者不存在,4接受者有不存在, 5 网络错误-2 数据库连接错误12、组织结构–增加企业方法名称:CorpAdd(String EID,String brief, String address, String email, String fax, String fullName,String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 增加成功,1 增加数据发生未知错误,2 输入的公司人数超过了系统的许可, 3 企业ID已经存在-2 数据库连接错误13、组织结构–编辑企业方法名称:CorpEdit(String EID, String brief,String address, String email, String fax, String fullName,String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 操作成功,1 删除数据时发生错误,2企业不存在3 没有要编辑的项目-2 数据库连接错误注释:如果许可为空的字段想变化为空的话,以空格为参数值,对于brief,不修改则为空,如果为空则不修改14、删除企业方法名称: CorpDelete (String EID,String CRC)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数,0 操作成功,1 删除数据时发生错误,2 企业不存在-2 数据库连接错误15、企业、部门、员工查询方法名称: GetIDBool (String GetType,String EID,String ID, String CRC) 参数说明:返回类型: Integer返回值说明: -1 缺少必填参数, 1 查询数据时发生错误,-2 数据库连接错误-3 企业不存在 3 企业存在 -4 部门不存在 4 部门存在 -5 员工不存在 5 员工存在 6 查询类型错误注释:GetType 为1时ID 可为空,否则不许可为空,在部门和员工查询时,如果企业不存在,则报部门或者员工不存在16、角色权限增加方法名称UserRole Add(String RoleName, String Rights ,String EID,String CRC,) 参数说明:返回类型: Integer返回值说明: -1 缺少必填参数, 1 查询数据时发生错误,-2 数据库连接错误 2 企业不存在 3 角色已存在0成功17、角色权限编辑方法名称UserRoleedit(String RoleName, String Rights ,String EID,String CRC,) 参数说明:返回类型: Integer返回值说明: -1 缺少必填参数, 1 查询数据时发生错误,-2 数据库连接错误,2修改类型错误,3新角色名称不能为空,4企业不存在,5角色不存在0成功18、角色权限删除方法名称UserRoleDel(String RoleName, String EID,String CRC,)参数说明:返回类型: Integer返回值说明: -1 缺少必填参数, 1 查询数据时发生错误,-2 数据库连接错误 2 企业不存在0成功。

人力资源(HrmService)WebService接口使用说明

人力资源(HrmService)WebService接口使用说明

人力资源WebService接口开发使用说明SUBMITED BY WEA VER文档版本历史变更序号日期版本文件变更申请编号变更说明修改人1 2011年8月26日V1.0 无新文件胡伟武目录一、前言 (4)1.1编写目的 (4)1.2名词定义 (4)二、接口调用步骤 (5)2.1检查web service是否已部署 (5)2.2接口方法概述 (5)2.3 接口相关对象说明 (7)2.4 生成客户端 (9)三、示例程序 (19)3.1 使用客户端同步公司信息 (19)一、前言1.1编写目的本文给有研发能力的客户或有系统集成需求的客户提供web service接口调用的参考例程。

本文的面向具有一定web service开发能力或了解web service技术的开发人员。

1.2名词定义1、Axis:著名的开源web service引擎。

2、外部系统:指调用或实现e-cology输入输出接口,与e-cology系统进行数据交接的其他系统。

二、接口调用步骤2.1检查web service是否已部署在浏览器中输入http://ecologyServer/services,应显示如下页面:如果未出先上述页面,则web service未部署成功,请与泛微项目人员联系。

接口部署成功之后,需要在OA的HrmWebserviceIP.properties配置文件中配置调用接口客户端的IP,调用接口时传入的参数ip包涵在此配置文件才能调用以下接口。

2.2接口方法概述名称参数返回值功能描述SynSubCompany String ipaddress:调用接口的IP地址,StringxmlData:分部信息的xml成功:1,失败:0,2:无权限调用同步分部信息SynDepartment String ipaddress:调用接口的IP地址,StringxmlData:部门信息的xml成功:1,失败:0,2:无权限调用同步部门信息SynJobtitle String ipaddress:调用接口的IP地址,StringxmlData:岗位信息的xml成功:1,失败:0,2:无权限调用同步岗位信息SynHrmResource String ipaddress:调用接口的IP地址,StringxmlData:人员信息的xml成功:1,失败:0,2:无权限调用同步人员信息getHrmSubcompanyInfo String ipaddress:调用接口的IP地址,SubCompanyInfo[]:分部信息列表获取所有分部信息列表getHrmDepartmentInfo String ipaddress:调用接口的IP地址,StringsubcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)DepartmentInfo[]:部门信息列表根据参数条件获取部门信息列表getHrmJobTitleInfo String ipaddress:调用接口的IP地址,StringsubcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)String departmentid:部门id,多个用逗号分隔(不为空时该条件有效)JobTitleInfo[]:岗位信息列表根据参数条件获取岗位信息列表getHrmUserInfo String ipaddress:调用接口的IP地址,StringsubcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)String departmentid:部门id,多个用逗号分隔(不为空时该条件有效)String jobtitleid:岗位id,多个用逗号分隔(不为空时该条件有效)StringlastChangeDate:最后修改日期,日期格式“YYYY-MM-DD”(不为空时该条件有效)String workcode:人员编码(不为空时该条件有效)UserInfo[]:用户信息列表根据参数条件获取用户信息列表checkUser String ipaddress:调用接口的IP地址String loginid:登录名String password:密码True:表示存在False:表示不存在检测OA用户2.3 接口相关对象说明1)SynSubCompany 同步分部传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><orglist><org action="add"><code>001</code><shortname>测试分部一</shortname><fullname>测试分部一</fullname><parent_code>0</parent_code><order>0</order></org><org action="edit"><code>002</code><shortname>测试分部二</shortname><fullname>测试分部二</fullname><parent_code>0</parent_code><order>1</order></org><org action="delete"><code>003</code><canceled>1</canceled></org></orglist></root>相关属性说明:Action:动作,add:添加,edit:编辑,delete:删除,OA中只做封存和解封,canceled=1封存,canceled=0解封Code:分部编码,唯一值Shortname:分部简称Fullname:分部全称Parent_code:上级分部编码,没有上级请填写0Order:排序值2)SynDepartment同步部门传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><orglist><org action="add"><code>0001</code><shortname>测试部门一</shortname><fullname>测试部门一</fullname><org_code>001</org_code><parent_code>0</parent_code><order>0</order></org><org action="edit"><code>0002</code><shortname>测试部门二</shortname><fullname>测试部门二</fullname><org_code>003</org_code><parent_code>0</parent_code><order>1</order></org><org action="del"><code>0003</code><canceled>1</canceled></org></orglist></root>相关属性说明:Action:动作,add:添加,edit:编辑,delete:删除,OA中只做封存和解封,canceled=1封存,canceled=0解封Code:部门编码,唯一值Shortname:部门简称Fullname:部门全称Org_code:分部编码Parent_code:上级部门编码,没有上级请填写0Order:排序值3)SynJobtitle同步岗位传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><jobtitlelist><jobtitle action="add"><jobtitlecode>00001</jobtitlecode><jobtitlename>测试岗位一</jobtitlename><jobtitleremark>测试岗位一</jobtitleremark><jobtitledept>0001</jobtitledept></jobtitle><jobtitle action="edit"><jobtitlecode>00002</jobtitlecode><jobtitlename>测试岗位二</jobtitlename><jobtitleremark>测试岗位二</jobtitleremark><jobtitledept>0002</jobtitledept></jobtitle><jobtitle action="delete"><jobtitlecode>00003</jobtitlecode><jobtitlename>测试岗位三</jobtitlename></jobtitle></jobtitlelist></root>相关属性说明:Action:动作,add:添加,edit:编辑,delete:删除Jobtitlecode:岗位编码,唯一值Jobtitlename:岗位简称Jobtitleremark:岗位全称Org_code:分部编码Jobtitledept:岗位所属部门编码4)SynHrmResource同步人员传入xml的格式如下(一定要按照此格式传入):<?xml version="1.0" encoding="UTF-8"?><root><hrmlist><hrm action="add"><workcode>10001</workcode><loginid>test</loginid><lastname>test</lastname><password>123456</password><subcompany>测试分部一</subcompany><department>测试部门一</department><jobtitle>测试岗位一</jobtitle><statue>正式</statue><managerid>1024</managerid><sex>男</sex><birthday>1988-09-09</birthday><telephone>12345678</telephone><mobile>12345678</mobile><email>************</email><maritalstatus>已婚</maritalstatus></hrm><hrm action="edit"><workcode>10001</workcode><loginid>test</loginid><lastname>test</lastname><password>123456</password><subcompany>测试分部一</subcompany><department>测试部门一</department><jobtitle>测试岗位一</jobtitle><statue>正式</statue><managerid>1024</managerid><sex>男</sex><birthday>1988-09-09</birthday><telephone>12345678</telephone><mobile>12345678</mobile><email>************</email><maritalstatus>已婚</maritalstatus> </hrm></hrmlist></root>相关属性说明:Action:动作,add:添加,edit:编辑Workcode:人员编码,唯一值Subcompany:分部Department:部门Lastname:姓名Loginid:登录名Password:密码Seclevel:安全级别Sex:性别Jobtitle:岗位Jobactivityid:职务Jobgroupid:职务类别Jobcall:职称Joblevel:职级Jobactivitydesc:职责描述Managerid:直接上级(编码)Assistantid:助理(编码)Status:状态Locationid:办公室Workroom:办公地点Telephone:办公电话Mobile:移动电话Mobilecall:其他电话Fax:传真Email:邮箱Systemlanguage:系统语言Birthday:出生日期Folk:名族Nativeplace:籍贯Regresidentplace:户口Certificatenum:身份证号码Maritalstatus:婚姻状况Policy:政治面貌Bememberdate:入团日期Bepartydate:入党日期Islabouunion:工会会员Educationlevel:学历Degree:学位Healthinfo:健康状况Residentplace:现居住地Homeaddress:家庭联系方式Tempresidentnumber:暂住证号码以上是人员同步的所有节点信息,需要同步那些字段,就填写相应的值。

泛微OAecology二次开发实例开发完整说明书

泛微OAecology二次开发实例开发完整说明书

二次开发培训文档一、ECOLOGY系统框架结构1、主要的程序结构EcologyClassbean 存放编译后的CLASS文件js 系统中使用的JAVASCRIPT和VBSCRIPT脚本Css 系统中JSP页面使用的样式ImagesImages_faceImages_frame 系统中使用的图片的存放目录CrmWorkflow 该功能分文件夹存放每个功能的文件WEB-INFProp 系统配置文件存放Service 系统的接口配置文件的存放二、说明一个JSP页面,一个JAVA程序的基本组成,如何阅读JSP页面1、一个jsp页面通常需要包含什么内容2、如何阅读一个JSP页面由于ECOLOGY系统支持多语言,因此在JSP页面上一般不出现中文,全部使用标签的形式来显示中文:比如:在IE上显示“姓名”那么在JSP页面中将通过<%=SystemEnv.getHtmlLabelName(413,user.getLanguage())%>这样的形式来表示,其中的数字413就是表示姓名,同时可以通过“select labelname fromhtmllabelinfo where indexid=413 and languageid=7”来获取到“姓名”这个显示名称,其中languageid=7表示中文显示名称,languageid=8表示英文显示名称.delete from HtmlLabelIndex where id=81249delete from HtmlLabelInfo where indexid=81249INSERT INTO HtmlLabelIndex values(81249,'选择范围')INSERT INTO HtmlLabelInfo VALUES(81249,'选择范围',7)INSERT INTO HtmlLabelInfo VALUES(81249,'Range of choice',8)INSERT INTO HtmlLabelInfo VALUES(81249,'選擇範圍',9)3、JAVA程序的基本组成在ECOLOGY中开发JAVA程序建议继承weaver.general. BaseBean,在BaseBean中主要封装了两个方法:写日志文件,获取配置文件中的参数值。

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

工作流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)获得代办事宜列表。

相关文档
最新文档