2.3 KiB
2.3 KiB
业务流程与依赖关系
本文档描述推送系统涉及的业务实体及其依赖关系,用于指导同步顺序编排。
业务实体分类
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 (明细)
同步顺序原则
- 依赖优先:父节点必须先于子节点同步
- 绑定传递:子节点的业务键构建依赖父节点的 ID 映射
- 故障隔离:父节点同步失败时,子节点标记为
DEPENDENCY_ERROR并跳过