轻易云平台在数据转换与写入中的应用

  • 轻易云集成顾问-潘裕
### FD006-募投账户付款申请流程 泛微OA => 金蝶其他应付单--478: 系统对接集成案例分享 在现代企业的业务处理中,数据的高效流转和准确性至关重要。本文将深入探讨如何通过轻易云数据集成平台实现泛微OA到金蝶云星空的数据对接,以`FD006-募投账户付款申请流程`为例,具体展示从泛微系统获取付款申请数据并批量写入到金蝶云星空中的过程。 我们使用到了泛微OA系统提供的数据API接口`/api/workflow/paService/getWorkflowRequest`来抓取审批完成后的支付请求,同时利用金蝶云星空API接口`batchSave`进行大数据量的快速写入。这一过程涉及全生命周期管理、实时监控以及定制化的数据转换处理。 #### 数据流设计与实现 首先,通过轻易云可视化界面,我们配置了一个自动化任务,用于定时调用泛微OA API接口,获取最新的付款申请信息。该项任务支持分页抓取与限流机制,以保证不会因过多请求导致服务异常,从而确保数据不漏单且完整收到。 ```json POST /api/workflow/paService/getWorkflowRequest { "requestStatus": "APPROVED", "pageSize": 100, "currentPage": 1 } ``` 上述请求用于拉取状态为“已审批”的每批次100条记录,并按页数逐步递增直至所有记录读取完毕。在这个过程中,我们针对不同字段进行了规格统一和格式转换,以适配下游系统——金蝶云星空的数据结构要求。 与此同时,为了避免由于网络波动或其它意外情况导致的数据丢失,我们启用了错误重试机制和告警功能。当发生故障时,该集成任务会自动尝试重新执行,并发送实时告警以便及时处理问题。此外,还设置了全面的数据质量监控策略,一旦检测到异常数据即可立即采取措施修复,再次保障了数据传输的可靠性。 最后,将处理好的业务逻辑及对应字段映射至金蝶标准表头后,通过以下API调用成功完成批量写入: ```json POST /k3cloud/kd/batchSave { "data": [ { // 对应支付单据相关字段映射内容 }, ... ] } ``` 这种可靠且高效的方案,不仅提升了各业务节点间的信息互通能力,也极大地优化了财务审核和支付进程,为企业带来了清晰透明、高速运转的信息管理体系。 ![打通金蝶云星空数据接口](https://pic.qeasy.cloud/D8.png~tplv-syqr462i7n-qeasy.image) ### 调用泛微OA-Http接口获取并加工数据 在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用泛微OA-Http接口`/api/workflow/paService/getWorkflowRequest`来获取并加工数据。 #### 接口调用配置 首先,我们需要配置元数据以便正确调用泛微OA的API接口。以下是元数据配置的详细信息: ```json { "api": "/api/workflow/paService/getWorkflowRequest", "effect": "QUERY", "method": "GET", "number": "requestId", "id": "requestId", "name": "id", "idCheck": true, "request": [ { "field": "workflowId", "label": "e9流程id", "type": "string", "value": "478" }, { "field": "workflowIdList", "label": "workflowIdList中间方案ID", "type": "string", "value": "2356388e-8c49-35b3-bb7e-1eca1a8617d5" } ], "autoFillResponse": true, "condition_bk": [ [ { "field": "workflowMainTableInfo.fklx", "logic": "eqv2", "value": "其他应付单" } ] ], "condition": [ [ { "field": "workflowMainTableInfo.fklx", "logic": "eqv2", "value": "其他应付单" } ] ] } ``` #### 数据请求与清洗 在这个阶段,我们使用GET方法调用API接口,并传递必要的参数`workflowId`和`workflowIdList`。这些参数用于指定我们感兴趣的工作流实例。在实际操作中,API返回的数据可能包含多个字段,但我们只关注与业务相关的部分。 例如,假设API返回的数据结构如下: ```json { “requestId”: “12345”, “workflowMainTableInfo”: { “fklx”: “其他应付单”, “amount”: “1000”, “currency”: “CNY” }, ... } ``` 根据元数据配置中的条件,我们只处理`fklx`字段值为“其他应付单”的记录。这一步骤确保了我们只对符合业务需求的数据进行后续处理。 #### 数据转换与写入 在完成数据请求与清洗后,下一步是将这些数据转换为目标系统所需的格式,并写入目标系统。在本案例中,目标系统是金蝶其他应付单模块。 假设我们需要将上述返回的数据转换为金蝶系统所需的格式: ```json { “billType”: “AP_OtherPayable”, “billNo”: “12345”, “amount”: “1000”, “currency”: “CNY” } ``` 通过轻易云平台提供的数据转换功能,我们可以轻松实现这一过程。具体步骤包括: 1. 映射字段:将源系统中的字段映射到目标系统中的相应字段。 2. 数据格式转换:根据目标系统要求调整数据格式,例如日期格式、数值精度等。 3. 数据校验:确保所有必填字段都有有效值,并符合业务规则。 #### 实时监控与错误处理 在整个数据集成过程中,实时监控和错误处理同样重要。轻易云平台提供了全面的监控功能,可以实时跟踪每个数据处理环节的状态。一旦发生错误,如网络故障或数据格式不匹配,平台会自动记录并通知相关人员进行处理。 通过以上步骤,我们成功实现了从泛微OA到金蝶其他应付单模块的数据集成。这不仅提高了业务效率,还确保了数据的一致性和准确性。 ![如何开发用友BIP接口](https://pic.qeasy.cloud/S24.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台实现金蝶云星空API接口的数据转换与写入 在数据集成的生命周期中,数据转换与写入是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台,将源平台的数据通过ETL(提取、转换、加载)过程,转换为金蝶云星空API接口所能接收的格式,并最终写入目标平台。 #### 元数据配置解析 在进行数据转换与写入之前,我们需要了解元数据配置。以下是一个典型的元数据配置示例: ```json { "api": "batchSave", "effect": "EXECUTE", "method": "POST", "idCheck": true, "operation": { "rowsKey": "array", "rows": 1, "method": "batchArraySave" }, "request": [ { "field": "FBillTypeID", "label": "单据类型", "type": "string", ... }, ... ], ... } ``` 该配置定义了如何将源平台的数据映射到金蝶云星空API接口所需的字段格式。以下是关键字段的解析和处理方法: 1. **FBillTypeID(单据类型)**: - 类型:`string` - 描述:单据类型 - 值:`QTYFD01_SYS` - 转换方法:使用 `ConvertObjectParser` 将值转换为金蝶系统所需的格式。 2. **FBillNo(单据编号)**: - 类型:`string` - 描述:单据编号 - 值:直接从源平台获取,无需额外转换。 3. **FDATE(业务日期)**: - 类型:`string` - 描述:业务日期 - 值:`{{workflowMainTableInfo.sqrq}}` - 转换方法:直接映射源平台的业务日期字段。 4. **FCONTACTUNITTYPE(往来单位类型)**: - 类型:`string` - 描述:往来单位类型 - 值:根据不同情况动态生成,例如: ```sql _function case '{{detail_0.0.wldwlx_FV}}' when '4' then 'BD_Supplier' when '5' then 'BD_Customer' when '3' then 'ORG_Organizations' when '6' then 'FIN_OTHERS' end ``` 5. **FCURRENCYID(币别)**: - 类型:`string` - 描述:币别 - 值:通过 `_findCollection` 查询获取,例如: ```sql _findCollection find FNumber from 5740d4e3-ebe8-3548-9635-f35e1fdc983b where FCODE={{workflowMainTableInfo.bberp}} ``` #### 数据转换过程 在了解了元数据配置后,接下来是具体的数据转换过程。以下是一个完整的数据转换示例: ```json { "FormId": "AP_OtherPayable", "Operation": "BatchSave", ... } ``` 1. **提取源数据**: 从源系统中提取相关字段,如 `workflowMainTableInfo.sqrq`, `detail_0.0.wldwlx_FV`, `workflowMainTableInfo.bberp` 等。 2. **字段映射与转换**: 根据元数据配置,将提取到的数据进行相应的映射和转换。例如,将 `workflowMainTableInfo.sqrq` 映射为 `FDATE` 字段,将 `detail_0.0.wldwlx_FV` 动态生成 `FCONTACTUNITTYPE` 字段。 3. **构建请求体**: 将所有映射和转换后的字段组装成符合金蝶云星空API接口要求的请求体。例如: ```json { "FBillTypeID": {"FNumber":"QTYFD01_SYS"}, ... } ``` #### API请求与写入 完成上述步骤后,即可向金蝶云星空API接口发送请求,实现数据写入。以下是一个典型的API请求示例: ```http POST /k3cloud/api/batchSave HTTP/1.1 Host: k3cloud.example.com Content-Type: application/json { ... } ``` 在实际操作中,需要确保请求体中的每个字段都符合金蝶云星空API接口的要求,并且所有必要的基础资料已经在目标系统中存在或已正确创建。 #### 实践案例 假设我们需要将泛微系统中的“募投账户付款申请流程”数据集成到金蝶其他应付单中,具体操作如下: 1. 提取泛微系统中的相关字段。 2. 使用轻易云数据集成平台,根据元数据配置进行字段映射和转换。 3. 构建符合金蝶云星空API接口要求的请求体。 4. 向金蝶云星空API接口发送POST请求,实现数据写入。 通过上述步骤,我们可以高效地完成从泛微系统到金蝶系统的数据集成,实现业务流程的自动化和高效化。 ![金蝶与WMS系统接口开发配置](https://pic.qeasy.cloud/T29.png~tplv-syqr462i7n-qeasy.image)