轻易云
注册体验

金蝶云星空生产订单查询(PRD_MO)接口字段手册权威教程

· 许创贵· 工程最佳实践· 45 次浏览· 约 5 分钟读完
MySQL金蝶云星空生产订单接口字段手册轻易云MySQL增量同步

这个接口解决什么问题

在 MySQL 与金蝶云星空集成的真实场景中,生产订单(也叫制造订单/工单)是从销售订单到车间执行的关键纽带。我们经常遇到这样的诉求:把金蝶里的生产订单拉取到 MySQL,用于生产计划排程、生产进度跟踪、销售订单与生产订单关联、车间任务下发、完工状态监控等。本接口就是干这件事的——按审核日期增量拉取,落到 MySQL 表 order_production,支撑后续 MES 看板和 BI 分析。

接口能力总览

  • 认证方式:金蝶云星空 WebAPI 体系,通过 executeBillQuery 调用,需在请求头携带授权信息(在轻易云里封装为连接器凭证,不需要手写)。
  • 请求结构:核心参数为 FormId(固定 PRD_MO)、FilterString(过滤条件)、FieldKeys(字段集合)、Limit/StartRow(分页)。
  • 响应结构:JSON,包含 Result(业务状态码)、Message、Data(分页结果集),数据按树形结构返回,单头 + 多分录。
  • 分页模式:基于 Limit + StartRow 循环翻页,TopRowCount 用于提前返回总行数判断。
  • 增量模式:典型 FilterString 为 LEFT(FMaterialId.FNumber, 1) = '1' and FApproveDate >= '{{DAYS_AGO_1|datetime}}' and FSaleOrderNo <> '',即物料编码首字符为 1、审核时间近 1 天、需求单号非空。
  • 执行节奏:在多个客户方案里,常用定时任务 */15 7-22 * * *,即每天 7 点到 22 点每 15 分钟跑一次。

典型字段映射

字段名类型含义实战注意事项
FIDstring生产订单单头主键金蝶内唯一,做幂等 upsert 的最稳键
FBillNostring单据编号业务侧展示用,与 FID 一起做联合唯一
FTreeEntity_FEntryIdstring分录/明细行主键树形结构下的行唯一标识,落 MySQL 用作 line_id
FMaterialId_FNumberstring物料编码通用概念 material_code,过滤条件常用它
FMaterialId_FNamestring物料名称展示字段,做对账辅助
FMaterialId_FDescriptionstring物料描述规格补充,容易被忽略
FWorkShopID0_FNamestring车间名称组织维度,做车间分组统计
FQtystring生产数量注意是 string,落库时记得转 decimal
FUnitIdstring计量单位编码来自 FUnitId.FNumber,做单位换算时需另行映射
FPlanStartDate / FPlanFinishDatestring计划开始/完成时间排程类字段
FStartDate / FFinishDatestring实际开始/完成时间进度跟踪字段,可能为空
FStatusstring业务状态取值 1-7,含义见下表
FSaleOrderNostring需求单号/关联销售订单做销售-生产追溯的关键字段
FLotstring批次号启用批次管理的物料才有值
FCREATORID_FName / FApproverId_FNamestring创建人/审核人姓名审计字段
FCreateDate / FApproveDatestring创建/审核时间增量拉取以 FApproveDate 为准
FMemoItemstring备注
F_QOQG_Base / Base2 / Text1/2/5/6 / Datestring扩展字段客户化字段,命名带前缀,做二开扩展
FAPPROVEDATEstring元数据误标注为审核人与 FApproveDate 重复,建议以后者为准

FStatus 业务状态对照:1 计划 / 2 计划确认 / 3 下达 / 4 开工 / 5 完工 / 6 结案 / 7 结算。

在轻易云上如何配置

在轻易云数据集成平台里,生产订单查询通常用「金蝶云星空适配器 + 字段映射器」两步搞定:

  1. 适配器选型:源端选「金蝶云星空-执行查询(executeBillQuery)」,FormId 填 PRD_MO,凭证从连接器里取,避免硬编码。
  2. 过滤条件:在轻易云的 FilterString 编辑器里直接用可视化方式拼接上述过滤表达式,变量 DAYS_AGO_1 由轻易云的相对时间算子自动填充,不需要手算日期。
  3. 字段映射器:轻易云的字段映射器会自动识别 FID/FBillNo/FTreeEntity_FEntryId 这种带 _ 分层结构的金蝶字段,并在目标侧展开成扁平字段(如 order_id、order_no、line_id)。F_QOQG_* 这类扩展字段会保留原名,你可以在映射器里加自定义转换函数,比如把 F_QOQG_Base 映射成 custom_base_name。
  4. 目标写入:目标 MySQL 表 order_production 建议用 (fid, fentryid) 联合唯一键,轻易云会自动用 upsert 语义避免重复。

跨方案实战要点

  1. 过滤条件三件套是标配:在多个客户的金蝶集成方案里,生产订单查询几乎都用 LEFT(物料编码,1)='1' AND 审核日期 >= 近1天 AND 需求单号<>'' 这个组合过滤,避免拉到计划类单据和草稿。
  2. 主键选 FID 还是 FBillNo:金蝶主键 FID 最稳,业务编号 FBillNo 易变(改单时编号可能不变但版本会变),落 MySQL 时建议 FID 做主键、FBillNo 做唯一索引。
  3. 分录是树形结构:返回数据是单头带多分录的树形结构,在轻易云的字段映射器里要展开成扁平行,每条分录对应 MySQL 一行,不要把分录塞进 JSON 字段里,后续 BI 用不上。
  4. FQty 是 string:金蝶返回的数量字段全是字符串,落 MySQL 前务必转 decimal,否则做聚合统计时会踩字符串拼接的坑。
  5. 增量以审核日期为准:用 FApproveDate 而非 FCreateDate 做增量游标,这样能稳定捕获审核生效的单据,避免拉到中途状态。
  6. 扩展字段命名带客户前缀:F_QOQG_* 这种带前缀的字段是客户二开扩展,在映射器里要保留前缀或做语义化重命名,不要直接丢掉。

踩坑复盘

  • 坑 1:把 FApproveDate 和 FAPPROVEDATE 混用。metadata 里 FAPPROVEDATE 标注为「审核人」其实是字段名重复冗余,真实审核时间是 FApproveDate,过滤和增量用错字段会导致漏数。
  • 坑 2:FQty 类型踩坑。金蝶返回 string,直接落 MySQL 的 int 列会出现科学计数法或精度丢失,稳妥做法是在映射器里 CAST(FQty AS DECIMAL(18,4))。
  • 坑 3:树形结构没展开就写入。有客户图省事把分录塞进 MySQL 的 JSON 列,后续做生产进度看板时无法按物料分组聚合,只能重写。
  • 坑 4:增量时间窗口太小。近 1 天窗口在网络抖动或金蝶性能慢时会漏单,稳妥的做法是窗口放大到 2-3 天 + 用 FID 做幂等去重。
  • 坑 5:扩展字段直接忽略。F_QOQG_* 在某些客户方案里承载了关键业务含义(如自定义优先级),轻易云默认会保留,但人工配置时容易漏勾,导致业务侧对账失败。

何时选用

本接口适用于「MySQL ↔ 金蝶云星空」集成中需要同步生产订单做排程、进度跟踪、销产关联的场景;若只需工时或工序级别数据,请改用「工序计划查询」;若只需物料库存,请改用「即时库存查询」。当生产订单量小(日均百单内)且无二开扩展字段时,直接用金蝶原生 API 也行,无需引入轻易云。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/engineering/hb-p2-031-43eb

评论