feat: 部门岗位角色标识改用 organization_code,缺编码阻断提交

This commit is contained in:
2026-10-31 01:57:35 +08:00
parent 4929dbc3d3
commit 8953fc3088
12 changed files with 132 additions and 70 deletions
+39 -45
View File
@@ -4,7 +4,7 @@
--
-- 覆盖 0630 九类线下审批涉及的部门与岗位:
-- 部门:场馆部、运营管理部、安全运保部、财务部(均为新建,不复用历史部门)
-- 部门岗位:dept_leader_<orgId>(负责人)、dept_deputy_<orgId>(分管领导)
-- 部门岗位:dept_leader_<orgCode>(负责人)、dept_deputy_<orgCode>(分管领导)
-- 租户岗位:approval_archivist(收文员)、approval_general_manager(总经理/主要领导)、
-- approval_cashier(出纳)、approval_typist(录入员)、approval_issuer(发放人)
--
@@ -41,8 +41,7 @@ SELECT @root_id, '运营管理部', '运营管理部', 'APPROVAL_OPS',
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 = '运营管理部')
WHERE tenant_id = @tenant_id AND deleted = 0 AND organization_code = 'APPROVAL_OPS'
);
INSERT INTO sys_organization
@@ -54,8 +53,7 @@ SELECT @root_id, '安全运保部', '安全运保部', 'APPROVAL_SAFETY',
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 ('安全运保部', '运保部'))
WHERE tenant_id = @tenant_id AND deleted = 0 AND organization_code = 'APPROVAL_SAFETY'
);
INSERT INTO sys_organization
@@ -67,98 +65,94 @@ SELECT @root_id, '财务部', '财务部', 'APPROVAL_FINANCE',
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 = '财务部')
WHERE tenant_id = @tenant_id AND deleted = 0 AND organization_code = 'APPROVAL_FINANCE'
);
SET @venue_id := (
SELECT organization_id FROM sys_organization
SET @venue_code := (
SELECT organization_code 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 = '运营管理部')
SET @ops_code := (
SELECT organization_code FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0 AND organization_code = 'APPROVAL_OPS'
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 ('安全运保部', '运保部'))
SET @safety_code := (
SELECT organization_code FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0 AND organization_code = 'APPROVAL_SAFETY'
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 = '财务部')
SET @finance_code := (
SELECT organization_code FROM sys_organization
WHERE tenant_id = @tenant_id AND deleted = 0 AND organization_code = 'APPROVAL_FINANCE'
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
SELECT '场馆部负责人', CONCAT('dept_leader_', @venue_code), '审批种子:场馆部负责人,多人或签', 901, @tenant_id, 0
FROM DUAL
WHERE @venue_id IS NOT NULL AND NOT EXISTS (
WHERE @venue_code 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)
AND role_code = CONCAT('dept_leader_', @venue_code)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '运营管理部负责人', CONCAT('dept_leader_', @ops_id), '审批种子:运营管理部负责人,多人或签', 902, @tenant_id, 0
SELECT '运营管理部负责人', CONCAT('dept_leader_', @ops_code), '审批种子:运营管理部负责人,多人或签', 902, @tenant_id, 0
FROM DUAL
WHERE @ops_id IS NOT NULL AND NOT EXISTS (
WHERE @ops_code 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)
AND role_code = CONCAT('dept_leader_', @ops_code)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '安全运保部负责人', CONCAT('dept_leader_', @safety_id), '审批种子:安全运保部负责人,多人或签', 903, @tenant_id, 0
SELECT '安全运保部负责人', CONCAT('dept_leader_', @safety_code), '审批种子:安全运保部负责人,多人或签', 903, @tenant_id, 0
FROM DUAL
WHERE @safety_id IS NOT NULL AND NOT EXISTS (
WHERE @safety_code 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)
AND role_code = CONCAT('dept_leader_', @safety_code)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '财务部负责人', CONCAT('dept_leader_', @finance_id), '审批种子:财务部负责人,多人或签', 904, @tenant_id, 0
SELECT '财务部负责人', CONCAT('dept_leader_', @finance_code), '审批种子:财务部负责人,多人或签', 904, @tenant_id, 0
FROM DUAL
WHERE @finance_id IS NOT NULL AND NOT EXISTS (
WHERE @finance_code 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)
AND role_code = CONCAT('dept_leader_', @finance_code)
);
-- ---------------------------------------------------------------- 部门分管领导(二期使用,或签)
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '场馆部分管领导', CONCAT('dept_deputy_', @venue_id), '审批种子:场馆部分管领导,多人或签', 911, @tenant_id, 0
SELECT '场馆部分管领导', CONCAT('dept_deputy_', @venue_code), '审批种子:场馆部分管领导,多人或签', 911, @tenant_id, 0
FROM DUAL
WHERE @venue_id IS NOT NULL AND NOT EXISTS (
WHERE @venue_code 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)
AND role_code = CONCAT('dept_deputy_', @venue_code)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '运营管理部分管领导', CONCAT('dept_deputy_', @ops_id), '审批种子:运营管理部分管领导,多人或签', 912, @tenant_id, 0
SELECT '运营管理部分管领导', CONCAT('dept_deputy_', @ops_code), '审批种子:运营管理部分管领导,多人或签', 912, @tenant_id, 0
FROM DUAL
WHERE @ops_id IS NOT NULL AND NOT EXISTS (
WHERE @ops_code 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)
AND role_code = CONCAT('dept_deputy_', @ops_code)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '安全运保部分管领导', CONCAT('dept_deputy_', @safety_id), '审批种子:安全运保部分管领导,多人或签', 913, @tenant_id, 0
SELECT '安全运保部分管领导', CONCAT('dept_deputy_', @safety_code), '审批种子:安全运保部分管领导,多人或签', 913, @tenant_id, 0
FROM DUAL
WHERE @safety_id IS NOT NULL AND NOT EXISTS (
WHERE @safety_code 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)
AND role_code = CONCAT('dept_deputy_', @safety_code)
);
INSERT INTO sys_role (role_name, role_code, comments, sort_number, tenant_id, deleted)
SELECT '财务部分管领导', CONCAT('dept_deputy_', @finance_id), '审批种子:财务部分管领导,多人或签', 914, @tenant_id, 0
SELECT '财务部分管领导', CONCAT('dept_deputy_', @finance_code), '审批种子:财务部分管领导,多人或签', 914, @tenant_id, 0
FROM DUAL
WHERE @finance_id IS NOT NULL AND NOT EXISTS (
WHERE @finance_code 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)
AND role_code = CONCAT('dept_deputy_', @finance_code)
);
-- ---------------------------------------------------------------- 租户岗位(或签)