# CIP组织机构同步-接口模式
# 介绍
- 官方说明文档见 组织同步 (opens new window)
- 与中间库方式一致,均支持集团、单位、部门、岗位、职务、人员基本信息、人员任职信息、人员兼职信息
# 产品登记
- {产品编码}自定义录入(建议具备一定含义)
- {产品名称}自定义录入(建议具备一定含义)
- {出品公司}自定义录入(建议具备一定含义)
# 应用注册
- {应用名称}自定义录入(建议具备一定含义)
- {登记产品编码}选择刚才登记的产品
- {版本号}选择刚才登记产品的版本号
- {版本说明}自定义录入(建议具备一定含义)
- {应用说明}自定义录入(建议具备一定含义)
- {应用服务商}自定义录入(建议具备一定含义)
- {接入方式}根据实际情况选择,如需同时支持PC和移动端则选择"PC&移动URL接入应用"
# 创建第三方应用接口库
# 新建分类
- 选择左侧树中层级,层级名称为"产品登记"中的{产品编码}与{版本号}拼接
- 新建接口分类,{分类名称}自定义录入(建议具备一定含义)
# 新建接口
说明:新建接口中的动作根据需要多次创建,一般情况下集团、单位、部门是必须的
- 选择创建的分类名称,点击新建接口
# 录入基本信息
- {接口名称}自定义录入(建议具备一定含义)
- {接口描述}自定义录入(建议具备一定含义)
- {版权所有}自定义录入(建议具备一定含义)
# 录入语义定义
- {接口访问协议}根据实际情况选择
- {接口应用类型}根据实际情况选择
- {接口服务地址}根据实际情况填写
- {HTTP/Rest/Webservice 接口基础信息}根据实际情况选择
- 参数设置,根据与接口提供方约定参数名称与类型,是否存在入参等信息。集团接口返回参数{数据类型}使用"JSON",其他接口使用"JSONArray",因为集团只会有一个,其他信息对于整个系统来说都应该是批量数据(根据实际情况自行调整)。
- 数据类型为"JSON"或者"JSONArray",需要进行格式设置,设置中的字段名称要求与接口字段命名一致
# 同步方案设置
{方案名称}自定义录入(建议具备一定含义)
{第三方应用}选择应用注册中的应用
{同步方式}选择"接口同步"
点击"同步接口绑定"按钮
- 展开{扩展信息匹配设置}支持将数据同步至主数据中
- 按照实际情况配置各接口
- 配置接口中各参数对应关系。注意:人员基本信息的主键字段与人员任职信息中的人员主键、基础信息主键,要求相同,否则人员基本信息无法同步过去(推测是一个BUG)
# 同步初始化
- 新建初始化配置
- {同步方案}选择同步方案设置操作中设置的方案
- {协同组织}根据实际情况选择,需要同步整个集团的信息选择集团。需要同步某个单位的信息选择对应单位
- {第三方应用组织}根据实际情况选择集团或者单位。此时将会调用集团接口、单位接口,如未出现数据,说明没有正确获取到接口中的集团和单位信息,可能是配置问题,也可能是接口中数据问题等
- {同步范围}根据实际情况勾选/取消勾选
# 同步操作
- 勾选同步操作,{同步方式}为手工同步时点击确定立刻触发同步动作。选择定时同步,根据设置定时触发同步操作
- 同步进行中
- 同步完成
# 同步日志
- 查看同步结果
# 示例
# 接口定义
- 集团
- 单位
- 部门
- 岗位
- 人员基本信息
- 人员任职信息
# 接口绑定
- 集团
- 单位
- 部门
- 岗位
- 人员基本信息
- 人员任职信息
# 接口
@GetMapping("/getGroup")
public Map<String, Object> getGroup(){
Map<String, Object> group1 = new HashMap<>();
group1.put("id", "groupId_1");
group1.put("name", "三方集团");
group1.put("code", "group");
return group1;
}
@GetMapping("/getAccount")
public List<Map<String, Object>> getAccount(){
List<Map<String, Object>> accountList = new ArrayList<>();
Map<String, Object> account1 = new HashMap<>();
account1.put("id", "accountId_1");
account1.put("name", "单位1");
account1.put("code", "account1");
account1.put("groupId", "groupId_1");
accountList.add(account1);
Map<String, Object> account2 = new HashMap<>();
account2.put("id", "accountId_2");
account2.put("name", "单位2");
account2.put("code", "account2");
account2.put("groupId", "groupId_1");
accountList.add(account2);
return accountList;
}
@GetMapping("/getDepartment")
public List<Map<String, Object>> getDepartment(){
List<Map<String, Object>> departmentList = new ArrayList<>();
Map<String, Object> department1 = new HashMap<>();
department1.put("id", "depId_1");
department1.put("name", "部门1");
department1.put("code", "department1");
department1.put("accountId", "accountId_1");
departmentList.add(department1);
Map<String, Object> department2 = new HashMap<>();
department2.put("id", "depId_2");
department2.put("name", "部门2");
department2.put("code", "department2");
department2.put("accountId", "accountId_1");
departmentList.add(department2);
return departmentList;
}
@GetMapping("/getPost")
public List<Map<String, Object>> getPost(){
List<Map<String, Object>> postList = new ArrayList<>();
Map<String, Object> post1 = new HashMap<>();
post1.put("id", "postId_1");
post1.put("name", "岗位1");
post1.put("code", "post1");
post1.put("accountId", "accountId_1");
postList.add(post1);
Map<String, Object> post2 = new HashMap<>();
post2.put("id", "postId_2");
post2.put("name", "岗位2");
post2.put("code", "post2");
post2.put("accountId", "accountId_1");
postList.add(post2);
return postList;
}
@GetMapping("getMemberBase")
public List<Map<String, Object>> getMemberBase(){
List<Map<String, Object>> memberBaseList = new ArrayList<>();
Map<String, Object> memberBase1 = new HashMap<>();
memberBase1.put("id", "memberId_1");
memberBase1.put("idNum", "12344111");
memberBaseList.add(memberBase1);
Map<String, Object> memberBase2 = new HashMap<>();
memberBase2.put("id", "memberId_2");
memberBase2.put("idNum", "45655111");
memberBaseList.add(memberBase2);
return memberBaseList;
}
@GetMapping("getMemberPost")
public List<Map<String, Object>> getMemberPost(){
List<Map<String, Object>> memberPostList = new ArrayList<>();
Map<String, Object> memberPost1 = new HashMap<>();
memberPost1.put("id", "memberId_1");
memberPost1.put("name", "张三");
memberPost1.put("code", "memebrCode1");
memberPost1.put("depId", "depId_1");
memberPost1.put("accountId", "accountId_1");
memberPost1.put("postId", "postId_1");
memberPostList.add(memberPost1);
Map<String, Object> memberPost2 = new HashMap<>();
memberPost2.put("id", "memberId_2");
memberPost2.put("name", "李四");
memberPost2.put("code", "memebrCode2");
memberPost2.put("depId", "depId_1");
memberPost2.put("accountId", "accountId_1");
memberPost2.put("postId", "postId_1");
memberPostList.add(memberPost2);
return memberPostList;
}
创建人:lichaoj
修改人:lichaoj