实现泛微生产订单审批到金蝶云星空集成
SD001-生产订单审批 泛微=>金蝶采购订单--429
在企业信息化系统中,实现不同平台间的数据集成是提升业务效率和数据一致性的关键环节。本案例将聚焦于如何通过轻易云数据集成平台,将泛微OA-Http系统中的生产订单审批数据,可靠、高效地集成到金蝶云星空的采购订单模块。
集成背景与挑战
在本次集成方案SD001中,我们需要解决以下几个技术挑战:
- 高吞吐量的数据写入能力:泛微OA-Http系统生成的大量生产订单审批数据,需要快速、稳定地写入到金蝶云星空,以确保业务流程的连续性和及时性。
- 实时监控与告警:为了保证数据集成过程的透明度和可靠性,必须提供集中监控和告警功能,实时跟踪任务状态并及时处理异常情况。
- API资产管理:通过统一视图和控制台,全面掌握泛微OA-Http与金蝶云星空API的使用情况,实现资源的高效利用和优化配置。
- 数据质量监控与异常检测:确保每一条生产订单审批数据都能准确无误地传输到目标系统,并及时发现并处理任何可能出现的数据问题。
解决方案概述
为了解决上述挑战,我们采用了以下技术手段:
- 定时抓取与批量处理:通过定时任务可靠地抓取泛微OA-Http接口(/api/workflow/paService/getWorkflowRequest)中的生产订单审批数据,并进行批量处理,以提高整体效率。
- 自定义数据转换逻辑:根据业务需求,对获取的数据进行必要的转换,以适应金蝶云星空的采购订单模块的数据结构要求。
- 分页与限流机制:针对泛微OA-Http接口的分页和限流问题,设计了合理的数据抓取策略,确保不会因单次请求过多而导致接口性能下降或超时。
- 错误重试机制:在对接过程中,如果发生异常情况,通过错误重试机制来保证数据最终能够成功写入金蝶云星空。
实施步骤
具体实施步骤包括但不限于以下几个方面:
- 配置泛微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":"429"},
{"field":"workflowIdList","label":"workflowIdList中间方案ID","type":"string","value":"8183a586-bdfb-3e93-8573-d5e81803c5ff"}
],
"autoFillResponse": true,
"condition_bk":[
[{"field":"currentNodeName","logic":"like","value":"归档"},{"field":"detail_0.xm","logic":"like","value":"1.wafer"}]
],
"condition":[
[{"field":"detail_0.xm","logic":"like","value":"wafer"}]
}
数据请求与清洗
在这个阶段,我们通过HTTP GET方法向泛微OA系统发送请求,获取指定工作流ID(workflowId=429
)的数据。为了确保我们只获取到符合条件的数据,可以使用条件过滤功能。例如,上述配置中的condition
和condition_bk
字段用于定义过滤条件:
condition
: 用于常规过滤,例如只获取字段detail_0.xm
包含wafer
的记录。condition_bk
: 用于备选过滤条件,例如当前节点名称包含“归档”且字段detail_0.xm
包含1.wafer
的记录。
这些条件可以帮助我们精确地筛选出所需的数据,避免冗余信息的干扰。
数据转换与写入准备
在成功获取到原始数据后,需要对其进行初步加工。这包括但不限于:
- 字段映射:将源系统中的字段映射到目标系统所需的字段。例如,将泛微OA中的
requestId
映射为金蝶云星空中的订单编号。 - 格式转换:处理不同系统之间的数据格式差异。例如,将日期格式从YYYY-MM-DD转换为目标系统所需的格式。
- 异常处理:对于不符合预期的数据进行标记或丢弃,并记录日志以便后续分析。
实时监控与日志记录
为了确保整个过程透明可控,轻易云平台提供了实时监控和日志记录功能。在每次调用接口时,都会生成详细的日志,包括请求参数、响应结果以及任何错误信息。这些日志不仅有助于问题排查,还能为性能优化提供依据。
此外,通过平台自带的告警系统,可以设置特定规则,当某些异常情况发生时(如接口超时、返回错误码等),会自动触发告警通知相关人员及时处理。
高效的数据写入能力
最后,为了保证大量数据能够快速、高效地写入到金蝶云星空等目标系统中,轻易云平台支持高吞吐量的数据写入能力。这一特性极大提升了整体数据处理的效率,使得业务流程更加顺畅。
综上所述,通过合理配置元数据并利用轻易云平台强大的功能,我们可以高效地从泛微OA系统中提取并加工所需数据,为后续的数据转换与写入打下坚实基础。
将泛微OA数据集成到金蝶云星空的ETL转换与写入
在数据集成过程中,第二步至关重要,即将已经集成的源平台数据进行ETL转换,并转为目标平台金蝶云星空API接口所能够接收的格式,最终写入目标平台。本文将重点探讨如何通过轻易云数据集成平台实现这一过程。
数据请求与清洗
首先,我们需要从泛微OA系统中获取生产订单审批相关的数据。通过调用泛微OA-Http接口/api/workflow/paService/getWorkflowRequest
,我们可以定时、可靠地抓取所需的数据。为了确保数据不漏单,我们需要处理接口的分页和限流问题,确保所有数据都被完整获取。
数据转换与映射
获取到原始数据后,我们需要对其进行ETL转换,使其符合金蝶云星空API接口的要求。以下是元数据配置中的关键字段及其转换逻辑:
-
单据类型(FBillTypeID)
- 原始值:标准采购订单、标准委外订单等
- 转换后:
CGDD01_SYS
等,通过ConvertObjectParser
进行转换。
-
单据编号(FBillNo)
- 原始值:来自泛微OA系统的工作流主表信息
workflowMainTableInfo.lcbh
- 转换后:直接映射为金蝶云星空的单据编号。
- 原始值:来自泛微OA系统的工作流主表信息
-
采购日期(FDate)
- 原始值:来自泛微OA系统的工作流主表信息
workflowMainTableInfo.sqrq
- 转换后:直接映射为金蝶云星空的采购日期。
- 原始值:来自泛微OA系统的工作流主表信息
-
采购组织(FPurchaseOrgId)
- 原始值:来自泛微OA系统的工作流主表信息
workflowMainTableInfo.wszt
- 转换后:通过
ConvertObjectParser
进行转换,并映射到相应的目标字段。
- 原始值:来自泛微OA系统的工作流主表信息
-
供应商(FSupplierId)
- 原始值:来自泛微OA系统的工作流主表信息
workflowMainTableInfo.gysbh
- 转换后:通过
ConvertObjectParser
进行转换。
- 原始值:来自泛微OA系统的工作流主表信息
-
业务类型(FBusinessType)
- 固定值:标准采购
CG
- 固定值:标准采购
-
审核人(FApproverId)
- 原始值:通过SQL查询匹配用户账号和用户ID
- 转换后:通过
ConvertObjectParser
进行转换。
明细信息处理
对于明细信息,我们需要逐条处理每一项物料的数据:
-
物料编码(FMaterialId)
- 原始值:来自明细信息中的物料编码
detail_0.wlbh
- 转换后:通过
ConvertObjectParser
进行转换。
- 原始值:来自明细信息中的物料编码
-
采购数量(FQty)
- 原始值:来自明细信息中的数量
detail_0.sl
- 转换后:直接映射为金蝶云星空的采购数量。
- 原始值:来自明细信息中的数量
-
单价(FPrice)、金额(FEntryAmount)、税率(FEntryTaxRate)、交货日期(FDeliveryDate)、供应商单号(F_Halo_Text)
- 这些字段均从原始明细中提取并直接映射或经过简单转换后写入目标平台。
财务信息处理
财务信息部分也需要特别处理:
-
结算币别(FSettleCurrId)
- 通过SQL查询匹配币种编码和对应的编号,并使用
ConvertObjectParser
进行转换。
- 通过SQL查询匹配币种编码和对应的编号,并使用
-
定价时点(FPriceTimePoint)、汇率类型(FExchangeTypeId)
- 固定值设置,并通过
ConvertObjectParser
进行必要的格式调整。
- 固定值设置,并通过
数据写入
完成以上所有字段的数据清洗和转换后,我们使用轻易云提供的高吞吐量数据写入能力,将批量集成的数据快速写入金蝶云星空。具体操作包括:
- 设置业务对象表单ID
FormId: PUR_PurchaseOrder
- 执行批量保存操作
Operation: BatchSave
- 提交并审核
IsAutoSubmitAndAudit: true
此外,为了确保数据质量和可靠性,我们启用了基础资料验证功能 IsVerifyBaseDataField: true
,并配置了集中监控和告警系统,以实时跟踪数据集成任务状态和性能。
异常处理与重试机制
在实际操作过程中,可能会遇到各种异常情况。我们设计了完善的异常处理与错误重试机制,以确保数据传输过程中的稳定性和可靠性。例如,当写入失败时,系统会自动记录日志并触发重试机制,直至成功为止。
总结以上内容,通过轻易云数据集成平台,我们能够高效地将泛微OA系统中的生产订单审批数据经过ETL转换,准确无误地写入金蝶云星空,实现不同系统间的数据无缝对接。这不仅提升了业务透明度和效率,也为企业资源优化配置提供了坚实保障。