申請免費試用、咨詢電話:400-8352-114
第十二部分 泛普免費OA人力資源webservices接口
一. 泛普OA破解版接口說明
可以通過該接口對系統(tǒng)中的人員組織架構進行操作。具體方法見下面的使用說明。
二. 泛普OA免費版使用說明
1) 檢查web service是否已部署
在瀏覽器中輸入http://Server/services,應顯示如下頁面:
如果未出先上述頁面,則web service未部署成功,請與泛普項目人員聯(lián)系。
接口部署成功之后,需要在OA的HrmWebserviceIP.properties配置文件中配置調用接口客戶端的IP,調用接口時傳入的參數(shù)ip包涵在此配置文件才能調用以下接口。
2) 接口方法概述
名稱 參數(shù) 返回值 功能描述
SynSubCompany String ipaddress:調用接口的IP地址,String xmlData:分部信息的xml 成功:1,失敗:0,2:無權限調用 同步分部信息
SynDepartment String ipaddress:調用接口的IP地址,String xmlData:部門信息的xml 成功:1,失敗:0,2:無權限調用 同步部門信息
SynJobtitle String ipaddress:調用接口的IP地址,String xmlData:崗位信息的xml 成功:1,失敗:0,2:無權限調用 同步崗位信息
SynHrmResource String ipaddress:調用接口的IP地址,String xmlData:人員信息的xml 成功:1,失敗:0,2:無權限調用 同步人員信息
getHrmSubcompanyInfo String ipaddress:調用接口的IP地址, SubCompanyInfo[]:分部信息列表 獲取所有分部信息列表
getHrmDepartmentInfo String ipaddress:調用接口的IP地址,String subcompanyId:分部id,多個用逗號分隔(不為空時該條件有效) DepartmentInfo[]:部門信息列表 根據(jù)參數(shù)條件獲取部門信息列表
getHrmJobTitleInfo String ipaddress:調用接口的IP地址,String subcompanyId:分部id,多個用逗號分隔(不為空時該條件有效)
String departmentid:
部門id,多個用逗號分隔(不為空時該條件有效) JobTitleInfo[]:崗位信息列表 根據(jù)參數(shù)條件獲取崗位信息列表
getHrmUserInfo String ipaddress:調用接口的IP地址,String subcompanyId:分部id,多個用逗號分隔(不為空時該條件有效)
String departmentid:
部門id,多個用逗號分隔(不為空時該條件有效)
String jobtitleid:
崗位id,多個用逗號分隔(不為空時該條件有效)
String lastChangeDate:
最后修改日期,日期格式“YYYY-MM-DD”(不為空時該條件有效)
String workcode:
人員編碼(不為空時該條件有效) UserInfo[]:用戶信息列表 根據(jù)參數(shù)條件獲取用戶信息列表
checkUser String ipaddress:調用接口的IP地址
String loginid:登錄名 String password:密碼
True:表示存在
False:表示不存在 檢測OA用戶
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:上級分部編碼,沒有上級請?zhí)顚?
Order:排序值
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:上級部門編碼,沒有上級請?zhí)顚?
Order:排序值
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>test@163.com</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>test@163.com</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:狀態(tài)
Locationid:辦公室
Workroom:辦公地點
Telephone:辦公電話
Mobile:移動電話
Mobilecall:其他電話
Fax:傳真
Email:郵箱
Systemlanguage:系統(tǒng)語言
Birthday:出生日期
Folk:名族
Nativeplace:籍貫
Regresidentplace:戶口
Certificatenum:身份證號碼
Maritalstatus:婚姻狀況
Policy:政治面貌
Bememberdate:入團日期
Bepartydate:入黨日期
Islabouunion:工會會員
Educationlevel:學歷
Degree:學位
Healthinfo:健康狀況
Residentplace:現(xiàn)居住地
Homeaddress:家庭聯(lián)系方式
Tempresidentnumber:暫住證號碼
以上是人員同步的所有節(jié)點信息,需要同步那些字段,就填寫相應的值。
5)SubCompanyInfo
/**
* 分部id
*/
private java.lang.String _subcompanyid;
/**
* 簡稱
*/
private java.lang.String _shortname;
/**
* 全稱
*/
private java.lang.String _fullname;
/**
* 上級分部id
*/
private java.lang.String _supsubcompanyid;
/**
* 網站
*/
private java.lang.String _website;
/**
* 顯示順序
*/
private java.lang.String _showorder;
/**
* 公司編碼
*/
private java.lang.String _code;
/**
* 是否封存
*/
private java.lang.String _canceled;
6)DepartmentInfo
/**
* 部門id
*/
private java.lang.String _departmentid;
/**
* 簡稱
*/
private java.lang.String _shortname;
/**
* 全稱
*/
private java.lang.String _fullname;
/**
* 所屬分部id
*/
private java.lang.String _subcompanyid;
/**
* 上級部門id
*/
private java.lang.String _supdepartmentid;
/**
* 顯示順序
*/
private java.lang.String _showorder;
/**
* 部門編碼
*/
private java.lang.String _code;
/**
* 是否封存
*/
private java.lang.String _canceled;
7)JobTitleInfo
/**
* 崗位id
*/
private java.lang.String _jobtitleid;
/**
* 簡稱
*/
private java.lang.String _shortname;
/**
* 全稱
*/
private java.lang.String _fullname;
/**
* 所屬部門id
*/
private java.lang.String _departmentid;
/**
* 崗位職責
*/
private java.lang.String _jobresponsibility;
/**
* 任職資格
*/
private java.lang.String _jobcompetency;
/**
* 相關文檔
*/
private java.lang.String _jobdoc;
/**
* 備注
*/
private java.lang.String _jobtitleremark;
8)UserInfo
private int userid ; //用戶id
private String subcompanyid1; //分部
private String departmentid; //部門
private String workcode; //編號
private String lastname; //姓名
private String loginid; //系統(tǒng)賬號
private String password; //密碼
private String seclevel; //安全級別
private String sex; //性別
private String jobtitle; //崗位
private String jobactivityid; //職務
private String jobgroupid; //職務類型
private String jobcall; //職稱
private String joblevel; //職級
private String jobactivitydesc;//職責描述
private String managerid; //直接上級
private String assistantid; //助理
private String status; //狀態(tài) eg:正式、試用等
private String locationid; //辦公地點
private String workroom; //辦公室
private String telephone; //辦公電話
private String mobile; //移動電話
private String mobilecall; //其他電話
private String fax; //傳真
private String email; //電子郵件
private String systemlanguage;//系統(tǒng)語言 默認7
private String birthday; //生日
private String folk; //名族
private String nativeplace; //籍貫
private String regresidentplace; //戶口
private String certificatenum; //身份證號
private String maritalstatus; //婚姻狀況
private String policy; //政治面貌
private String bememberdate; //入團日期
private String bepartydate; //入黨日期
private String islabouunion; //是否是工會會員
private String educationlevel; //學歷
private String degree; //學位
private String healthinfo; //健康狀況
private String height; //身高
private String weight; //體重
private String residentplace; //居住地
private String homeaddress; //家庭住址
private String tempresidentnumber; //暫住證號碼
private String startdate = "" ; //合同開始日期
private String enddate = "" ; //合同結束日期
private String createdate=""; //創(chuàng)建日期
private String lastChangdate=""; //最后修改日期
private int accounttype; //賬號類型
private int dsporder; //顯示順序
以上是獲得用戶的基本信息字段
2.4 生成客戶端
大家知道,在本地調用web service,最便利的方法是利用工具生成客戶端代理,開發(fā)人員通過客戶端代理去訪問web service將會非常簡單,就象調用本地的方法一樣。各大主流的編程語言都提供了通過wsdl生成客戶端代理的工具,如c#中的wsdl.exe和java中的wsdl2java。本文以java為例說明客戶端的生成方法。
2.4.1客戶端所需jar
commons-discovery-0.2.jar
javax-wsdl_1.5.1jar
commons-logging_1.0.4.jar
axis.jar
jaxrpc.jar
saaj.jar
activation.jar
mail.jar
2.4.2 生成客戶端
使用eclipse向導生成Web Service客戶端
4) 泛普協(xié)同OA辦公平臺示例程序
使用客戶端同步公司信息
public static void main(String[] args) {
try {
String orgxml =””;
HrmServiceClient client = new HrmServiceClient();
HrmServicePortType service = client.getHrmServiceHttpPort();
service. synSubCompany ("192.168.4.183", orgxml);
} catch (Exception e) {
e.printStackTrace();
}
}
檢測用戶:
public static void main(String[] args) {
try {
HrmServiceClient client = new HrmServiceClient();
HrmServicePortType service = client.getHrmServiceHttpPort();
System.out.println(service.checkUser("192.168.4.183", "test", "1"));
} catch (Exception e) {
e.printStackTrace();
}