Files
ecm_sync_system/docs/archive/from_root_docs/业务流程与依赖关系.md
T
strepsiades 4a9c444b10 first commit
2026-03-09 16:31:42 +08:00

2.3 KiB
Raw Blame History

业务流程与依赖关系

本文档描述推送系统涉及的业务实体及其依赖关系,用于指导同步顺序编排。


业务实体分类

1. 基础数据(仅拉取)

  • 用户(User:拉取集团管理员、区域公司管理员及特定用户信息,用于跨平台穿透。其他用户需手动创建。
  • 公司(Company:仅拉取,不推送。
  • 供应商(Supplier:仅拉取,不推送。

2. 项目及扩展数据

项目(Project

  • 绑定方式:必须手动绑定(根节点)
  • 同步操作:允许更新和拉取
  • 依赖项:公司、附件(Attachment

项目扩展业务

  • 通过 (project_id, key)(project_id, code) 自动绑定
  • 允许创建、更新、拉取
  • 依赖项目

3. 合同及子业务

合同(Contract

  • 绑定方式:通过业务键自动绑定(需与 ECP 平台数据交叉检验)
  • 同步操作:允许拉取、创建、更新、删除
  • 依赖项:项目

合同子业务(施工任务、物资、结算、力能)

  • 绑定方式:通过 (contract_id, code) 自动绑定
  • 同步操作:允许拉取、创建、更新、删除
  • 特殊规则:首次绑定后,项目侧不会同步创建远程已有的数据
  • 依赖项:合同

合同子业务明细(施工明细、物资明细、结算明细、力能明细)

  • 绑定方式:通过 (parent_id, date) 自动绑定
  • 同步操作:允许拉取、创建、更新、删除
  • 特殊规则:首次绑定后,项目侧不会同步创建远程已有的数据
  • 依赖项:对应的合同子业务

依赖关系图

Company (基础)
    ↓
Project (手动绑定)
    ↓
Contract (自动绑定)
    ↓
Contract Sub-Business (施工/物资/结算/力能)
    ↓
Details (明细)

同步顺序原则

  1. 依赖优先:父节点必须先于子节点同步
  2. 绑定传递:子节点的业务键构建依赖父节点的 ID 映射
  3. 故障隔离:父节点同步失败时,子节点标记为 DEPENDENCY_ERROR 并跳过

详细状态定义参见:sync_system_new/sync_system/STATE_DEFINITIONS.md

详细架构设计参见:sync_system_new/architecture_layers.md