调用s-HR的OSF接口必须先配置单点登录。
以上配置完后需要重启一下系统才能生效。
导入shr_sso_client.jar包。下载地址:
然后通过以下代码即可调用金蝶SHR的OSF接口
public static void main(String[] args) throws IOException, HttpException {
String SHR_LOCAL = "http://10.68.88.180:6888/shr";
//OSF名称,注意是名称不是编码
String serviceName = "saveLeaveBill";
//调用OSF所需要的参数
Map<String, Object> param = new HashMap<String, Object>();
param.put("timeOffApplyType", "JQLX000001Y"); // 假期类型编号
param.put("timeOffStartDate", "2023-11-04 08:00:00"); // 开始时间
param.put("timeOffEndDate", "2023-11-04 19:00:00"); // 结束时间
param.put("excuse", "test"); // 请假理由
param.put("leaveLength", 3); // 请假长度
param.put("personNum", "111111"); // 请假申请人
param.put("onlyCheck", "0"); // 值为1-只做校验不保存
OSFWSClient client = new OSFWSClient();
//webservice登录系统的用户信息
UserInfo userInfo = new UserInfo();
userInfo.setDcName("ehr_test");//数据中心ID可在管理控制台中查看,为数据中心代码
userInfo.setLanguage("L2");//多语言,L1,L2,L3
userInfo.setUserName("user");//用户名
userInfo.setPassword("user");//用户密码
userInfo.setSlnName("eas");//固定值eas
userInfo.setDbType(0);//数据库类型,0-SQL Server, 1-Oracle, 2-DB2
String res = client.proceedOSF(SHR_LOCAL, serviceName, param, userInfo);
System.out.println(res);
}