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(); } }