markdown

通过泛微OA与金蝶云星空实现非生产性付款申请自动化

FD003-非生产性付款申请 泛微=>金蝶付款单-481 集成方案

在企业信息化系统中,数据的高效流转和准确对接是业务流程顺畅运行的关键。本文将聚焦于一个具体的系统对接集成案例:如何通过泛微OA-Http平台的数据集成到金蝶云星空,实现非生产性付款申请的自动化处理。

本次集成方案FD003旨在将泛微OA系统中的非生产性付款申请数据,通过HTTP接口实时抓取,并批量写入到金蝶云星空的付款单模块。此过程不仅需要确保数据传输的高效与稳定,还需解决两大平台之间的数据格式差异和接口调用限制等技术难题。

首先,泛微OA-Http提供了强大的API接口/api/workflow/paService/getWorkflowRequest,支持定时可靠地抓取非生产性付款申请数据。为了确保数据不漏单,我们采用了分页处理机制,并结合限流策略,有效应对大量数据请求带来的压力。同时,通过自定义的数据转换逻辑,将泛微OA中的数据结构适配为金蝶云星空所需格式。

在目标平台金蝶云星空方面,我们利用其batchSave API实现了大量数据的快速写入。这一过程得益于轻易云平台提供的高吞吐量能力,使得大批量的数据能够迅速且准确地被集成到金蝶云星空中。此外,为了保证整个集成过程的透明度和可控性,我们使用了集中监控和告警系统,实时跟踪每个任务的状态和性能,一旦出现异常情况,可以及时进行处理和重试。

通过这一系列技术手段,不仅实现了泛微OA与金蝶云星空之间的数据无缝对接,还极大提升了业务处理效率和数据质量。接下来,我们将详细探讨具体实施步骤及关键技术点。 数据集成平台API接口配置

如何开发企业微信API接口

调用泛微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":"481"},
    {"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"}]
  ]
}

该配置定义了API的基本信息、请求参数和条件过滤逻辑。具体步骤如下:

  1. API地址与方法:指定了要调用的API路径为/api/workflow/paService/getWorkflowRequest,使用HTTP GET方法。
  2. 请求参数:包括workflowIdworkflowIdList,用于指定特定的工作流ID和方案ID。
  3. 条件过滤:通过条件过滤逻辑确保只获取符合特定条件的数据,例如付款类型为“预付款”或“Prepayment”。

数据请求与清洗

在实际操作中,通过上述配置发起HTTP GET请求,从泛微OA系统中获取原始工作流数据。由于业务需求不同,可能需要对返回的数据进行清洗和转换,以适应后续处理步骤。

例如,对于返回的数据结构,可以进行如下处理:

  1. 字段映射:将泛微OA中的字段映射到金蝶云星空所需的字段。例如,将requestId映射为金蝶系统中的唯一标识符。
  2. 格式转换:根据目标系统要求,对日期、金额等字段进行格式转换。例如,将日期格式从YYYY-MM-DD转换为YYYYMMDD。
  3. 数据筛选:根据业务规则筛选出有效的数据记录。例如,只保留状态为“已审核”的记录。

异常处理与重试机制

在调用过程中,可能会遇到网络异常或接口限流等问题。为了确保数据不漏单,需要实现可靠的异常处理与重试机制:

  1. 错误捕获:捕获所有可能的异常,并记录日志以便后续分析。
  2. 重试策略:对于临时性错误(如网络超时),可以设置一定次数的重试策略,以提高成功率。
  3. 告警通知:当发生严重错误时,通过告警系统及时通知相关人员进行人工干预。

实时监控与日志记录

为了确保整个过程透明可控,可以利用轻易云平台提供的实时监控和日志记录功能:

  1. 实时监控:通过可视化界面实时跟踪每个任务的执行状态,包括成功率、处理时间等关键指标。
  2. 日志记录:详细记录每次API调用及其响应结果,为后续问题排查提供依据。

综上所述,通过合理配置元数据并结合轻易云平台强大的功能,可以高效地从泛微OA系统中获取并加工处理所需的数据,为后续的数据集成打下坚实基础。 用友与SCM系统接口开发配置

打通钉钉数据接口

将泛微OA数据转换并写入金蝶云星空API接口

