You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

251 lines
11 KiB

package com.kingdee.eas.custom.risheng;
import java.io.OutputStreamWriter;
import java.io.IOException;
import org.apache.axis.client.Call;
import org.apache.log4j.Logger;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class FWOASyncHrData implements SyncHRDataInterface {
private static Logger logger =
Logger.getLogger("com.kingdee.eas.custom.risheng.FWOASyncHrData");
/**
* OA同步组织
*/
@Override
public String syncAdminOrg(String data,String surl) {
//进入OA组织同步接口
logger.error("进入OA组织同步");
OutputStreamWriter out = null;
String result = "";
try {
JSONArray res = JSONArray.parseArray(data);
logger.error("查询数据为:"+res.toString());
//解析数据
//封装请求的报文,将请求参数,组合为XML格式
StringBuffer xmlBuffer = new StringBuffer();
xmlBuffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
xmlBuffer.append("<root>");
xmlBuffer.append(" <orglist>");
for (int i = 0; i < res.size(); i++) {
JSONObject obj = res.getJSONObject(i);
logger.error("action="+obj.getString("action"));
xmlBuffer.append(" <org action=\""+obj.getString("action")+"\">");
xmlBuffer.append(" <code>"+obj.getString("code")+"</code>");
xmlBuffer.append(" <shortname>"+obj.getString("shortname")+"</shortname>");
xmlBuffer.append(" <fullname>"+obj.getString("fullname")+"</fullname>");
xmlBuffer.append(" <org_code>"+obj.getString("org_code")+"</org_code>");
xmlBuffer.append(" <parent_code>"+obj.getString("parent_code")+"</parent_code>");
xmlBuffer.append(" <canceled>"+obj.getString("canceled")+"</canceled>");
xmlBuffer.append(" <order>0</order>");
xmlBuffer.append(" </org>");
}
xmlBuffer.append(" </orglist>");
xmlBuffer.append("</root>");
//XML参数内容
String xmlStr = xmlBuffer.toString();
String ipStr = "121.37.207.73";
// http://120.46.132.160:8080
String urlStr = surl;
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
Call call = (Call) service.createCall();
call.setOperationName("SynDepartment");
call.setTargetEndpointAddress(urlStr);
String[] param1 = new String[2];
param1[0] = ipStr;
param1[1] = xmlStr;
// logger.error("开始访问");
result = (String)call.invoke(param1);
// logger.error("接口返回结果为:"+result.toString());
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage());
}finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
logger.error(e.getMessage());
}
}
return result.toString();
}
/**
* 人员同步到OA
*/
@Override
public String syncPerson(String data,String surl) {
//进入OA组织同步接口
// logger.error("进入OA人员同步");
OutputStreamWriter out = null;
String result = "";
try {
JSONArray res = JSONArray.parseArray(data);
// logger.error("查询数据为:"+res.toString());
//解析数据
//封装请求的报文,将请求参数,组合为XML格式
StringBuffer xmlBuffer = new StringBuffer();
xmlBuffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
xmlBuffer.append("<root>");
xmlBuffer.append(" <hrmlist>");
for (int i = 0; i < res.size(); i++) {
JSONObject obj = res.getJSONObject(i);
logger.error("action="+obj.getString("action"));
xmlBuffer.append(" <hrm action=\""+obj.getString("action")+"\">");
xmlBuffer.append(" <workcode>"+obj.getString("workcode")+"</workcode>");
xmlBuffer.append(" <subcompany>"+obj.getString("subcompany")+"</subcompany>");
xmlBuffer.append(" <department>"+obj.getString("department")+"</department>");
xmlBuffer.append(" <lastname>"+obj.getString("lastname")+"</lastname>");
xmlBuffer.append(" <loginid>"+obj.getString("loginid")+"</loginid>");
if(obj.getString("password")=="null"||obj.getString("password")==null||obj.getString("password")==""){
//xmlBuffer.append(" <password>"+obj.getString("password")+"</password>");
}else{
xmlBuffer.append(" <password>"+obj.getString("password")+"</password>");
}
xmlBuffer.append(" <seclevel>"+obj.getString("seclevel")+"</seclevel>");
xmlBuffer.append(" <sex>"+obj.getString("sex")+"</sex>");
xmlBuffer.append(" <jobtitle>"+obj.getString("jobtitle")+"</jobtitle>");
xmlBuffer.append(" <jobactivityid>"+obj.getString("jobactivityid")+"</jobactivityid>");
xmlBuffer.append(" <jobgroupid>"+obj.getString("jobgroupid")+"</jobgroupid>");
xmlBuffer.append(" <jobcall>"+obj.getString("jobcall")+"</jobcall>");
xmlBuffer.append(" <joblevel>"+obj.getString("joblevel")+"</joblevel>");
xmlBuffer.append(" <jobactivitydesc>"+obj.getString("jobactivitydesc")+"</jobactivitydesc>");
xmlBuffer.append(" <managerid>"+obj.getString("managerid")+"</managerid>");
xmlBuffer.append(" <assistantid>"+obj.getString("assistantid")+"</assistantid>");
xmlBuffer.append(" <status>"+obj.getString("status")+"</status>");
xmlBuffer.append(" <locationid>"+obj.getString("locationid")+"</locationid>");
xmlBuffer.append(" <workroom>"+obj.getString("workroom")+"</workroom>");
xmlBuffer.append(" <telephone>"+obj.getString("telephone")+"</telephone>");
xmlBuffer.append(" <mobile>"+obj.getString("mobile")+"</mobile>");
xmlBuffer.append(" <mobilecall>"+obj.getString("mobilecall")+"</mobilecall>");
xmlBuffer.append(" <fax>"+obj.getString("fax")+"</fax>");
xmlBuffer.append(" <email>"+obj.getString("email")+"</email>");
xmlBuffer.append(" <systemlanguage>"+obj.getString("systemlanguage")+"</systemlanguage>");
xmlBuffer.append(" <birthday>"+obj.getString("birthday")+"</birthday>");
xmlBuffer.append(" <folk>"+obj.getString("folk")+"</folk>");
xmlBuffer.append(" <nativeplace>"+obj.getString("nativeplace")+"</nativeplace>");
xmlBuffer.append(" <regresidentplace>"+obj.getString("regresidentplace")+"</regresidentplace>");
xmlBuffer.append(" <certificatenum>"+obj.getString("certificatenum")+"</certificatenum>");
xmlBuffer.append(" <maritalstatus>"+obj.getString("maritalstatus")+"</maritalstatus>");
xmlBuffer.append(" <policy>"+obj.getString("policy")+"</policy>");
xmlBuffer.append(" <bememberdate>"+obj.getString("bememberdate")+"</bememberdate>");
xmlBuffer.append(" <bepartydate>"+obj.getString("bepartydate")+"</bepartydate>");
xmlBuffer.append(" <islabouunion>"+obj.getString("islabouunion")+"</islabouunion>");
xmlBuffer.append(" <educationlevel>"+obj.getString("educationlevel")+"</educationlevel>");
xmlBuffer.append(" <degree>"+obj.getString("degree")+"</degree>");
xmlBuffer.append(" <healthinfo>"+obj.getString("healthinfo")+"</healthinfo>");
xmlBuffer.append(" <height>"+obj.getString("height")+"</height>");
xmlBuffer.append(" <weight>"+obj.getString("weight")+"</weight>");
xmlBuffer.append(" <residentplace>"+obj.getString("residentplace")+"</residentplace>");
xmlBuffer.append(" <homeaddress>"+obj.getString("homeaddress")+"</homeaddress>");
xmlBuffer.append(" <tempresidentnumber>"+obj.getString("tempresidentnumber")+"</tempresidentnumber>");
xmlBuffer.append(" </hrm>");
}
xmlBuffer.append(" </hrmlist>");
xmlBuffer.append("</root>");
//XML参数内容
String xmlStr = xmlBuffer.toString();
logger.error("人员xml参数为"+xmlStr);
String ipStr = "121.37.207.73";
String urlStr = surl;
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
Call call = (Call) service.createCall();
call.setOperationName("SynHrmResource");
call.setTargetEndpointAddress(urlStr);
String[] param1 = new String[2];
param1[0] = ipStr;
param1[1] = xmlStr;
logger.error("开始访问");
result = (String)call.invoke(param1);
logger.error("接口返回结果为:"+result.toString());
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage());
}finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
logger.error(e.getMessage());
}
}
return result.toString();
}
/**
* 岗位同步
*/
@Override
public String syncPosition(String data,String surl) {
//进入OA组织同步接口
logger.error("进入OA岗位同步");
OutputStreamWriter out = null;
String result = "";
try {
JSONArray res = JSONArray.parseArray(data);
logger.error("查询数据为:"+res.toString());
//解析数据
//封装请求的报文,将请求参数,组合为XML格式
StringBuffer xmlBuffer = new StringBuffer();
xmlBuffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
xmlBuffer.append("<root>");
xmlBuffer.append(" <jobtitlelist>");
for (int i = 0; i < res.size(); i++) {
JSONObject obj = res.getJSONObject(i);
logger.error("action="+obj.getString("action"));
xmlBuffer.append(" <jobtitle action=\""+obj.getString("action")+"\">");
xmlBuffer.append(" <jobtitlecode>"+obj.getString("jobtitlecode")+"</jobtitlecode>");
xmlBuffer.append(" <jobtitlename>"+obj.getString("jobtitlename")+"</jobtitlename>");
xmlBuffer.append(" <jobtitleremark>"+obj.getString("jobtitleremark")+"</jobtitleremark>");
xmlBuffer.append(" <jobtitledept>"+obj.getString("jobtitledept")+"</jobtitledept>");
// jobgroupid 待确认 传不传
xmlBuffer.append(" <jobgroupid>"+obj.getString("jobgroupid")+"</jobgroupid>");
xmlBuffer.append(" </jobtitle>");
}
xmlBuffer.append(" </jobtitlelist>");
xmlBuffer.append("</root>");
//XML参数内容
String xmlStr = xmlBuffer.toString();
String ipStr = "121.37.207.73";
// http://120.46.132.160:8080
String urlStr = surl;
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
Call call = (Call) service.createCall();
call.setOperationName("SynJobtitle");
call.setTargetEndpointAddress(urlStr);
String[] param1 = new String[2];
param1[0] = ipStr;
param1[1] = xmlStr;
logger.error("开始访问");
result = (String)call.invoke(param1);
logger.error("接口返回结果为:"+result.toString());
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage());
}finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
logger.error(e.getMessage());
}
}
return result.toString();
}
}