# 【中间表】DB直连方式

COP开放数据库中间表,三方异构系统直接将数据写入数据库中间表,COP重新组装完成组织同步模式。

# 1、操作步骤

序号 步骤名称 责任方 使用场景
1 提供数据库连接信息和库表结构 致远 必须,
2 新建集成应用,获取集成应用ID 致远 必须,获取集成应用ID,接口必须入参
3 选择同步模式 致远 必须,选择中间表模式中的DB直接写入方式
4 配置同步周期 致远 必须,配置数据处理周期
5 配置字段映射 致远 必须,字段映射、默认值、过滤条件等
6 连接数据库写入数据 三方异构系统 必须,三方异构系统负责写入数据到中间表
7 查看日志 致远 非必须,监控过程数据

# 2、集成配置步骤

# 2.1、提供数据库连接信息和库表结构

请参照下方表结构定义

# 2.2、新建集成应用,获取集成应用ID

1744113425385.png

1744113430678.png

# 2.3、选择同步模式

1744113437903.png

# 2.4、配置同步内容

1744113445399.png

1744113450941.png

# 2.5、配置同步周期

1744113457885.png

# 3、数据库表结构

注意:库名称:cip-connector

# 3.1、机构/部门

CREATE TABLE `cip_sync_unit` (
  `id` bigint(20) NOT NULL COMMENT '主键',
  `tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `version` smallint(6) NOT NULL COMMENT '版本号',
  `linker_id` bigint(20) NOT NULL COMMENT '连接器ID',
  `code` varchar(100) DEFAULT NULL COMMENT '组织编号',
  `name` varchar(255) DEFAULT NULL COMMENT '组织名称',
  `short_name` varchar(255) DEFAULT NULL COMMENT '简称',
  `type` smallint(6) NOT NULL COMMENT '类型(机构=1,部门=2)',
  `parent_code` varchar(100) DEFAULT NULL COMMENT '父组织code',
  `third_id` varchar(100) DEFAULT NULL COMMENT '组织id',
  `is_enable` tinyint(1) NOT NULL COMMENT '是否启用(1-启用,0-停用)',
  `third_update_time` datetime NOT NULL COMMENT '第三方数据最新时间',
  `status` smallint(6) NOT NULL DEFAULT '0' COMMENT '同步状态(不处理=-1,未处理=0,失败=1,成功=2)',
  `retry` smallint(6) NOT NULL DEFAULT '0' COMMENT '重试次数',
  `batch` varchar(20) DEFAULT NULL COMMENT '批次号',
  `sort_id` int(11) NOT NULL DEFAULT '1' COMMENT '排序号',
  `v8_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT 'V8ID',
  `str1` varchar(255) DEFAULT NULL COMMENT '扩展字段1',
  `str2` varchar(255) DEFAULT NULL COMMENT '扩展字段2',
  `str3` varchar(255) DEFAULT NULL COMMENT '扩展字段3',
  `str4` varchar(255) DEFAULT NULL COMMENT '扩展字段4',
  `str5` varchar(255) DEFAULT NULL COMMENT '扩展字段5',
  `str6` varchar(255) DEFAULT NULL COMMENT '扩展字段6',
  `str7` varchar(255) DEFAULT NULL COMMENT '扩展字段7',
  `str8` varchar(255) DEFAULT NULL COMMENT '扩展字段8',
  `str9` varchar(255) DEFAULT NULL COMMENT '扩展字段9',
  `str10` varchar(255) DEFAULT NULL COMMENT '扩展字段10',
  `msg` longtext COMMENT '异常信息',
  `source_batch` varchar(20) DEFAULT NULL COMMENT '来源批次号',
  PRIMARY KEY (`id`),
  KEY `IDX_CIP_SYNC_UNIT_LINKER_ID` (`linker_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='组织同步组织中间表';

# 3.2、职级

CREATE TABLE `cip_sync_level` (
  `id` bigint(20) NOT NULL COMMENT '主键',
  `tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `version` smallint(6) NOT NULL COMMENT '版本号',
  `linker_id` bigint(20) NOT NULL COMMENT '连接器ID',
  `code` varchar(50) DEFAULT NULL COMMENT '职级编号',
  `name` varchar(100) DEFAULT NULL COMMENT '职级名称',
  `third_id` varchar(100) DEFAULT NULL COMMENT '职级id',
  `is_enable` tinyint(1) NOT NULL COMMENT '是否启用(1-启用,0-停用)',
  `third_update_time` datetime NOT NULL COMMENT '第三方数据最新时间',
  `status` smallint(6) NOT NULL DEFAULT '0' COMMENT '同步状态(不处理=-1,未处理=0,失败=1,成功=2)',
  `retry` smallint(6) NOT NULL DEFAULT '0' COMMENT '重试次数',
  `batch` varchar(20) DEFAULT NULL COMMENT '批次号',
  `sort_id` int(11) NOT NULL DEFAULT '1' COMMENT '排序号',
  `v8_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT 'V8ID',
  `msg` longtext COMMENT '异常信息',
  `source_batch` varchar(20) DEFAULT NULL COMMENT '来源批次号',
  PRIMARY KEY (`id`),
  KEY `IDX_CIP_SYNC_LEVEL_LINKER_ID` (`linker_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='组织同步职级中间表';

# 3.3、岗位

 CREATE TABLE `cip_sync_post` (
  `id` bigint(20) NOT NULL COMMENT '主键',
  `tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `version` smallint(6) NOT NULL COMMENT '版本号',
  `linker_id` bigint(20) NOT NULL COMMENT '连接器ID',
  `code` varchar(50) DEFAULT NULL COMMENT '岗位编号',
  `name` varchar(100) DEFAULT NULL COMMENT '岗位名称',
  `unit_code` varchar(100) DEFAULT NULL COMMENT '组织code',
  `type` varchar(100) DEFAULT NULL COMMENT '岗位分类枚举值code',
  `category` smallint(6) NOT NULL DEFAULT '0' COMMENT '岗位性质(基准岗=0,自用岗=1)',
  `third_id` varchar(100) DEFAULT NULL COMMENT '岗位id',
  `is_enable` tinyint(1) NOT NULL COMMENT '是否启用(1-启用,0-停用)',
  `third_update_time` datetime NOT NULL COMMENT '第三方数据最新时间',
  `status` smallint(6) NOT NULL DEFAULT '0' COMMENT '同步状态(不处理=-1,未处理=0,失败=1,成功=2)',
  `retry` smallint(6) NOT NULL DEFAULT '0' COMMENT '重试次数',
  `batch` varchar(20) DEFAULT NULL COMMENT '批次号',
  `sort_id` int(11) NOT NULL DEFAULT '1' COMMENT '排序号',
  `v8_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT 'V8ID',
  `msg` longtext COLLATE utf8mb4_unicode_ci COMMENT '异常信息',
  `source_batch` varchar(20) DEFAULT NULL COMMENT '来源批次号',
  PRIMARY KEY (`id`),
  KEY `IDX_CIP_SYNC_POST_LINKER_ID` (`linker_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='组织同步岗位中间表';

# 3.4、职务

CREATE TABLE `cip_sync_duty` (
  `id` bigint(20) NOT NULL COMMENT '主键',
  `tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `version` smallint(6) NOT NULL COMMENT '版本号',
  `linker_id` bigint(20) NOT NULL COMMENT '连接器ID',
  `code` varchar(50) NOT NULL COMMENT '职务编号',
  `name` varchar(100) NOT NULL COMMENT '职务名称',
  `unit_code` varchar(100) DEFAULT NULL COMMENT '组织code',
  `category` smallint(6) NOT NULL DEFAULT '0' COMMENT '职务性质(基准职务=0,自用职务=1)',
  `issued_rule` smallint(6) NOT NULL DEFAULT '0' COMMENT '下发类型(没有范围=0,本机构=1,本机构及下级机构=2,仅下级机构=3,指定机构=4,指定机构及下级机构=5)',
  `third_id` varchar(100) DEFAULT NULL COMMENT '岗位id',
  `is_enable` tinyint(1) NOT NULL COMMENT '是否启用(1-启用,0-停用)',
  `third_update_time` datetime NOT NULL COMMENT '第三方数据最新时间',
  `status` smallint(6) NOT NULL DEFAULT '0' COMMENT '同步状态(不处理=-1,未处理=0,失败=1,成功=2)',
  `retry` smallint(6) NOT NULL DEFAULT '0' COMMENT '重试次数',
  `batch` varchar(20) DEFAULT NULL COMMENT '批次号',
  `source_batch` varchar(20) DEFAULT NULL COMMENT '批次号',
  `sort_id` int(11) NOT NULL DEFAULT '1' COMMENT '排序号',
  `v8_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT 'V8ID',
  `msg` longtext COMMENT '异常信息',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='组织同步职务中间表';

# 3.5、人员&任职

CREATE TABLE `cip_sync_member` (
  `id` bigint(20) NOT NULL COMMENT '主键',
  `tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `version` smallint(6) NOT NULL COMMENT '版本号',
  `linker_id` bigint(20) NOT NULL COMMENT '连接器ID',
  `code` varchar(50) DEFAULT NULL COMMENT '工号',
  `name` varchar(255) DEFAULT NULL COMMENT '姓名',
  `third_id` varchar(100) DEFAULT NULL COMMENT '第三方人员id',
  `gender` smallint(6) NOT NULL DEFAULT '0' COMMENT '性别(男=0,女=1)',
  `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
  `phone_number` varchar(20) DEFAULT NULL COMMENT '手机号码',
  `unit_code` varchar(100) DEFAULT NULL COMMENT '组织code',
  `third_job_id` varchar(100) DEFAULT NULL COMMENT '第三方任职id',
  `is_main` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否主岗(主岗=1,副岗=0)',
  `post_code` varchar(50) DEFAULT NULL COMMENT '岗位code',
  `level_code` varchar(50) DEFAULT NULL COMMENT '职级code',
  `effective_time` datetime NOT NULL DEFAULT '2024-01-01 00:00:00' COMMENT '生效日期',
  `invalid_time` datetime NOT NULL DEFAULT '9998-12-31 00:00:00' COMMENT '失效日期',
  `is_enable` tinyint(1) NOT NULL COMMENT '是否启用(1-启用,0-停用)',
  `third_update_time` datetime NOT NULL COMMENT '第三方数据最新时间',
  `status` smallint(6) NOT NULL DEFAULT '0' COMMENT '同步状态(不处理=-1,未处理=0,失败=1,成功=2)',
  `retry` smallint(6) NOT NULL DEFAULT '0' COMMENT '重试次数',
  `batch` varchar(20) DEFAULT NULL COMMENT '批次号',
  `sort_id` int(11) NOT NULL DEFAULT '1' COMMENT '排序号',
  `v8_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT 'V8ID',
  `str1` varchar(255) DEFAULT NULL COMMENT '扩展字段1',
  `str2` varchar(255) DEFAULT NULL COMMENT '扩展字段2',
  `str3` varchar(255) DEFAULT NULL COMMENT '扩展字段3',
  `str4` varchar(255) DEFAULT NULL COMMENT '扩展字段4',
  `str5` varchar(255) DEFAULT NULL COMMENT '扩展字段5',
  `str6` varchar(255) DEFAULT NULL COMMENT '扩展字段6',
  `str7` varchar(255) DEFAULT NULL COMMENT '扩展字段7',
  `str8` varchar(255) DEFAULT NULL COMMENT '扩展字段8',
  `str9` varchar(255) DEFAULT NULL COMMENT '扩展字段9',
  `str10` varchar(255) DEFAULT NULL COMMENT '扩展字段10',
  `msg` longtext COMMENT '异常信息',
  `source_batch` varchar(20) DEFAULT NULL COMMENT '来源批次号',
  `certificate_number` varchar(255) DEFAULT NULL COMMENT '证件号码',
  `certificate_type` varchar(50) DEFAULT NULL COMMENT '证件类型',
  `bank_account` varchar(30) DEFAULT NULL COMMENT '银行账号',
  `bank` varchar(50) DEFAULT NULL COMMENT '开户银行',
  `bank_outlets` varchar(100) DEFAULT NULL COMMENT '开户网点',
  `image` varchar(255) DEFAULT NULL COMMENT '头像路径',
  `birthday` varchar(10) DEFAULT NULL COMMENT '生日',
  `entry_date` varchar(10) DEFAULT NULL COMMENT '入职日期',
  `office_number` varchar(20) DEFAULT NULL COMMENT '工作电话',
  `member_type` smallint(6) NOT NULL DEFAULT '12' COMMENT '人员类型(12=内部人员,21=外部单位用户,22=外部个人用户)',
  `description` varchar(100) DEFAULT NULL COMMENT '备注',
  `user_name` varchar(50) DEFAULT NULL COMMENT '登录名',
  `secret_name` varchar(50) DEFAULT NULL COMMENT '密级枚举名称',
  `job_top_sort_id` int(11) NOT NULL DEFAULT '0' COMMENT '任职置顶排序号',
  `job_sort_id` int(11) NOT NULL DEFAULT '1' COMMENT '任职排序号',
  `duty_code` varchar(50) NULL COMMENT '职务',
  PRIMARY KEY (`id`),
  KEY `IDX_CIP_SYNC_MEMBER_LINKER_ID` (`linker_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='组织同步人员中间表';
编撰人:chengxj