From 2f3341bfb7ce728b3d01fbcc8663748d505aafef Mon Sep 17 00:00:00 2001 From: zhuibobo Date: Wed, 19 Aug 2026 17:16:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0user=E5=92=8C=E7=9A=84dept?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E5=8F=8C=E5=90=91=E5=90=8C=E6=AD=A5=E9=85=8D?= =?UTF-8?q?=E7=BD=AE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sql/businessdatasyn/一期/sys_dept.sql | 69 ++++++++++ .../sql/businessdatasyn/一期/sys_user.sql | 87 +++++++++++++ .../sql/businessdatasyn/二期/sys_dept.sql | 50 +++++++ .../sql/businessdatasyn/二期/sys_user.sql | 52 ++++++++ .../src/views/efcode/biz/index.vue | 16 +++ .../resources/businessdatasyn/sys_dept.json | 114 ++++++++++++++++ .../resources/businessdatasyn/sys_user.json | 122 ++++++++++++++++++ 7 files changed, 510 insertions(+) create mode 100644 script/sql/businessdatasyn/一期/sys_dept.sql create mode 100644 script/sql/businessdatasyn/一期/sys_user.sql create mode 100644 script/sql/businessdatasyn/二期/sys_dept.sql create mode 100644 script/sql/businessdatasyn/二期/sys_user.sql create mode 100644 zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_dept.json create mode 100644 zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_user.json diff --git a/script/sql/businessdatasyn/一期/sys_dept.sql b/script/sql/businessdatasyn/一期/sys_dept.sql new file mode 100644 index 00000000..a1ca9654 --- /dev/null +++ b/script/sql/businessdatasyn/一期/sys_dept.sql @@ -0,0 +1,69 @@ +create table sys_dept +( + dept_id varchar(100) not null + primary key, + parent_id varchar(100) null, + ancestors varchar(500) null, + dept_name varchar(100) null, + order_num int default 0 null comment '显示顺序', + leader varchar(20) null comment '负责人', + phone varchar(11) null comment '联系电话', + email varchar(50) null comment '邮箱', + status char default '0' null comment '部门状态(0正常 1停用)', + del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', + create_by varchar(64) default '' null comment '创建者', + create_time datetime null comment '创建时间', + update_by varchar(64) default '' null comment '更新者', + update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP, + dept_type varchar(5) null comment '部门类型0:机构,1:部门:2小组', + kingdee_org_id varchar(50) null comment '金蝶原始组织结构id', + kingdee_org_parent_id varchar(50) null comment '金蝶原始父组织id', + tenant_code varchar(255) null comment '所属租户 新增角色时,租户code为当前登录用户的租户code', + user_id bigint null, + zzLevel int null, + code varchar(55) null, + mappingUnitParentId varchar(55) null, + updateAt varchar(22) null, + createAt varchar(22) null, + description varchar(55) null, + effectOn varchar(55) null, + parentId varchar(55) null, + organizationId varchar(100) null, + sequence varchar(55) null, + isDeleted varchar(9) null, + zzDisplayPath varchar(555) null, + name varchar(55) null, + guid varchar(55) null, + zzIsLeaf varchar(55) null, + isDisabled varchar(9) null, + fullname varchar(55) null, + isMappingUnit varchar(55) null, + srzUnitId varchar(55) null, + taskId varchar(55) null, + organizationParentId varchar(100) null, + systemId varchar(55) null, + creditcode varchar(55) null, + zone tinyint null, + simpleName varchar(200) null comment '机构简称', + isStatutoryOrg varchar(50) null comment '是否法定机构', + isActive varchar(50) null comment '是否生效', + unitStatusCode varchar(200) null comment '机构状态代码', + unitStatus varchar(200) null comment '机构状态', + unitType varchar(200) null comment '机构类型', + xzqhCode varchar(200) null comment '行政区划代码', + xzqh varchar(200) null comment '行政区划', + isCGManager varchar(50) null comment '是否参公管理', + isBureauOffice varchar(50) null comment '是否局(委)办', + unitTypeCode varchar(200) null comment '机构类型代码', + dwxzCode varchar(200) null comment '单位性质代码', + dwxz varchar(200) null comment '单位性质', + unitSysTypeCode varchar(200) null comment '系统单位类型编码', + unitSysType varchar(200) null comment '系统单位类型', + dwxtlbms varchar(200) null comment '单位系统类别描述', + unitLevelCode varchar(200) null comment '机构规格代码', + unitLevel varchar(200) null comment '机构规格', + area_node varchar(50) null comment '所属区节点(自己维护用的)' +) + comment '部门表' collate = utf8mb3_general_ci + row_format = DYNAMIC; + diff --git a/script/sql/businessdatasyn/一期/sys_user.sql b/script/sql/businessdatasyn/一期/sys_user.sql new file mode 100644 index 00000000..debdfaff --- /dev/null +++ b/script/sql/businessdatasyn/一期/sys_user.sql @@ -0,0 +1,87 @@ +create table sys_user +( + user_id bigint auto_increment comment '用户ID' + primary key, + dept_id varchar(55) null, + login_name varchar(100) null, + user_name varchar(30) not null comment '用户昵称', + user_type varchar(2) default '00' null comment '用户类型(00系统用户)', + email varchar(50) default '' null comment '用户邮箱', + phonenumber varchar(100) null, + sex char default '0' null comment '用户性别(0男 1女 2未知)', + avatar varchar(100) default '' null comment '头像路径', + password varchar(50) default '' null comment '密码', + salt varchar(20) default '' null comment '盐加密', + status char default '0' null comment '帐号状态(0正常 1停用)', + del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', + login_ip varchar(50) default '' null comment '最后登陆IP', + login_date datetime null comment '最后登陆时间', + create_by varchar(64) default '' null comment '创建者', + create_time datetime null comment '创建时间', + update_by varchar(64) default '' null comment '更新者', + update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP, + remark varchar(500) null comment '备注', + kingdee_org_id varchar(50) null comment '金蝶系统原始组织结构id', + kingdee_user_id varchar(50) null comment '金蝶原始用户id', + type varchar(2) null comment '用户类型', + tenant_code varchar(255) null comment '所属租户 新增用户时,租户code为当前登录用户的租户code', + law_certificate_num varchar(50) null comment '执法证件号', + fullname varchar(55) null, + taskId varchar(55) null, + systemId varchar(55) null, + effectOn varchar(55) null, + isDeleted varchar(9) null, + isDisabled varchar(9) null, + createAt varchar(55) null, + updateAt varchar(55) null, + guid varchar(55) null, + mobileNumber varchar(55) null, + certificateNumber varchar(55) null, + srzUserid varchar(55) null, + isMappingPerson varchar(55) null, + units varchar(5000) null, + organizationId varchar(100) null, + certificateTypeId varchar(55) null, + certificateTypeIdCode varchar(55) null, + strUserId varchar(55) null, + user_source int null comment '人员类型 0 系统用户 1 深i企用户', + engName varchar(100) null comment '英文名', + photo varchar(100) null comment '头像', + spareNumber varchar(100) null comment '备用电话号码', + telephoneNumber varchar(100) null comment '座机号码', + faxNumber varchar(100) null comment '办公传真号码', + genderCode varchar(100) null comment '性别代码', + sequence varchar(100) null comment '排序号', + gldw varchar(100) null comment '管理单位', + rylbCode varchar(100) null comment '人员类别代码', + rylb varchar(100) null comment '人员类别', + ryztCode varchar(100) null comment '人员状态代码', + ryzt varchar(100) null comment '人员状态', + dwzyld varchar(100) null comment '是否单位主要领导', + zcgzld varchar(100) null comment '是否主持工作领导', + positionname varchar(100) null comment '职务名称', + zwjcCode varchar(100) null comment '职务简称代码', + zwjc varchar(100) null comment '职务简称', + zwbsCode varchar(100) null comment '职务标识代码', + zwbs varchar(100) null comment '职务标识', + jbccCode varchar(100) null comment '级别层级代码', + jbcc varchar(100) null comment '级别层级', + province varchar(100) null comment '所在省', + city varchar(100) null comment '所在市', + district varchar(100) null comment '所在区/县', + hometownCode varchar(100) null comment '籍贯代码', + hometown varchar(100) null comment '籍贯', + pylxcode varchar(100) null comment '聘用类型代码', + pylx varchar(100) null comment '聘用类型', + contractStartTime varchar(100) null comment '合同开始日期', + contractEndTime varchar(100) null comment '合同结束日期', + glzrr varchar(100) null comment '管理责任人', + rylydw varchar(100) null comment '人员来源单位', + jrfscode varchar(100) null comment '进入本单位方式代码', + jrfs varchar(100) null comment '进入本单位方式', + zwwxMobile varchar(100) null comment '政务微信手机号', + zwwxId varchar(100) null comment '市政务微信id' +) + comment '用户信息表' collate = utf8mb3_general_ci + row_format = DYNAMIC; + diff --git a/script/sql/businessdatasyn/二期/sys_dept.sql b/script/sql/businessdatasyn/二期/sys_dept.sql new file mode 100644 index 00000000..b15fb58f --- /dev/null +++ b/script/sql/businessdatasyn/二期/sys_dept.sql @@ -0,0 +1,50 @@ +create table sys_dept +( + dept_id varchar(100) not null comment '部门id' + primary key, + tenant_id varchar(20) default '000000' null comment '租户编号', + parent_id varchar(100) default '0' null comment '父部门id', + ancestors varchar(500) default '' null comment '祖级列表', + dept_name varchar(100) default '' null comment '部门名称', + order_num int default 0 null comment '显示顺序', + leader bigint null comment '负责人', + phone varchar(11) null comment '联系电话', + email varchar(50) null comment '邮箱', + status char default '0' null comment '部门状态(0正常 1停用)', + del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', + create_dept varchar(100) null comment '创建部门', + create_by bigint null comment '创建者', + create_time datetime null comment '创建时间', + update_by bigint null comment '更新者', + update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP, + dept_type varchar(5) null comment '部门类型0:机构,1:部门:2小组', + zzLevel int null, + code varchar(55) null, + mappingUnitParentId varchar(55) null, + updateAt varchar(22) null, + createAt varchar(22) null, + effectOn varchar(55) null, + organizationId varchar(100) null, + sequence varchar(55) null, + isDeleted varchar(9) null, + zzDisplayPath varchar(555) null, + name varchar(55) null, + guid varchar(55) null, + zzIsLeaf varchar(55) null, + isDisabled varchar(9) null, + fullname varchar(55) null, + isMappingUnit varchar(55) null, + srzUnitId varchar(55) null, + taskId varchar(55) null, + organizationParentId varchar(100) null, + systemId varchar(55) null, + creditcode varchar(55) null, + zone tinyint null, + unitStatusCode varchar(200) null comment '机构状态代码', + unitStatus varchar(200) null comment '机构状态', + unitTypeCode varchar(200) null comment '机构类型代码', + area_node varchar(50) null comment '所属区节点(自己维护用的)' +) + comment '部门表' collate = utf8mb3_general_ci + row_format = DYNAMIC; + diff --git a/script/sql/businessdatasyn/二期/sys_user.sql b/script/sql/businessdatasyn/二期/sys_user.sql new file mode 100644 index 00000000..c82f7f68 --- /dev/null +++ b/script/sql/businessdatasyn/二期/sys_user.sql @@ -0,0 +1,52 @@ +create table sys_user +( + user_id bigint not null comment '用户ID' + primary key, + tenant_id varchar(20) default '000000' null comment '租户编号', + dept_id varchar(100) null comment '部门ID', + user_name varchar(30) not null comment '用户账号', + login_name varchar(100) null, + nick_name varchar(30) not null comment '用户昵称', + user_type varchar(10) default 'sys_user' null comment '用户类型(sys_user系统用户)', + email varchar(50) default '' null comment '用户邮箱', + phonenumber varchar(100) default '' null comment '手机号码', + sex char default '0' null comment '用户性别(0男 1女 2未知)', + avatar varchar(100) null comment '头像地址', + password varchar(100) default '' null comment '密码', + status char default '0' null comment '账号状态(0正常 1停用)', + del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', + login_ip varchar(128) default '' null comment '最后登录IP', + login_date datetime null comment '最后登录时间', + salt varchar(20) default '' null comment '盐加密', + create_dept varchar(100) null comment '创建部门', + create_by bigint null comment '创建者', + create_time datetime null comment '创建时间', + update_by bigint null comment '更新者', + update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP, + remark varchar(500) null comment '备注', + type varchar(2) null comment '用户类型', + law_certificate_num varchar(50) null comment '执法证件号', + fullname varchar(55) null, + taskId varchar(55) null, + systemId varchar(55) null, + effectOn varchar(55) null, + isDeleted varchar(9) null, + isDisabled varchar(9) null, + createAt varchar(55) null, + updateAt varchar(55) null, + mobileNumber varchar(55) null, + certificateNumber varchar(55) null, + srzUserid varchar(55) null, + isMappingPerson varchar(55) null, + units varchar(5000) null, + organizationId varchar(100) null, + certificateTypeId varchar(55) null, + certificateTypeIdCode varchar(55) null, + strUserId varchar(55) null, + user_source int null comment '人员类型 0 系统用户 1 深i企用户', + rylbCode varchar(100) null comment '人员类别代码', + rylb varchar(100) null comment '人员类别' +) + comment '用户信息表' collate = utf8mb3_general_ci + row_format = DYNAMIC; + diff --git a/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/biz/index.vue b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/biz/index.vue index 1c80db24..5ada549e 100644 --- a/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/biz/index.vue +++ b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/biz/index.vue @@ -116,6 +116,22 @@ const syncConfigs = ref([ v2Table: 'enterprise_pub_qrcode', syncDirection: '双向', enabled: true + }, + { + configKey: 'sys_dept', + description: '部门表双向同步', + v1Table: 'sys_dept', + v2Table: 'sys_dept', + syncDirection: '双向', + enabled: true + }, + { + configKey: 'sys_user', + description: '用户表双向同步', + v1Table: 'sys_user', + v2Table: 'sys_user', + syncDirection: '双向', + enabled: true } ]); diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_dept.json b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_dept.json new file mode 100644 index 00000000..eb2540cd --- /dev/null +++ b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_dept.json @@ -0,0 +1,114 @@ +{ + "configKey": "sys_dept", + "description": "部门表双向同步", + "enabled": true, + + "v1": { + "table": "sys_dept", + "primaryKey": ["dept_id"], + "updateTimeColumn": "update_time", + "deleteFlagColumn": "del_flag", + "columns": [ + "dept_id", "parent_id", "ancestors", "dept_name", "order_num", + "phone", "email", "status", "del_flag", + "create_time", "update_time", + "dept_type", + "zzLevel", "code", "mappingUnitParentId", "updateAt", "createAt", + "effectOn", "organizationId", "sequence", "isDeleted", "zzDisplayPath", + "name", "guid", "zzIsLeaf", "isDisabled", "fullname", "isMappingUnit", + "srzUnitId", "taskId", "organizationParentId", "systemId", "creditcode", + "zone", "unitStatusCode", "unitStatus", "unitTypeCode", "area_node" + ] + }, + + "v2": { + "table": "sys_dept", + "primaryKey": ["dept_id"], + "updateTimeColumn": "update_time", + "deleteFlagColumn": "del_flag", + "columns": [ + "dept_id", "parent_id", "ancestors", "dept_name", "order_num", + "phone", "email", "status", "del_flag", + "create_time", "update_time", + "dept_type", + "zzLevel", "code", "mappingUnitParentId", "updateAt", "createAt", + "effectOn", "organizationId", "sequence", "isDeleted", "zzDisplayPath", + "name", "guid", "zzIsLeaf", "isDisabled", "fullname", "isMappingUnit", + "srzUnitId", "taskId", "organizationParentId", "systemId", "creditcode", + "zone", "unitStatusCode", "unitStatus", "unitTypeCode", "area_node", + "tenant_id", "create_dept" + ] + }, + + "columnMapping": { + "dept_id": "dept_id", + "parent_id": "parent_id", + "ancestors": "ancestors", + "dept_name": "dept_name", + "order_num": "order_num", + "phone": "phone", + "email": "email", + "status": "status", + "del_flag": "del_flag", + "create_time": "create_time", + "update_time": "update_time", + "dept_type": "dept_type", + "zzLevel": "zzLevel", + "code": "code", + "mappingUnitParentId": "mappingUnitParentId", + "updateAt": "updateAt", + "createAt": "createAt", + "effectOn": "effectOn", + "organizationId": "organizationId", + "sequence": "sequence", + "isDeleted": "isDeleted", + "zzDisplayPath": "zzDisplayPath", + "name": "name", + "guid": "guid", + "zzIsLeaf": "zzIsLeaf", + "isDisabled": "isDisabled", + "fullname": "fullname", + "isMappingUnit": "isMappingUnit", + "srzUnitId": "srzUnitId", + "taskId": "taskId", + "organizationParentId": "organizationParentId", + "systemId": "systemId", + "creditcode": "creditcode", + "zone": "zone", + "unitStatusCode": "unitStatusCode", + "unitStatus": "unitStatus", + "unitTypeCode": "unitTypeCode", + "area_node": "area_node" + }, + + "hashColumns": [ + "parent_id", "ancestors", "dept_name", "order_num", + "phone", "email", "status", + "dept_type", + "zzLevel", "code", "mappingUnitParentId", "updateAt", "createAt", + "effectOn", "organizationId", "sequence", "isDeleted", "zzDisplayPath", + "name", "guid", "zzIsLeaf", "isDisabled", "fullname", "isMappingUnit", + "srzUnitId", "taskId", "organizationParentId", "systemId", "creditcode", + "zone", "unitStatusCode", "unitStatus", "unitTypeCode", "area_node" + ], + + "typeConverters": {}, + + "v2OnlyColumnsIgnoredOnV1": ["tenant_id", "create_dept"], + + "v2OnlyColumnsDefaults": { + "tenant_id": "000000", + "create_dept": null + }, + + "firstOwnerFallback": "V1", + "deleteMode": "logical", + "logicalDelete": { + "v1": { "column": "del_flag", "value": 1 }, + "v2": { "column": "del_flag", "value": 1 } + }, + + "strictOwnerMode": false, + "scanBatchSize": 1000, + "maxRetry": 5 +} diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_user.json b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_user.json new file mode 100644 index 00000000..b2e5103d --- /dev/null +++ b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/businessdatasyn/sys_user.json @@ -0,0 +1,122 @@ +{ + "configKey": "sys_user", + "description": "用户表双向同步", + "enabled": true, + + "v1": { + "table": "sys_user", + "primaryKey": ["user_id"], + "updateTimeColumn": "update_time", + "deleteFlagColumn": "del_flag", + "columns": [ + "user_id", "dept_id", "login_name", "user_name", + "email", "phonenumber", "sex", "avatar", "salt", + "status", "del_flag", "login_ip", "login_date", + "create_time", "update_time", "remark", + "type", "law_certificate_num", + "fullname", "taskId", "systemId", "effectOn", + "isDeleted", "isDisabled", "createAt", "updateAt", + "mobileNumber", "certificateNumber", "srzUserid", + "isMappingPerson", "units", "organizationId", + "certificateTypeId", "certificateTypeIdCode", "strUserId", + "user_source", "rylbCode", "rylb" + ] + }, + + "v2": { + "table": "sys_user", + "primaryKey": ["user_id"], + "updateTimeColumn": "update_time", + "deleteFlagColumn": "del_flag", + "columns": [ + "user_id", "dept_id", "login_name", "user_name", + "email", "phonenumber", "sex", "avatar", "salt", + "status", "del_flag", "login_ip", "login_date", + "create_time", "update_time", "remark", + "type", "law_certificate_num", + "fullname", "taskId", "systemId", "effectOn", + "isDeleted", "isDisabled", "createAt", "updateAt", + "mobileNumber", "certificateNumber", "srzUserid", + "isMappingPerson", "units", "organizationId", + "certificateTypeId", "certificateTypeIdCode", "strUserId", + "user_source", "rylbCode", "rylb", + "tenant_id", "nick_name", "user_type", "create_dept" + ] + }, + + "columnMapping": { + "user_id": "user_id", + "dept_id": "dept_id", + "login_name": "login_name", + "user_name": "user_name", + "email": "email", + "phonenumber": "phonenumber", + "sex": "sex", + "avatar": "avatar", + "salt": "salt", + "status": "status", + "del_flag": "del_flag", + "login_ip": "login_ip", + "login_date": "login_date", + "create_time": "create_time", + "update_time": "update_time", + "remark": "remark", + "type": "type", + "law_certificate_num": "law_certificate_num", + "fullname": "fullname", + "taskId": "taskId", + "systemId": "systemId", + "effectOn": "effectOn", + "isDeleted": "isDeleted", + "isDisabled": "isDisabled", + "createAt": "createAt", + "updateAt": "updateAt", + "mobileNumber": "mobileNumber", + "certificateNumber": "certificateNumber", + "srzUserid": "srzUserid", + "isMappingPerson": "isMappingPerson", + "units": "units", + "organizationId": "organizationId", + "certificateTypeId": "certificateTypeId", + "certificateTypeIdCode": "certificateTypeIdCode", + "strUserId": "strUserId", + "user_source": "user_source", + "rylbCode": "rylbCode", + "rylb": "rylb" + }, + + "hashColumns": [ + "dept_id", "login_name", "user_name", + "email", "phonenumber", "sex", "avatar", "salt", + "status", "login_ip", "login_date", "remark", + "type", "law_certificate_num", + "fullname", "taskId", "systemId", "effectOn", + "isDeleted", "isDisabled", "createAt", "updateAt", + "mobileNumber", "certificateNumber", "srzUserid", + "isMappingPerson", "units", "organizationId", + "certificateTypeId", "certificateTypeIdCode", "strUserId", + "user_source", "rylbCode", "rylb" + ], + + "typeConverters": {}, + + "v2OnlyColumnsIgnoredOnV1": ["tenant_id", "nick_name", "user_type", "create_dept"], + + "v2OnlyColumnsDefaults": { + "tenant_id": "000000", + "nick_name": "${v1.user_name}", + "user_type": "sys_user", + "create_dept": null + }, + + "firstOwnerFallback": "V1", + "deleteMode": "logical", + "logicalDelete": { + "v1": { "column": "del_flag", "value": 1 }, + "v2": { "column": "del_flag", "value": 1 } + }, + + "strictOwnerMode": false, + "scanBatchSize": 1000, + "maxRetry": 5 +}