feat: 九类审批部门与岗位角色种子 SQL(03)

This commit is contained in:
2026-10-31 01:32:36 +08:00
parent 564122295e
commit 5f7bead9d9
+190
View File
@@ -0,0 +1,190 @@
-- 审批组织与岗位角色种子(可重复执行)
-- 目标库:gxtyzx_core(server)
-- 执行顺序:01-approval.sql -> 02-approval_menu.sql -> 03-approval_orgs_roles.sql
--
-- 覆盖 0630 九类线下审批涉及的部门与岗位:
-- 部门:场馆部(已存在则复用)、运营管理部、安全运保部、财务部
-- 部门岗位:dept_leader_<orgId>(负责人)、dept_deputy_<orgId>(分管领导)
-- 租户岗位:approval_archivist(收文员)、approval_general_manager(总经理/主要领导)、
-- approval_cashier(出纳)、approval_typist(录入员)、approval_issuer(发放人)
--
-- 只建部门与空角色,不写成员、不授予菜单权限;成员与授权由客户在后台分配。
-- 按 tenant_id=10150 执行;换租户时改下面的 @tenant_id。
SET @tenant_id := 10150;
SET @root_id := (
SELECT organization_id FROM sys_organization
WHERE tenant_id = @tenant_id AND organization_name = '广西体育中心' AND deleted = 0
ORDER BY organization_id LIMIT 1
);
-- ---------------------------------------------------------------- 部门
INSERT INTO sys_organization
(parent_id, organization_name, organization_full_name, organization_code,
organization_type, park, phone, email, business, industry, image, about,
sort_number, tenant_id, deleted)
SELECT @root_id, '运营管理部', '运营管理部', 'APPROVAL_OPS',
'部门', '', '', '', '', '', '', '', 110, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0
AND (organization_code = 'APPROVAL_OPS' OR organization_name = '运营管理部')
);
INSERT INTO sys_organization
(parent_id, organization_name, organization_full_name, organization_code,
organization_type, park, phone, email, business, industry, image, about,
sort_number, tenant_id, deleted)
SELECT @root_id, '安全运保部', '安全运保部', 'APPROVAL_SAFETY',
'部门', '', '', '', '', '', '', '', 120, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0
AND (organization_code = 'APPROVAL_SAFETY' OR organization_name IN ('安全运保部', '运保部'))
);
INSERT INTO sys_organization
(parent_id, organization_name, organization_full_name, organization_code,
organization_type, park, phone, email, business, industry, image, about,
sort_number, tenant_id, deleted)
SELECT @root_id, '财务部', '财务部', 'APPROVAL_FINANCE',
'部门', '', '', '', '', '', '', '', 130, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0
AND (organization_code = 'APPROVAL_FINANCE' OR organization_name = '财务部')
);
SET @venue_id := (
SELECT organization_id FROM sys_organization
WHERE tenant_id = @tenant_id AND organization_name = '场馆部' AND deleted = 0
ORDER BY organization_id LIMIT 1
);
SET @ops_id := (
SELECT organization_id FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0
AND (organization_code = 'APPROVAL_OPS' OR organization_name = '运营管理部')
ORDER BY organization_id LIMIT 1
);
SET @safety_id := (
SELECT organization_id FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0
AND (organization_code = 'APPROVAL_SAFETY' OR organization_name IN ('安全运保部', '运保部'))
ORDER BY organization_id LIMIT 1
);
SET @finance_id := (
SELECT organization_id FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0
AND (organization_code = 'APPROVAL_FINANCE' OR organization_name = '财务部')
ORDER BY organization_id LIMIT 1
);
-- ---------------------------------------------------------------- 部门负责人(或签)
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '场馆部负责人', CONCAT('dept_leader_', @venue_id), '审批种子:场馆部负责人,多人或签', 901, @tenant_id, 0
FROM DUAL
WHERE @venue_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_leader_', @venue_id)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '运营管理部负责人', CONCAT('dept_leader_', @ops_id), '审批种子:运营管理部负责人,多人或签', 902, @tenant_id, 0
FROM DUAL
WHERE @ops_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_leader_', @ops_id)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '安全运保部负责人', CONCAT('dept_leader_', @safety_id), '审批种子:安全运保部负责人,多人或签', 903, @tenant_id, 0
FROM DUAL
WHERE @safety_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_leader_', @safety_id)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '财务部负责人', CONCAT('dept_leader_', @finance_id), '审批种子:财务部负责人,多人或签', 904, @tenant_id, 0
FROM DUAL
WHERE @finance_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_leader_', @finance_id)
);
-- ---------------------------------------------------------------- 部门分管领导(二期使用,或签)
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '场馆部分管领导', CONCAT('dept_deputy_', @venue_id), '审批种子:场馆部分管领导,多人或签', 911, @tenant_id, 0
FROM DUAL
WHERE @venue_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_deputy_', @venue_id)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '运营管理部分管领导', CONCAT('dept_deputy_', @ops_id), '审批种子:运营管理部分管领导,多人或签', 912, @tenant_id, 0
FROM DUAL
WHERE @ops_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_deputy_', @ops_id)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '安全运保部分管领导', CONCAT('dept_deputy_', @safety_id), '审批种子:安全运保部分管领导,多人或签', 913, @tenant_id, 0
FROM DUAL
WHERE @safety_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_deputy_', @safety_id)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '财务部分管领导', CONCAT('dept_deputy_', @finance_id), '审批种子:财务部分管领导,多人或签', 914, @tenant_id, 0
FROM DUAL
WHERE @finance_id IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = CONCAT('dept_deputy_', @finance_id)
);
-- ---------------------------------------------------------------- 租户岗位(或签)
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '收文员', 'approval_archivist', '审批种子:归档节点,多人或签', 921, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = 'approval_archivist'
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '总经理', 'approval_general_manager', '审批种子:总经理/主要领导节点,多人或签', 922, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = 'approval_general_manager'
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '出纳', 'approval_cashier', '审批种子:收据申请单出纳节点,多人或签', 923, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = 'approval_cashier'
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '录入员', 'approval_typist', '审批种子:车辆免收费登记存档节点,多人或签', 924, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = 'approval_typist'
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '发放人', 'approval_issuer', '审批种子:体验券领用发放节点,多人或签', 925, @tenant_id, 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_role WHERE tenant_id = @tenant_id AND deleted = 0
AND role_code = 'approval_issuer'
);