1、前言

随着泛微OA的使用,很多公司都会有将异构系统的组织、人员同步到OA的需求。
实现方式主流的有两种方式:
方式1:异构系统将新增、修改的组织人员数据调用泛微OA的组织人员同步接口推送给OA。
方式2:OA主动去调用异构系统的接口或中间库表,拿取数据,并自己调用泛微OA的组织人员同步接口。写入系统中。
本文主要介绍方式的同步方式。

2、实现方案

2.1、同步范围

泛微OA支持的同步数据范围包含 分部(即分子公司的概念)、部门、岗位、人员。
下面分别介绍各个维度同步的实现过程。

2.1.1、分部同步

分部的同步需要异构系统提供 分部编码、分部名称、上级分部编码、封存标志。
OA接口需要的字段信息如下图:

2.1.2、部门同步

部门的同步需要异构系统提供部门编码、部门名称、所属分部编码、上级部门编码、封存标志。
OA接口需要的字段信息如下图:

2.1.3、岗位同步

OA中的岗位是全局的,这一点区别于很多的HR系统的岗位是用于各个部门的,所以需要注意。
坑点
岗位同步是个硬伤。因为OA中的职务实际是存在上级的
职务类型-职务-岗位 ,而系统支持的岗位同步里没有职务类型和职务的同步。这样就造成了在岗位同步时候,如果新增一个岗位到OA中,会默认新建成:待定(职务类型)-待定(职务)-新增的岗位。
所以如果新增的岗位需要用户手动修改岗位所属职务类型和职务。

岗位同步需要异构系统提供:岗位编码、岗位名称

2.1.4、人员同步

人员同步涉及到字段较多,就不一一罗列了。只说一些必要字段。
需要异构系统提供:人员编码、人员分部编码、人员部门编码、人员岗位编码、人员姓名、
人员状态(汉字值:枚举:试用,正式,临时,试用延期, 解聘,离职,退休,无效)。

上面仅仅是异构系统需要提供的必要字段,这一点注意,如果需要同步其它非必要字段,请查看泛微的官方接口文档。(需要文档链接请私信我)

基于岗位同步的硬伤,人员的岗位赋值,给出一种折中的处理方式:
人员同步中岗位同步时需要传入职务类型汉字、职务的汉字、岗位的汉字,这三个字段。
这三个字段值在系统中都存在,则不会创建新的岗位。
所以我们要做的是根据异构系统人员数据中的岗位编码,反查OA系统中的这个岗位对应的职务类型、对应的职务汉字的值,然后赋值给接口字段。

下面是反查的sql,仅供参考

select a.jobtitlename ,b.jobactivityname ,c.jobgroupname from hrmjobtitles a, HrmJobActivities b, HrmJobGroups c where a.jobactivityid =b.id and b.jobgroupid =c.id and a.jobtitlecode =?

2.2、注意

注意各维度接口每次只接收不超过1000调数据,如果数据量大,需要做分批处理。
可以参考下面类似的代码做分批调用。

  List list = new ArrayList();String action = getAction("subcompany", code, canceled);item.putOpt("@action", action);item.putOpt("code", code);item.putOpt("shortname", shortname);item.putOpt("fullname", fullname);item.putOpt("parent_code", parent_code);item.putOpt("canceled", canceled);array.add(item);Map map = JSON.parseObject(item.toString());list.add(map);List<List> newList = Lists.partition(list, 1000);for (List listtmp : newList) {JSONObject data = new JSONObject();JSONObject rule = new JSONObject();rule.putOpt("subcompnay", "subcompanycode");data.putOpt("rule", rule);data.putOnce("data", JSONUtil.parseArray(listtmp));result.add(data);syn2OACmd.synSubcompany(result);}

