提交
This commit is contained in:
1 parent
3520f9ce90
commit
0e60b88cba
104 files changed
+344311
-250708
No files matched your search
@@ -0,0 +1,117 @@
|
||||
-- =============================================================================
|
||||
-- 重置 shanxia2.0 租户部门树(P0 数据迁移前置)
|
||||
-- 执行库:shanxia2.0
|
||||
-- 日期:2026-07-12
|
||||
--
|
||||
-- 目标结构:
|
||||
-- 安庆市山峡化工有限公司(根,组织类别 gs)
|
||||
-- ├── 销售部(bm)
|
||||
-- ├── 人力资源部(bm)
|
||||
-- └── 生产现场部(bm)
|
||||
--
|
||||
-- 用法(生产):
|
||||
-- mysql -h121.43.228.102 -uroot -p shanxia2.0 < backend/scripts/migration_20260712_reset_sys_dept.sql
|
||||
--
|
||||
-- 说明:
|
||||
-- 1. 物理删除租户 shanxia2.0 下全部 sys_dept 后重建(含已软删记录)
|
||||
-- 2. 复用根部门 ID(admin.dept_id 已指向)与销售部 ID(用户迁移脚本默认部门)
|
||||
-- 3. 同步将 admin 挂到根公司;清理已失效的自定义数据权限部门引用
|
||||
-- =============================================================================
|
||||
|
||||
-- 与表字段 collation 对齐,避免 1267 Illegal mix of collations
|
||||
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
SET collation_connection = 'utf8mb4_unicode_ci';
|
||||
|
||||
SET @tenant_no := 'shanxia2.0';
|
||||
SET @admin_user_id := 'd3000000000000000000000000000001';
|
||||
|
||||
-- 稳定部门 ID(与历史/迁移脚本对齐)
|
||||
SET @dept_root_id := 'b13c2be2-4e71-11f1-9f47-00163e3bdd96';
|
||||
SET @dept_sales_id := 'E65CAAE057914CCCAE2A81BE627A43EA';
|
||||
SET @dept_hr_id := 'C65CAAE057914CCCAE2A81BE627A43ED';
|
||||
SET @dept_prod_id := 'D65CAAE057914CCCAE2A81BE627A43EE';
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
-- 清理自定义数据权限中指向旧部门的配置(当前库通常为空,预留)
|
||||
DELETE FROM sys_role_data_scope_detail
|
||||
WHERE tenant_no = @tenant_no COLLATE utf8mb4_unicode_ci
|
||||
AND scope_type = 'dept' COLLATE utf8mb4_unicode_ci
|
||||
AND scope_value COLLATE utf8mb4_unicode_ci NOT IN (
|
||||
@dept_root_id COLLATE utf8mb4_unicode_ci,
|
||||
@dept_sales_id COLLATE utf8mb4_unicode_ci,
|
||||
@dept_hr_id COLLATE utf8mb4_unicode_ci,
|
||||
@dept_prod_id COLLATE utf8mb4_unicode_ci
|
||||
);
|
||||
|
||||
-- 清空租户全部部门(物理删除)
|
||||
DELETE FROM sys_dept
|
||||
WHERE tenant_no = @tenant_no COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- 根:安庆市山峡化工有限公司
|
||||
INSERT INTO sys_dept (
|
||||
id, parent_id, dept_name, dept_category_code, status,
|
||||
leader, leader_phone, tenant_no, order_num, remark,
|
||||
create_by, create_dept_id, create_time, update_by, update_time, del_flag
|
||||
) VALUES (
|
||||
@dept_root_id, '0', '安庆市山峡化工有限公司', 'gs', '1',
|
||||
NULL, NULL, @tenant_no, 0, '数据迁移脚本重建',
|
||||
@admin_user_id, '', NOW(), @admin_user_id, NOW(), 0
|
||||
);
|
||||
|
||||
-- 一级部门:销售部
|
||||
INSERT INTO sys_dept (
|
||||
id, parent_id, dept_name, dept_category_code, status,
|
||||
leader, leader_phone, tenant_no, order_num, remark,
|
||||
create_by, create_dept_id, create_time, update_by, update_time, del_flag
|
||||
) VALUES (
|
||||
@dept_sales_id, @dept_root_id, '销售部', 'bm', '1',
|
||||
NULL, NULL, @tenant_no, 10, '数据迁移脚本重建',
|
||||
@admin_user_id, @dept_root_id, NOW(), @admin_user_id, NOW(), 0
|
||||
);
|
||||
|
||||
-- 一级部门:人力资源部
|
||||
INSERT INTO sys_dept (
|
||||
id, parent_id, dept_name, dept_category_code, status,
|
||||
leader, leader_phone, tenant_no, order_num, remark,
|
||||
create_by, create_dept_id, create_time, update_by, update_time, del_flag
|
||||
) VALUES (
|
||||
@dept_hr_id, @dept_root_id, '人力资源部', 'bm', '1',
|
||||
NULL, NULL, @tenant_no, 20, '数据迁移脚本重建',
|
||||
@admin_user_id, @dept_root_id, NOW(), @admin_user_id, NOW(), 0
|
||||
);
|
||||
|
||||
-- 一级部门:生产现场部
|
||||
INSERT INTO sys_dept (
|
||||
id, parent_id, dept_name, dept_category_code, status,
|
||||
leader, leader_phone, tenant_no, order_num, remark,
|
||||
create_by, create_dept_id, create_time, update_by, update_time, del_flag
|
||||
) VALUES (
|
||||
@dept_prod_id, @dept_root_id, '生产现场部', 'bm', '1',
|
||||
NULL, NULL, @tenant_no, 30, '数据迁移脚本重建',
|
||||
@admin_user_id, @dept_root_id, NOW(), @admin_user_id, NOW(), 0
|
||||
);
|
||||
|
||||
-- admin 挂到根公司(与重建后 ID 一致,幂等)
|
||||
UPDATE sys_user
|
||||
SET dept_id = @dept_root_id,
|
||||
update_by = @admin_user_id,
|
||||
update_time = NOW()
|
||||
WHERE id = @admin_user_id COLLATE utf8mb4_unicode_ci
|
||||
AND tenant_no = @tenant_no COLLATE utf8mb4_unicode_ci
|
||||
AND del_flag = 0;
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- 验收查询
|
||||
SELECT id, parent_id, dept_name, dept_category_code, order_num, status
|
||||
FROM sys_dept
|
||||
WHERE tenant_no = @tenant_no COLLATE utf8mb4_unicode_ci
|
||||
AND del_flag = 0
|
||||
ORDER BY parent_id, order_num, dept_name;
|
||||
|
||||
SELECT id, user_no, nick_name, dept_id
|
||||
FROM sys_user
|
||||
WHERE tenant_no = @tenant_no COLLATE utf8mb4_unicode_ci
|
||||
AND del_flag = 0
|
||||
ORDER BY user_no;
|
||||
Reference in new issue
Block a user