# 新增/修正「部門資料維護」系統功能 ## 功能說明 部門資料維護功能,支援樹狀組織架構管理。 ## 執行步驟 ### 檢查現況 先檢查 id=18 的記錄: ```sql SELECT id, code, name FROM system_functions WHERE id = 18; ``` ### 執行 SQL 執行 `add_departments_function.sql`: ```bash # 方法一: psql (Linux/Mac) PGPASSWORD=DC1qaz2wsx psql -h 10.1.0.20 -p 5433 -U admin -d hr_portal -f add_departments_function.sql # 方法二: 手動執行 SQL # 連線到資料庫後,執行 add_departments_function.sql 中的 SQL ``` 腳本會自動判斷: - 如果 id=18 存在且為 `tenant_departments`,會修正為 `departments` - 如果 id=18 不存在,會新增記錄 ### 確認結果 ```sql SELECT id, code, name, function_type, module_code, module_functions FROM system_functions WHERE code = 'departments'; ``` 應該顯示: ``` id | code | name | function_type | module_code | module_functions ---+-------------+--------------+---------------+-------------+-------------------- 18 | departments | 部門資料維護 | 2 | departments | ["View","Create","Read","Update","Delete"] ``` ## 功能配置 - **功能代碼**: departments - **功能名稱**: 部門資料維護 - **功能類型**: FUNCTION (2) - **上層功能**: 根層 (0) - 人資功能區 - **圖示**: 🏢 - **操作權限**: View, Create, Read, Update, Delete (完整 CRUD) - **功能定位**: 人資資料維護功能 (is_mana = false) ## 前後端對應 - **前端路徑**: `/departments` - **後端 API**: - GET `/api/v1/departments` - 取得部門列表 - GET `/api/v1/departments/{id}` - 取得部門詳情 - POST `/api/v1/departments` - 新增部門 - PUT `/api/v1/departments/{id}` - 更新部門 - DELETE `/api/v1/departments/{id}` - 刪除部門 - GET `/api/v1/departments/tree` - 取得樹狀結構 ## 特殊說明 部門採用樹狀結構: - **第一層** (depth=0): 可設定 email_domain - **子層** (depth>=1): 繼承上層的 email_domain - 支援多層級組織架構