FD003-非生产性付款申请 泛微=>金蝶付款单-499 数据集成案例分享
在企业信息化系统中,数据的高效流转和精准对接是实现业务自动化的重要环节。本次案例将聚焦于如何通过轻易云数据集成平台,将泛微OA-Http的数据无缝对接到金蝶云星空,实现非生产性付款申请的自动化处理。
背景与挑战
在本次方案FD003中,我们需要将泛微OA-Http系统中的非生产性付款申请数据,通过API接口/api/workflow/paService/getWorkflowRequest
,批量集成到金蝶云星空的付款单模块。这个过程中,我们面临以下几个技术挑战:
- 高吞吐量的数据写入能力:确保大量数据能够快速、稳定地写入到金蝶云星空。
- 实时监控与告警:通过集中监控和告警系统,实时跟踪数据集成任务的状态和性能,及时发现并处理异常情况。
- 分页与限流处理:针对泛微OA-Http接口的数据分页和限流问题,需要设计合理的抓取策略,以保证数据完整性和时效性。
- 数据格式差异:泛微OA-Http与金蝶云星空之间存在数据格式差异,需要自定义转换逻辑来适应不同业务需求。
- 错误重试机制:在对接过程中可能出现网络波动或接口调用失败等情况,需要实现可靠的错误重试机制。
解决方案概述
为了应对上述挑战,我们采用了以下技术手段:
- 高效的数据写入机制:利用轻易云平台提供的大量数据快速写入能力,将从泛微OA-Http获取的数据批量导入到金蝶云星空,通过API
batchSave
实现高效存储。 - 实时监控与日志记录:通过轻易云平台的集中监控功能,对整个数据处理过程进行实时监控,并记录详细日志,确保每个环节都透明可见。
- 分页抓取策略:设计了定时可靠的抓取机制,从泛微OA-Http接口定期拉取新数据,并处理分页和限流问题,确保不漏单、不重复。
- 自定义转换逻辑:根据业务需求,自定义了从泛微OA-Http到金蝶云星空的数据映射规则,解决两者之间的数据格式差异问题。
- 异常处理与重试机制:在对接过程中设置了完善的异常检测和错误重试机制,确保即使发生故障,也能自动恢复并继续执行任务。
通过以上技术手段,本次FD003方案成功实现了泛微OA-Http到金蝶云星空的数据无缝对接,为企业提升了业务效率和准确性。后续章节将详细介绍具体实施步骤及技术细节。
调用泛微OA-Http接口获取并加工数据
在轻易云数据集成平台的生命周期中,第一步至关重要,即从源系统泛微OA-Http接口获取数据,并进行初步加工处理。本文将详细探讨如何调用泛微OA-Http接口/api/workflow/paService/getWorkflowRequest
,并对返回的数据进行必要的清洗和转换。
接口调用配置
首先,我们需要配置元数据,以便正确调用泛微OA-Http接口。以下是关键的元数据配置:
{
"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":"499"},
{"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":"预付款"}],
[{"field":"workflowMainTableInfo.fklx","logic":"eqv2","value":"Prepayment"}]
]
}
数据请求与清洗
在实际操作中,通过上述配置,我们可以发起HTTP GET请求来获取指定条件下的工作流请求数据。为了确保数据质量和一致性,需要对返回的数据进行清洗和验证。
- 参数设置:根据业务需求设置必要的参数,如
workflowId
和workflowIdList
,以确保只提取相关的数据。 - 条件过滤:通过条件过滤器(如
condition_bk
和condition
),我们可以筛选出符合特定条件的数据,例如仅提取“预付款”类型的工作流请求。 - 自动填充响应:启用自动填充响应功能,可以简化后续的数据处理步骤,使得返回的数据结构更加统一。
数据转换与写入准备
在完成初步的数据清洗后,需要对数据进行进一步的转换,以适应目标系统(如金蝶云星空)的要求。这一步骤包括但不限于:
- 字段映射:将源系统中的字段映射到目标系统中的相应字段。例如,将泛微OA中的字段名转换为金蝶云星空所需的字段名。
- 格式转换:处理不同系统之间的数据格式差异。例如,将日期格式从YYYY-MM-DD转换为目标系统所需的格式。
- 异常处理:针对可能出现的数据异常情况,设计相应的处理机制,如记录日志、发送告警等。
实时监控与日志记录
为了确保整个过程顺利进行,轻易云平台提供了实时监控和日志记录功能。通过这些功能,可以实时跟踪每个数据集成任务的状态,并及时发现和解决潜在问题。
- 监控面板:利用可视化监控面板,可以直观地查看当前任务执行情况,包括成功率、失败率、处理时间等关键指标。
- 日志记录:详细记录每次API调用及其结果,包括请求参数、响应内容、错误信息等,为后续排查问题提供依据。
通过以上步骤,我们能够高效地从泛微OA系统中提取并初步加工所需数据,为后续的数据转换与写入奠定坚实基础。在实际应用中,根据具体业务需求,还可以进一步优化各个环节,提高整体效率和可靠性。
非生产性付款申请数据集成到金蝶云星空
在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,并转为目标平台所能接收的格式。本文将详细探讨如何将泛微OA-Http的数据通过轻易云数据集成平台转换并写入金蝶云星空API接口。
ETL转换过程
-
数据提取与清洗:从泛微OA-Http中提取非生产性付款申请的数据,并对其进行必要的清洗和预处理。此步骤确保数据的完整性和一致性,为后续的转换和加载奠定基础。
-
数据转换:根据金蝶云星空API接口要求,对提取的数据进行格式转换。以下是关键字段及其对应的转换逻辑:
- 单据编号(FBillNo):直接映射自泛微OA-Http中的相应字段。
- 单据类型(FBillTypeID):固定值"FKDLX02_SYS",表示其他业务付款单。
- 币别(FCURRENCYID):通过
ConvertObjectParser
解析器,将币别代码转换为金蝶系统所需格式。 - 业务日期(FDATE):直接映射自泛微OA-Http中的申请日期字段。
- 结算组织(FSETTLEORGID)、付款组织(FPAYORGID):均通过
ConvertObjectParser
解析器,根据申请公司名称查找对应的组织编码。 - 往来单位类型(FCONTACTUNITTYPE)、往来单位(FCONTACTUNIT)、收款单位类型(FRECTUNITTYPE)、收款单位(FRECTUNIT):根据往来单位类型字段,通过条件判断和相应解析器进行映射。
- 业务类型(FBUSINESSTYPE):固定值"3",表示其他业务。
- 备注(FREMARK)、自定义单号(F_XDW_OANO)、应付金额(FPAYTOTALAMOUNTFOR_H)、实付金额(FREALPAYAMOUNTFOR_H)、预付款(F_XDW_PAYMENT)等字段,均直接从泛微OA-Http中对应字段映射。
-
数据写入目标平台
使用金蝶云星空API接口
batchSave
方法,将转换后的数据批量写入金蝶系统。具体操作如下:{ "FormId": "AP_PAYBILL", "Operation": "BatchSave", "IsAutoSubmitAndAudit": false, "IsVerifyBaseDataField": true, "Model": { "FBillNo": "{{workflowMainTableInfo.lcbh}}", "FBillTypeID": {"FNumber": "FKDLX02_SYS"}, ... "FPAYBILLENTRY": [ { "FSETTLETYPEID": {"FNumber": "JSFS04_SYS"}, ... } ] } }
关键技术点
-
高吞吐量的数据写入能力
金蝶云星空API接口支持高吞吐量的数据写入,使得大量数据能够快速被集成到系统中,极大提升了数据处理时效性。
-
实时监控与日志记录
通过轻易云提供的集中监控和告警系统,实时跟踪数据集成任务的状态和性能,确保每个环节都清晰可见,及时发现并处理潜在问题。
-
自定义数据转换逻辑
利用轻易云平台提供的自定义转换功能,可以根据具体业务需求灵活调整数据映射逻辑,以适应不同的数据结构和业务场景。
-
异常处理与错误重试机制
在对接过程中,可能会遇到各种异常情况,如网络波动或接口限流。为此,需实现健壮的异常处理与错误重试机制,以确保数据可靠传输。
常见问题与解决方案
-
分页与限流问题
泛微OA-Http接口可能存在分页和限流限制。在实现时需考虑分页抓取策略,并使用合适的速率限制,以避免触发API限流机制。
-
数据质量监控
通过轻易云平台的数据质量监控功能,及时发现并处理数据中的异常情况,如缺失或不一致的数据,提高整体数据质量。
-
格式差异处理
泛微OA-Http与金蝶云星空之间可能存在数据格式差异,通过自定义解析器和条件判断函数,可以有效解决这些差异问题,确保数据准确无误地写入目标系统。
综上所述,通过合理配置元数据并利用轻易云平台强大的ETL功能,可以高效地将泛微OA-Http中的非生产性付款申请数据转换并写入到金蝶云星空,实现不同系统间的数据无缝对接。