如何通过WebService接口集成EHR系统
  xG3Gf8m6XbKr 2023年12月19日 22 0

近期,项目要对接人力资源管理系统,获取对应的组织架构、人员信息等相关内容,特此整理一下,以备不时之需。

口包含两部分,获取所有组织架构基本信息(getElementsBaseInfo)以及获取需要更新的组织架构信息(getUpdatedElements)等2个接口, 接口getElementsBaseInfo的作用是暴露本系统所有组织架构唯一标示信息,以便于异构系统做组织架构关系对应,另外也方便异构系统做组织架构架构删除检测。 接口getUpdatedElements的作用是返回此次组织架构同步,以下是对上述接口参数的具体说明:

  1.1  获取所有组织架构基本信息(getElementsBaseInfo

参数信息

  组织架构基本信息接出上下文(SysSynchroGetOrgBaseInfoContext),详细说明如下:

程序名描述类型可否为空备注说明returnOrgType设置需要返回的组织架构信息类型String(json数组)允许为空为空,表示获取所有组织架构类型的数据。不为空,表示获取设置的组织架构类型,格式为:[{"type":"person"},..]。可供设置的组织类型有:org(机构),dept(部门),group(群组),post(岗位),person(人员)。returnType设置需要返回的基本信息字段列表String(json数组)允许为空为空,返回的基本信息仅包含:id(唯一标识),lunid(唯一标示,可作为数据主健),name(名称),type(组织架构类型)信息。不为空,则表示返回的基本信息中处理id,name,type,lunid外,还包含设置的字段列表内容。 格式为:[{"type":"no"},..]。可供设置的字段名称有:no(编号),keyword(关键字)。

返回信息

  返回信息(SysSynchroOrgResult),详细说明如下:

程序名描述类型可否为空备注说明returnState返回状态数字(int)不允许为空0:表示未操作。1:表示操作失败。2:表示操作成功。message返回信息字符串(String)可为空返回状态值为0时,该值返回空。返回状态值为1时,该值返回错误信息。返回状态值为2时,该值返回所有组织架构的基本信息json数组。说明如下:返回值格式和参数returnType的设置有关。1、returnType为空时,返回信息格式为:[{"id":"13425","name":"测试部","type":"dept","lunid":"13425"},...]。2、returnType不为空时,返回的信息格式和returnType的设置对应,如returnType设置为 [{"type":"no"},{"type":"keyword"}]时,则对应返回信息格式为:[{"id":"13425","name":"测试部","type":"dept","lunid":"13425","no":"CSDL01","keyword":"dept_01"},...]。count返回数据的条目数数字(int)可为0返回数据的条目数。

如何通过WebService接口集成EHR系统_组织架构

如何通过WebService接口集成EHR系统_数据_02

// 设置服务请求的URL地址
String servicePath = serviceConfig.getAddress();
factory.setAddress(servicePath);
getOrgWebService = (ISysSynchroGetOrgWebService) factory.create();
}
return getOrgWebService;
}
public static void main(String[] args) {
Test test = new Test();
// 定义组织架构信息接出上下文
SysSynchroGetOrgInfoTokenContext orgContext = new SysSynchroGetOrgInfoTokenContext();
// 参数:组织类型JSON数组字符串( 可选项: org(机构)、dept(部门)、group(群组)、post(岗位)、person(人员))
// 按需增减参数,如仅需要人员数据时: String returnOrgType = "[{\"type\":\"person\"}]";
String returnOrgType = "[{\"type\":\"org\"},{\"type\":\"dept\"},{\"type\":\"group\"},{\"type\":\"post\"},{\"type\":\"person\"}]";
orgContext.setReturnOrgType(returnOrgType);
// 设置此次同步需要获取组织架构条目数
int pageSize = 5;
orgContext.setCount(pageSize);
// 设置同步的时间戳,返回指定的时间之后的数据,为空时不限制(时间戳格式要求:yyyy-MM-dd HH:mm:ss.SSS)
//orgContext.setBeginTimeStamp("2018-12-20 18:50:17.000");
try {
int pageNo = 1;  // 页码
String token = null;
while(true){
orgContext.setPageNo(pageNo);
if(pageNo!=1){
orgContext.setToken(token);
}
// 调用WebService接口,并接收请求返回的数据
SysSynchroOrgTokenResult result = test.getUpdatedElementsByToken(orgContext);
System.out.println("调用webservice请求第 "+pageNo+" 页数据");
System.out.println("请求状态:\n"+result.getReturnState()); // 0:未操作、1:失败、2:成功
System.out.println("本次请求返回的记录条数:\n"+result.getCount());
System.out.println("token:\n"+result.getToken());
System.out.println("组织架构数据:\n"+result.getMessage());
if(result.getCount()<pageSize){
break;
}
token = result.getToken();
pageNo++;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月19日 0

暂无评论

推荐阅读
xG3Gf8m6XbKr