实践案例 | 集团企业多数据中心的共享任务集成案例

小编推荐
许多房地产集团企业想要地产板块与物业板块整体系统性的进行信息化建设,但两大板块本身差异较大,建设难度较高。那如何解决以上难题,提高集团业财一体化与信息化水平呢?
别着急,本期文章为大家带来集团企业多数据中心的共享任务集成案例,通过搭建构建多数据中心的共享任务集成,助力企业统一处理共享任务。
撰稿人:金蝶-刘招男
一、业务背景
某地产集团业财一体化项目建设组织包括地产板块及物业板块,由于地产和物业业务差异以及物业板块未来上市的需求,地产板块与物业板块在进行本次中台建设时,采取一个应用、两个数据中心的模式,进行整体系统建设。
同时由于财务共享中心组织仅在集团层级搭建,因此需要实现多数据中心的共享任务集成,将两个数据中心的共享业务在其中一个数据中心(地产)进行统一的共享任务处理。
二、解决方案
(一)整体架构解决方案:
采用应用层为一套苍穹系统、多数据中心的部署模式,各板块拥有独立的访问域名,应用服务层完全共享。
集团统一运维管控的基础上,保障地产板块与物业板块的业财中台项目独立建设,建设过程中避免由于业务处理方式不一样导致的逻辑冲突。
同时,财务共享中心仅在地产板块数据中心搭建,物业相关的业务单据审批任务通过集成的方式,同步至地产板块共享中心进行任务审单处理。

图1 共享中心整体架构
(二)共享集成解决方案:
报账相关单据经由流程引擎系统(客户OA系统)业务财务领导审批完成后,通过集成平台将数据传输至地产共享中心,创建共享任务,共享中心财务对分配的任务进行审批。审批过程中支持以下类型操作:
(1)退回单据及修改后重新提交
(2)终止流程
(3)审批完成的任务,可将共享中心审批记录同步至报账系统供用户查看,具体实现流程如下:
共享审批的核心基础资料如“用户”、“组织”需要同步;
所有进入地产板块数据中心的共享中心任务单据,需要在地产板块数据中心新建单据实体对应处理共享任务;
报账系统EIP流程审批通过后,调用共享集成方案,通过集成方案将数据同步至共享系统;
共享系统收到同步的单据数据后,通过工作流创建共享任务,并按照分配方案进行任务分配,共享财务岗进行单据审批;
共享系统打回单据时,调用报账系统打回单据接口。打回报账系统后,重新修改单据要素,提交EIP审批通过后再次推送共享中心进行审批;
共享打回影像时,调用报账系统打回影像接口。打回报账系统后,重新上传影像后再次推送共享中心进行审批;
共享中心审批通过后,调用报账系统审批通过接口,反写单据状态信息;
共享中心流程结束后,调用报账系统审批意见接口,反写审批意见到报账系统;
物业数据中心开发单据序时簿查询任务同步情况;(二开实现)

图2 共享集成解决方案图
(三)系统实现基本的步骤:
1.物业系统的单据新增syncresult操作,操作类型选择donothing,该操作仅用于代码触发集成管理的服务流程监听,无实际业务逻辑;

图3 物业单据新增syncresult操作
2.在集成对象,配置要集成的单据;

图4 集成对象新增

图5 集成对象设置页面
3.依次点击【集成管理】→【服务流程】,点击新增按钮;

图6 集成管理新增服务流程
4.依次填写“编码”、“名称”,“启动方式”选择“事件触发”,新增流程变量,变量类别为集成对象,数据类型填写返回要审批结果的单据,点击保存;
5.点击“流程图”按钮,增加一个“脚本”节点;

图7 流程图新增“脚本”节点
6.双击“开始”节点,集成对象填写要返回审批结果的单据,单据事件选择syncresult;

图8 流程图“开始”节点配置页面
7.配置脚本,其中调用的openapi接口需改为B系统开放的openapi接口;

图9 流程图脚本配置页面
脚本示例代码:
//微服务获取审批记录 var param = invokeMicroService('ssc', 'task', 'GeneralDataService', 'getApprovalRecordByBillId', src.id); if(param == null || param.length == 0){ return; } //获取数据源连接配置 var apiConn = $service(tar,'',{}); //调用openapi接口 var url = apiConn.protocal + "://" + apiConn.ip + ":" + apiConn.port + "/ierp/kapi/app/img/createImageNo"; var header = {"accessToken":apiConn.session}; var charset = "utf-8"; var result = HttpPost(url, param, charset, null, header); print(result);
微服务调用获取审批记录,返回的审批结果是个Map<String,Object>集合,包含两个参数:
参数名称 | 参数类型 | 是否必传 | 说明 |
isCompleted | boolean | 是 | 共享节点是否完成审批 |
jsonString | String | 是 | Json格式字符串,内容为审批结果 |
billId | String | 是 | 单据ID |
billType | String | 是 | 单据类型 |
表1 审批结果参数
Json结构:
参数名称 | 参数类型 | 是否必传 | 说明 |
approvalDate | String | 是 | 审批日期 |
approvalMessage | String | 是 | 审批意见 |
approvalResult | String | 是 | 审批结果 |
decisionValue | String | 是 | 决策项值 |
personId | String | 是 | 审批人ID |
personName | String | 是 | 审批人名称 |
personNumber | String | 是 | 审批人工号 |
taskType | String | 是 | 审批类型 |
表2 Jason结构参数说明
jsonString示例:
[ { "approvalDate": "2022-08
实践案例 | 集团企业多数据中心的共享任务集成案例
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



