From 5f7bead9d969c13e02cd9d5e1050bb5b9f1c7eca Mon Sep 17 00:00:00 2001 From: weicw <594098497@qq.com> Date: Sat, 31 Oct 2026 01:32:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B9=9D=E7=B1=BB=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E4=B8=8E=E5=B2=97=E4=BD=8D=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E7=A7=8D=E5=AD=90=20SQL=EF=BC=8803=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/03-approval_orgs_roles.sql | 190 +++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 sql/03-approval_orgs_roles.sql diff --git a/sql/03-approval_orgs_roles.sql b/sql/03-approval_orgs_roles.sql new file mode 100644 index 0000000..8f58cc3 --- /dev/null +++ b/sql/03-approval_orgs_roles.sql @@ -0,0 +1,190 @@ +-- 审批组织与岗位角色种子(可重复执行) +-- 目标库:gxtyzx_core(server) +-- 执行顺序:01-approval.sql -> 02-approval_menu.sql -> 03-approval_orgs_roles.sql +-- +-- 覆盖 0630 九类线下审批涉及的部门与岗位: +-- 部门:场馆部(已存在则复用)、运营管理部、安全运保部、财务部 +-- 部门岗位:dept_leader_(负责人)、dept_deputy_(分管领导) +-- 租户岗位: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' +);