一种多级机构映射及同步的方法和系统的制作方法
【技术领域】
[0001]本发明属于数字化处理领域,具体涉及一种多级机构映射及同步的方法和系统,适用于两个或多个组织机构维护粒度不同的系统之间,由细粒度系统向粗粒度系统进行机构-用户同步的场合。
【背景技术】
[0002]在业务拓展过程中经常需要在各系统/平台之间进行对接同步对方系统/平台的组织机构-人员信息,而各系统/平台由于业务的差别,对组织架构的维护粒度并非完全一致,在这种场景下很难对这种情况下很难对组织机构数据及机构-人员关系进行同步维护。
[0003]各系统/平台由于不同的业务需要,对各自的组织机构维护粒度不同,拿教育软件来说,A系统可能需要将组织机构维护到科室、办公室级别,B系统可能仅需要维护到学校级另IJ,两个系统之间进行机构-用户同步时,在不对系统进行大规模改造的前提下则难以实现。本发明提供的方法则可以在小规模的改造下实现细粒度系统向粗粒度系统的机构-用户同步。
【发明内容】
[0004]为解决以上问题,本发明实现了细粒度机构系统向粗粒度系统的机构-用户同步。
[0005]具体地,本发明提供一种多级机构映射及同步的方法,实现细粒度机构系统向粗粒度系统的机构-用户同步,所述方法包括以下步骤:
[0006]步骤一,在粗粒度系统中按照行政区域初始化省市县机构;
[0007]步骤二,同步校机构:首先粗粒度系统调用细粒度系统的同步接口获取校机构,然后解析校机构的上级机构进行同步;
[0008]步骤三,同步用户:首先粗粒度系统调用细粒度系统的同步接口获取用户信息,然后获取用户所属机构进行同步。
[0009]进一步,如上所述的多级机构映射及同步的方法,所述方法进一步包括步骤四,SP根据用户所在科室添加角色。
[0010]进一步,如上所述的多级机构映射及同步的方法,所述科室为校长室或教务处,所述角色为校长或管理员。
[0011 ]进一步,如上所述的多级机构映射及同步的方法,所述步骤二中解析校机构的上级机构进行同步的方法具体为:首先获取该校机构的上级机构树,由下往上遍历所述机构树与粗粒度系统中的省市县机构进行对比,若不存在则继续向上查找,若能匹配则标识该机构为该校所属的最低省市县机构,并在此机构下创建对应校机构。
[0012]进一步,如上所述的多级机构映射及同步的方法,所述步骤三中获取用户所属机构进行同步的方法具体为:首先获取用户的机构树,由下向上遍历所述机构树与粗粒度系统中的省市县校机构进行对比,若不存在则继续向上查找,若能匹配则标识该机构为该用户所属的最低省市县校机构,并在此机构下同步该用户。
[0013]另外,本发明还提供一种多级机构映射及同步的系统,实现细粒度机构系统向粗粒度系统的机构-用户同步,所述系统包括以下模块:
[0014]初始化模块,用于在粗粒度系统中按照行政区域初始化省市县机构;
[0015]校机构同步模块,用于同步校机构,首先粗粒度系统调用细粒度系统的同步接口获取校机构,然后解析校机构的上级机构进行同步;
[0016]用户同步模块,用于同步用户:首先粗粒度系统调用细粒度系统的同步接口获取用户信息,然后获取用户所属机构进行同步。
[0017]所述系统进一步包括角色添加模块,用于根据用户所在科室添加角色。
[0018]本发明利用多级机构映射的技术,可保证在非对等机构层级的情况下,细粒度系统向粗粒度系统正确同步组织机构-用户数据。
【附图说明】
[0019]图1为本发明多级机构映射及同步的方法的流程图。
[0020]图2为本发明多级机构映射及同步的系统的结构图。
【具体实施方式】
[0021]下面结合附图和实施例对本发明进行详细的描述。
[0022]本发明根据行政区域划分将细粒度机构系统中的机构信息简化到省市县结构,然后同步学校关联到省市县机构,同步用户信息关联到校或省市县机构。例如A系统中机构维护粒度为科室,用户userl的机构树信息为山西省-阳泉市-县区教育局-平定县-平定县教育局-柏木井小学-教务处,而B系统的组织机构层级为省市县校四级机构:山西省-阳泉市-平定县-柏木井小学,在这种场景下实现用户由A系统向B系统进行同步。
[0023]如图1所示,本发明的【具体实施方式】如下:
[0024]现有A、B两个系统,A系统中的机构信息粒度细,机构-用户以如下数据为例:
[0025]userl:山西省-阳泉市-县区教育局-平定县-平定县教育局-基础教育科
[0026]uSer2:山西省-阳泉市-县区教育局-平定县-平定县教育局-柏木井小学-教务处
[0027]userf:山西省-阳泉市-县区教育局-城区教育局-城区学校-上站小学-办公室
[0028]需要将这些用户信息同步到B系统,B系统的组织机构为省市县校四级部署。同步步骤如下:
[0029]步骤S1、在B系统根据行政区域对省市县机构进行初始化,建立山西省、阳泉市、平定县机构,并建立层级关系。
[0030]步骤S2、B系统调用A系统接口获取所有机构信息并标识是否为校机构,返回结果示例如下:
[0031]{{山西省,0},{阳泉市,0},{县区教育局,0},{城区教育局,0},{城区学校,0},{上站小学,1},{办公室,0},{平定县教育局,0},{基础教育科,0},{柏木井小学,1},{教务处,
O}}
[0032]遍历获取校机构单位,然后获取校机构的机构树信息:
[0033]柏木井小学:山西省-阳泉市-县区教育局-平定县-平定县教育局
[0034]上站小学:山西省-阳泉市-县区教育局-城区教育局-城区学校<