与 ERP、OA 协作

第 4 课 · 共 6 课 约 6 分钟

数据源只读进来;同步来的属性与 Semantic 自己的属性;用关系把不同系统连起来。

本课目标

读完这一课,你将能够

  • 说出 ERP、OA 的数据怎样只读地进入 Semantic
  • 分清同步来的属性和只在 Semantic 维护的属性
  • 用关系把不同系统里的对象连起来

只读进来

ERP、MES、OA 是公司原有的系统,在 Semantic 里叫数据源。每个数据源旁边装一个发布端,发现变化才把一批数据推上来;Semantic 按顺序落账,几秒内通知订阅它的应用。数据源永远只读,应用和智能体也从不直接连它们。

  1. 01数据源ERP 的订单、OA 的审批单
  2. 02发布端变了才推,只能往一条数据流发布
  3. 03对象绑定到对象类型:订单、审批单
  4. 04关系订单 ↔ 审批单
  5. 05应用与智能体读同一份
aidc data bind erp-orders purchaseOrder --map orderNo=ORDER_NO,amount=AMOUNT,dueDate=DUE_DATE

两种属性

一个对象的属性分两种。一种从数据源同步过来,例如订单的金额、交期,审批单的状态——它们只读,要改就去原系统改。另一种只在 Semantic 里维护,例如负责人、异常说明、跟进备注——它们由动作来改。

同步来的属性Semantic 自己的属性
例子订单金额、交期、审批状态负责人、异常说明、跟进备注
谁来改原系统动作
数据源再同步时更新为新值不受影响

这样 ERP 仍然是订单的权威来源,而大家围绕订单做的事,有了一个共同的地方。

把不同系统连起来

OA 里的一张采购审批单和 ERP 里的一张采购订单,本来是两个系统里的两条记录,靠人记着它们是一回事。在 Semantic 里,它们是两个对象类型,中间一条关系:从订单能走到它的审批单,从审批单也能走回它的订单。

连起来之后,「本月已下单、但审批还没走完的采购」就是一个对象集:先筛本月的订单,沿关系走到审批单,再筛状态。不需要谁去两个系统里各导一张表来对。

要点

  • 数据源永远只读;发布端只在变化时推送。
  • 同步来的属性只读,Semantic 自己的属性由动作来改。
  • 数据源再同步,不会冲掉人改过的值。
  • 用关系把 ERP、OA 里的对象连起来,跨系统的问题一次就能回答。

练一练

把一张审批单和一张订单连起来

选一个要同时翻 ERP 和 OA 才能处理的业务。

列出订单的五个属性,标出哪些来自 ERP,哪些只在 Semantic 里维护。

小测

选一个答案,马上看解析。

Q1订单的交期在 ERP 里改了,Semantic 里会怎样?

Q2业务员想在订单上记一句「客户要求加急」,应该?

Q3为什么要把 OA 审批单和 ERP 订单连成关系?

延伸阅读