四化智造MES(WEB)数据集成到金蝶云星空的技术案例分享
在企业信息系统中,数据的高效流转和准确对接是实现业务流程自动化和优化的重要环节。本文将聚焦于一个具体的系统对接集成案例:四化智造MES(WEB)数据集成到金蝶云星空,方案名称为PA-MK单工序委外-应付单-TEST。
在这个案例中,我们利用轻易云数据集成平台,实现了四化智造MES(WEB)与金蝶云星空之间的数据无缝对接。通过调用四化智造MES(WEB)的API接口wms/instockConfirm/queryHadInstockConfirmTaskDetailsByType
获取生产任务确认的详细数据,并使用金蝶云星空的API接口batchSave
进行批量数据写入。
为了确保数据处理的时效性和可靠性,我们采用了以下几项关键技术:
- 高吞吐量的数据写入能力:支持大量数据快速写入到金蝶云星空,极大提升了数据处理效率。
- 集中监控和告警系统:实时跟踪每个数据集成任务的状态和性能,确保及时发现并处理异常情况。
- 自定义数据转换逻辑:根据业务需求定制化转换四化智造MES(WEB)与金蝶云星空之间的数据格式,解决两者间的数据结构差异问题。
- 分页和限流处理:针对四化智造MES(WEB)接口的数据分页和限流特性,设计了相应的抓取策略,以保证稳定的数据获取过程。
- 异常处理与错误重试机制:在对接过程中,通过完善的异常处理和错误重试机制,提高了整体系统的健壮性。
通过上述技术手段,我们不仅实现了四化智造MES(WEB)与金蝶云星空之间的数据无缝对接,还确保了整个过程中的高效、可靠和透明。这一成功案例为其他类似项目提供了宝贵经验,也展示了轻易云平台在复杂系统集成中的强大能力。
调用四化智造MES(WEB)接口获取并加工数据
在集成方案PA-MK单工序委外-应付单-TEST中,第一步是调用四化智造MES(WEB)接口wms/instockConfirm/queryHadInstockConfirmTaskDetailsByType
获取数据,并进行初步的加工处理。以下将详细探讨这一过程中的技术细节和注意事项。
接口调用配置
首先,我们需要配置API接口的元数据,以确保能够正确地请求到所需的数据。根据提供的元数据配置,API接口为wms/instockConfirm/queryHadInstockConfirmTaskDetailsByType
,使用GET方法进行请求。请求参数包括页码、页数、开始时间、结束时间和入库类型。
{
"api": "wms/instockConfirm/queryHadInstockConfirmTaskDetailsByType",
"method": "GET",
"number": "dispatchPrefix",
"id": "id",
"idCheck": true,
"request": [
{"field":"pageNum","label":"页码","type":"string","describe":"页码","value":"1"},
{"field":"pageSize","label":"页数","type":"string","describe":"页数","value":"100"},
{"field":"updBeginTime","label":"开始时间","type":"string","describe":"开始时间","value":"{{LAST_SYNC_TIME|datetime}}"},
{"field":"updEndTime","label":"结束时间","type":"string","describe":"结束时间","value":"{{CURRENT_TIME|datetime}}"},
{"field":"typeFlag","label":"入库类型","type":"string","value":"2"}
]
}
数据请求与清洗
在调用该接口时,需要特别注意分页和限流问题。由于每次请求返回的数据量有限,为了确保不漏单,需要实现分页逻辑,即通过调整pageNum
参数逐页获取数据。同时,为避免对源系统造成过大压力,应设置合理的限流策略。
1. 设置初始页码 `pageNum=1`
2. 每次请求后检查返回结果是否为空
3. 如果不为空,则处理当前页数据,并将 `pageNum` 增加1继续下一页请求
4. 如果为空,则说明已无更多数据,停止请求
数据转换与写入准备
在获取到原始数据后,需要对其进行初步清洗和转换,以便后续写入目标系统。在这个过程中,可以利用轻易云平台提供的自定义数据转换逻辑功能,根据业务需求对字段进行映射和格式调整。例如,将日期格式统一转换为目标系统所需的标准格式,或根据业务规则计算新的字段值。
1. 提取并验证关键字段,如 `id`, `dispatchPrefix`
2. 转换日期格式,例如:将 `updBeginTime`, `updEndTime` 转换为目标系统要求的格式
3. 根据业务规则计算新字段值,如根据 `typeFlag` 确定具体的入库类型描述
实时监控与异常处理
为了确保整个过程顺利进行,轻易云平台提供了集中的监控和告警系统,可以实时跟踪数据集成任务的状态和性能。一旦发现异常情况,如网络超时或返回错误信息,应及时记录日志并触发告警机制,同时可以实现错误重试机制以提高任务可靠性。
1. 实时监控每个API调用的响应状态和耗时
2. 对于失败的请求,记录详细日志,包括错误信息、请求参数等
3. 设置重试机制,对于临时性错误尝试重新发送请求,最大重试次数可配置
4. 超过重试次数仍失败则触发告警通知相关人员处理
通过上述步骤,可以高效地从四化智造MES(WEB)系统中获取所需的数据,并完成初步加工,为后续的数据写入奠定基础。这一过程中涉及到多个技术点,包括分页处理、限流策略、自定义转换逻辑以及实时监控与异常处理,这些都是确保集成任务成功的重要环节。
集成方案:PA-MK单工序委外-应付单-TEST
在数据集成生命周期的第二步,我们需要将已经从四化智造MES(WEB)系统中集成的数据进行ETL转换,以适配金蝶云星空API接口的格式,并最终写入目标平台。本文将详细探讨如何通过轻易云数据集成平台实现这一过程,确保数据的准确性和一致性。
数据转换与写入过程
-
配置API接口元数据
在进行ETL转换之前,首先需要配置金蝶云星空API接口的元数据。以下是一个典型的元数据配置示例:
{ "api": "batchSave", "method": "POST", "idCheck": true, "operation": { "rowsKey": "array", "rows": 20, "method": "batchArraySave" }, "request": [ {"label":"单据编号","field":"FBillNo","type":"string","value":"{dispatchPrefix}"}, {"label":"单据类型","field":"FBillTypeID","type":"string","value":"YFD01_SYS","parser":{"name":"ConvertObjectParser","params":"FNumber"}}, {"label":"单据状态","field":"FDOCUMENTSTATUS","type":"string","value":"Z"}, {"label":"业务日期","field":"FDATE","type":"string"}, {"label":"到期日","field":"FENDDATE_H","type":"string"}, {"label":"供应商","field":"FSUPPLIERID","type":"string","value":"VEN00001","parser":{"name":"ConvertObjectParser","params":"FNumber"}}, {"label":"立账类型","field":"FSetAccountType","type":"string","value":"2"}, { "field": "FEntityDetail", "label": "明细", "type": "array", "children": [ {"field": "FMATERIALID", "label": "物料编码", "type": "string", "value": "{partNo}", "parent": "FEntityDetail", "parser":{"name":"ConvertObjectParser", "params":"FNumber"}}, {"field": "FTaxPrice", "label": 含税单价, type: string, value: 10, parent: FEntityDetail}, {"field": FEntryTaxRate, label: 税率, type: string, parent: FEntityDetail}, {"field": FPriceQty, label: 计价数量, type: string, value: {confirmNumb}, parent: FEntityDetail}, {"field": FLot, label: 批号, type: string, value: 00, parent: FEntityDetail, parser:{name:"ConvertObjectParser", params:"FNumber"}}, {"field": F_lyzx_Text, label: 计划跟踪号, type: string, value:{bomNo}, parent:FEntityDetail} ] } ], ... }
-
数据清洗与转换
在此步骤中,我们将从四化智造MES(WEB)系统中获取的数据进行清洗和转换,使其符合金蝶云星空API接口所需的数据格式。这包括字段名称的映射、值的转换以及必要的格式化处理。
- 字段名称映射:例如,将四化智造MES(WEB)中的“物料编码”映射为金蝶云星空中的“FMATERIALID”。
- 值的转换:例如,将供应商编码从源系统的格式转换为目标系统所需的格式,这里使用了
ConvertObjectParser
进行解析。 - 格式化处理:确保日期、数值等字段符合目标系统的要求,例如将业务日期和到期日格式化为标准日期字符串。
-
批量写入目标平台
使用轻易云平台提供的高吞吐量数据写入能力,将清洗和转换后的数据批量写入金蝶云星空。以下是关键操作参数配置:
api
: 指定调用的API接口,例如batchSave
。method
: HTTP请求方法,通常为POST
。operation
: 定义批量操作的方式和行数,例如每次批量处理20条记录。request
: 包含具体的数据字段及其对应关系。
-
实时监控与日志记录
为确保数据集成过程中的透明度和可靠性,轻易云平台提供了实时监控和日志记录功能。通过这些功能,可以实时跟踪数据流动、处理状态以及任何可能出现的问题,从而及时采取措施进行修正。
-
异常处理与重试机制
在实际操作过程中,可能会遇到各种异常情况,如网络故障、接口调用失败等。轻易云平台支持异常处理与错误重试机制,通过配置相关参数,可以自动进行重试,确保数据最终成功写入目标平台。
注意事项
- 分页与限流问题:在处理大量数据时,需要考虑分页和限流策略,以避免对系统造成过大压力。
- 自定义数据转换逻辑:根据具体业务需求,可以编写自定义的数据转换逻辑,以适应不同的数据结构和格式要求。
- 验证基础资料有效性:在批量写入前,可以选择是否验证所有基础资料的有效性,以确保数据的一致性和准确性。
通过上述步骤,我们可以高效地将四化智造MES(WEB)系统中的数据转化并写入到金蝶云星空,实现不同系统之间的数据无缝对接。