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("");
xmlBuffer.append("");
xmlBuffer.append(" ");
for (int i = 0; i < res.size(); i++) {
JSONObject obj = res.getJSONObject(i);
logger.error("action="+obj.getString("action"));
xmlBuffer.append(" ");
xmlBuffer.append(" "+obj.getString("code")+"
");
xmlBuffer.append(" "+obj.getString("shortname")+"");
xmlBuffer.append(" "+obj.getString("fullname")+"");
xmlBuffer.append(" "+obj.getString("org_code")+"");
xmlBuffer.append(" "+obj.getString("parent_code")+"");
xmlBuffer.append(" "+obj.getString("canceled")+"");
xmlBuffer.append(" 0");
xmlBuffer.append(" ");
}
xmlBuffer.append(" ");
xmlBuffer.append("");
//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("");
xmlBuffer.append("");
xmlBuffer.append(" ");
for (int i = 0; i < res.size(); i++) {
JSONObject obj = res.getJSONObject(i);
logger.error("action="+obj.getString("action"));
xmlBuffer.append(" ");
xmlBuffer.append(" "+obj.getString("workcode")+"");
xmlBuffer.append(" "+obj.getString("subcompany")+"");
xmlBuffer.append(" "+obj.getString("department")+"");
xmlBuffer.append(" "+obj.getString("lastname")+"");
xmlBuffer.append(" "+obj.getString("loginid")+"");
if(obj.getString("password")=="null"||obj.getString("password")==null||obj.getString("password")==""){
//xmlBuffer.append(" "+obj.getString("password")+"");
}else{
xmlBuffer.append(" "+obj.getString("password")+"");
}
xmlBuffer.append(" "+obj.getString("seclevel")+"");
xmlBuffer.append(" "+obj.getString("sex")+"");
xmlBuffer.append(" "+obj.getString("jobtitle")+"");
xmlBuffer.append(" "+obj.getString("jobactivityid")+"");
xmlBuffer.append(" "+obj.getString("jobgroupid")+"");
xmlBuffer.append(" "+obj.getString("jobcall")+"");
xmlBuffer.append(" "+obj.getString("joblevel")+"");
xmlBuffer.append(" "+obj.getString("jobactivitydesc")+"");
xmlBuffer.append(" "+obj.getString("managerid")+"");
xmlBuffer.append(" "+obj.getString("assistantid")+"");
xmlBuffer.append(" "+obj.getString("status")+"");
xmlBuffer.append(" "+obj.getString("locationid")+"");
xmlBuffer.append(" "+obj.getString("workroom")+"");
xmlBuffer.append(" "+obj.getString("telephone")+"");
xmlBuffer.append(" "+obj.getString("mobile")+"");
xmlBuffer.append(" "+obj.getString("mobilecall")+"");
xmlBuffer.append(" "+obj.getString("fax")+"");
xmlBuffer.append(" "+obj.getString("email")+"");
xmlBuffer.append(" "+obj.getString("systemlanguage")+"");
xmlBuffer.append(" "+obj.getString("birthday")+"");
xmlBuffer.append(" "+obj.getString("folk")+"");
xmlBuffer.append(" "+obj.getString("nativeplace")+"");
xmlBuffer.append(" "+obj.getString("regresidentplace")+"");
xmlBuffer.append(" "+obj.getString("certificatenum")+"");
xmlBuffer.append(" "+obj.getString("maritalstatus")+"");
xmlBuffer.append(" "+obj.getString("policy")+"");
xmlBuffer.append(" "+obj.getString("bememberdate")+"");
xmlBuffer.append(" "+obj.getString("bepartydate")+"");
xmlBuffer.append(" "+obj.getString("islabouunion")+"");
xmlBuffer.append(" "+obj.getString("educationlevel")+"");
xmlBuffer.append(" "+obj.getString("degree")+"");
xmlBuffer.append(" "+obj.getString("healthinfo")+"");
xmlBuffer.append(" "+obj.getString("height")+"");
xmlBuffer.append(" "+obj.getString("weight")+"");
xmlBuffer.append(" "+obj.getString("residentplace")+"");
xmlBuffer.append(" "+obj.getString("homeaddress")+"");
xmlBuffer.append(" "+obj.getString("tempresidentnumber")+"");
xmlBuffer.append(" ");
}
xmlBuffer.append(" ");
xmlBuffer.append("");
//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("");
xmlBuffer.append("");
xmlBuffer.append(" ");
for (int i = 0; i < res.size(); i++) {
JSONObject obj = res.getJSONObject(i);
logger.error("action="+obj.getString("action"));
xmlBuffer.append(" ");
xmlBuffer.append(" "+obj.getString("jobtitlecode")+"");
xmlBuffer.append(" "+obj.getString("jobtitlename")+"");
xmlBuffer.append(" "+obj.getString("jobtitleremark")+"");
xmlBuffer.append(" "+obj.getString("jobtitledept")+"");
// jobgroupid 待确认 传不传
xmlBuffer.append(" "+obj.getString("jobgroupid")+"");
xmlBuffer.append(" ");
}
xmlBuffer.append(" ");
xmlBuffer.append("");
//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();
}
}