在数据集成生命周期中,第二步是将已经集成的源平台数据进行ETL(抽取、转换、加载)转换,并转为目标平台所能够接收的格式。本文将详细讨论如何使用轻易云数据集成平台将泛微OA的数据转换为金蝶云星空API接口所需的格式,并最终写入目标平台。

数据抽取与清洗

首先,从泛微OA系统中抽取数据。通过调用泛微OA-Http接口/api/workflow/paService/getWorkflowRequest,可以获取到非生产性付款申请的数据。这些数据可能包含多个字段和复杂的数据结构,因此需要进行清洗和预处理。

数据转换

为了适应金蝶云星空API接口的要求,需要对抽取到的数据进行一系列的转换操作。以下是一些关键字段的转换示例:

  1. 单据类型(FBillTypeID)

    {
     "field": "FBillTypeID",
     "value": "FKDLX02_SYS"
    }

    这里将单据类型固定为“其他业务付款单”(FKDLX02_SYS)。

  2. 币别(FCURRENCYID)

    {
     "field": "FCURRENCYID",
     "value": "_findCollection find FNumber from 5740d4e3-ebe8-3548-9635-f35e1fdc983b where FCODE={{workflowMainTableInfo.bberp}}"
    }

    使用ConvertObjectParser解析币别代码,将其转换为金蝶云星空系统可识别的格式。

  3. 结算组织和付款组织(FSETTLEORGID, FPAYORGID)

    {
     "field": "FSETTLEORGID",
     "value": "_findCollection find FNumber from 4d9cb35a-56f5-36c7-b34a-f64db755b1f1 where FName={{workflowMainTableInfo.sqgs}}"
    },
    {
     "field": "FPAYORGID",
     "value": "_findCollection find FNumber from 4d9cb35a-56f5-36c7-b34a-f64db755b1f1 where FName={{workflowMainTableInfo.sqgs}}"
    }

    通过查找表将结算组织和付款组织名称转换为对应的编码。

  4. 往来单位类型与往来单位(FCONTACTUNITTYPE, FCONTACTUNIT)

    {
     "field": "FCONTACTUNITTYPE",
     "value": "_function case '{{detail_0.0.wldwlx_FV}}' when '0' then 'BD_Supplier' when '1' then 'BD_Customer' when '3' then 'ORG_Organizations' when '2' then 'FIN_OTHERS' end"
    },
    {
     "field": "FCONTACTUNIT",
     "value": "_function case '{{detail_0.0.wldwlx_FV}}' when '0' then '{{detail_0.0.gysbh}}' when '1' then '{{detail_0.0.khbh}}' when '3' then '{{detail_0.0.zzbh}}' when '2' then '{{detail_0.0.qtwlbh}}' end"
    }

    根据不同的往来单位类型,选择相应的字段进行映射和转换。

  5. 业务日期(FDATE)

    {
     "field": "FDATE",
     "value": "{{workflowMainTableInfo.sqrq}}"
    }

    将业务日期直接映射到目标字段中。

数据加载

完成数据转换后,使用金蝶云星空API接口进行数据写入。具体配置如下:

{
  "api": "batchSave",
  "method": "POST",
  ...
}

通过设置FormIdAP_PAYBILL,表示要保存的是付款单。同时,配置OperationBatchSave以批量保存数据,并设置必要的标志位如IsAutoSubmitAndAuditIsVerifyBaseDataField等。

高效写入与监控

为了确保数据高效地写入金蝶云星空,可以利用轻易云平台支持高吞吐量的数据写入能力,同时配置集中的监控和告警系统,实时跟踪数据集成任务的状态和性能。例如:

{
  "IsAutoSubmitAndAudit": false,
  ...
}

此外,通过自定义数据转换逻辑,可以适应特定的业务需求和数据结构。例如,在处理分页和限流问题时,可以设置适当的参数以确保不会遗漏任何记录。

异常处理与重试机制

在对接过程中,可能会遇到各种异常情况。轻易云平台提供了完善的异常处理与错误重试机制。例如,当某个请求失败时,可以自动重试一定次数,以确保最终成功:

{
  ...
}

通过这些配置,我们可以确保泛微OA的数据顺利转换并写入到金蝶云星空系统中,实现无缝对接和高效的数据集成。 金蝶与SCM系统接口开发配置

钉钉与WMS系统接口开发配置