泛微E9组织人员同步总结笔记相关推荐

  1. 泛微E9二次开发,对接金蝶云星空,数据同步,表单同步。

    文章目录 泛微E9二次开发,对接金蝶云星空 一.搭建开发环境,引入相关依赖 一.创建项目 二.配置javaSDK 三.配置项目依赖 四.编写测试代码 五.配置编译 六.resin远程debug配置 二 ...

  2. 关于泛微E9 OA系统手机端无法使用的抢救过程

    关于泛微E9 OA系统手机端无法使用的抢救过程 1.重启emp目录中,sh rsstart.sh,启动过程显示mysql服务启动异常. 2.关闭服务,重启再试一下.sh stop.sh 还是显示mys ...

  3. 超全 泛微 E9 Ecology 9开发资料大全 开源资源下载 泛微E9二次开发 泛微开发实战经验 泛微开发实战例子 泛微二次开发项目例子 泛微二次开发Demo 泛微二次开发完整例子 泛微二次开发入门

            由于工作需要,E9在泛微一推出来,以前所在的企业就第一时间上线了,经过四年多的运行,功能强大再加上在上面开发非常多的业务,一般的企业员工只需要打开泛微就可以处理完平时信息化的业务.后来 ...

  4. 【泛微E9功能点】考勤管理-应用设置

    [泛微E9功能点]考勤管理-应用设置

  5. 泛微E9流程搭建技巧与建议

    泛微E9流程搭建技巧与建议 1.流程图 1.1多分支时要尽量合并减少分支,(条件写在操作者那里)节点越少越简洁也更容易维护.除非要求表单不一样. 图1.1 1.2节点多出口时有条件的(跨节点)出口先编 ...

  6. 泛微E9后端学习笔记 - IDEA远程调试

    参考:泛微在线文档 - ecology后端开发环境搭建 泛微官方已非常详细的描述了后端环境的搭建和远程调试的配置,这里就不再赘述了. 关于开放远程调试的关键就是文档中的这一段: 进入resin配置文件 ...

  7. 泛微E9二次开发资料完整总结版

    文章目录 1.EC9系统说明 1.1.系统核心框架 1.2.系统目录结构 2.环境搭建 2.1.Ecology测试环境搭建 2.2.后端开发环境搭建 2.3.ecode使用说明 2.4.e9技术站 2 ...

  8. 【泛微E9开发】单点登录金蝶EAS

    单点登录说明: 1.泛微版本确认是E9,这个版本的程序已经集成了EAS的JAR文件和配置文件.确认这两个目录下有以下文件. /usr/weaver/ecology/WEB-INF/lib/kingde ...

  9. 泛微E9 属性联动JS - 明细字段的只读/编辑/必填/隐藏

    参考 泛微在线文档 (e-cloudstore.com) E9前端的所有接口统一封装在全局对象window.WfForm中,大部分操作都可使用WfForm实现.虽然官方不建议使用jquery,但有些需 ...

最新文章

  1. java制作画布_java – 使用自定义方法绘制到画布?
  2. golang管道channel的遍历和关闭:应该使用for...range来遍历
  3. Android studio git 本地仓库和远程仓库节点对比
  4. Java 的Comparator比较器用法
  5. PTA-7-3 A除以B (10分)
  6. 开发sharepoint工作流过程中的Ptifall(容易犯的错误)
  7. alt php,我怎样才能在PHP中获取a p标签的alt属性?
  8. node.js 知识分享网站源码【毕业设计】
  9. 什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?...
  10. js获取今天剩余时间_骚姿势获取无线路由器后台权限
  11. python模拟浏览器访问企查查_python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了...
  12. python数据清洗工具、方法、过程整理归纳(六、数据清洗之数据预处理(一)——重复值处理、缺失值处理)
  13. 各大程序员兼职平台靠谱嘛?这一篇文章就够了
  14. 小伙Python爬虫并自制新闻网站,太好玩了
  15. 禁用和启用google翻译
  16. centos:centos7.3镜像下载
  17. 一条宽带多人共享违法?
  18. 榆次哪儿有学计算机的,山西榆次计算机专业院校太重技校抓住机会
  19. Python进阶:使用Matplotlib进行数据可视化(一)
  20. 【调剂】安徽理工大学矿业工程学院接收调剂学硕研究生

热门文章

  1. RANSAC算法总结
  2. 是阅文需要动漫,还是国漫需要阅文?
  3. 简单好记的计算机名,好听又好记的游戏名字
  4. 超经典淮安话(你懂几句)
  5. 编译vc10版(VS2010)opencv2/3
  6. 对美国新生儿取名的几个数据分析自命题(一)
  7. 第一颗国产HDMI 2.0 至双端口 MIPI DSI/CSI,带音频LT6911UXE 芯片
  8. 有关《三体》的一篇拓展短小说
  9. 硅谷课堂第五课-腾讯云对象存储和课程分类管理
  10. CCAI2018 | 智能芯片的下一场战争是什么?