-- 新增「部門資料維護」系統功能
-- 日期: 2026-02-23

-- 1. 先查看現有記錄
SELECT id, code, name, function_type, upper_function_id, "order", is_mana
FROM system_functions
WHERE code IN ('departments', 'tenant_departments')
ORDER BY id;

-- 2. 檢查 id=18 是否為部門功能
SELECT id, code, name FROM system_functions WHERE id = 18;

-- 3. 如果 id=18 是 tenant_departments,修正為 departments
-- 如果 id=18 不存在,則新增記錄

-- 方案A: 如果 id=18 已存在,修正它
UPDATE system_functions
SET
    code = 'departments',
    name = '部門資料維護',
    module_code = 'departments',
    module_functions = '["View", "Create", "Read", "Update", "Delete"]'::jsonb,
    description = '管理組織架構與部門資料,支援樹狀結構與郵件網域設定',
    function_icon = '🏢',
    is_mana = false,
    is_active = true,
    edit_by = 1
WHERE id = 18 AND code = 'tenant_departments';

-- 方案B: 如果 id=18 不存在,新增記錄
INSERT INTO system_functions (
    code,
    name,
    function_type,
    upper_function_id,
    "order",
    function_icon,
    module_code,
    module_functions,
    description,
    is_mana,
    is_active,
    edit_by
)
SELECT
    'departments',
    '部門資料維護',
    2,  -- FUNCTION
    0,  -- 根層
    30,
    '🏢',
    'departments',
    '["View", "Create", "Read", "Update", "Delete"]'::jsonb,
    '管理組織架構與部門資料,支援樹狀結構與郵件網域設定',
    false,  -- 人資功能,非系統管理
    true,
    1
WHERE NOT EXISTS (
    SELECT 1 FROM system_functions WHERE id = 18
);

-- 4. 確認結果
SELECT id, code, name, function_type, upper_function_id, "order", module_functions, is_mana
FROM system_functions
WHERE code = 'departments';
