Files
gxtyzx-java/sql/03-approval_orgs_roles.sql
T

204 lines
9.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 审批组织与岗位角色种子(可重复执行)
-- 目标库: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_VENUE',
'部门', '', '', '', '', '', '', '', 100, @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_VENUE'
);
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 deleted = 0 AND organization_code = 'APPROVAL_VENUE'
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'
);