Excel 匯入規格
從 CLAUDE.md 分離。修改匯入相關功能時參考此文件。
員工名單匯入
匯入時系統自動處理:
- 清除公司名稱前後空白(
"ERA "→"ERA") 管理職/一般欄位為空 → 報錯,停止匯入並提示 HR- 員工編號重複 → 警示,詢問是否覆蓋
- 主管姓名不存在系統帳號 → 警示列表,HR 確認後再匯入
必填欄位
公司、部門、管理職/一般、員工編號、姓名、初核主管、複核主管
選填欄位
單位、職稱、初審主管、複審主管、三審主管、終審主管、員工EMAIL
其他匯入功能
| 功能 | API | 說明 |
|---|---|---|
| 假勤匯入 | POST /api/hr/periods/{id}/import-leave | Excel 匯入事假/病假時數 |
| 獎懲匯入 | POST /api/hr/projects/{id}/import-disciplinary | Excel 匯入獎懲記錄 |
| 虛擬部門匯入 | POST /api/hr/virtual-departments/import | Excel 批次匯入 |
| 104 假勤同步 | POST /api/hr/periods/{id}/sync-104-leave | 從 104 系統同步 |
| 104 獎懲同步 | POST /api/hr/projects/{id}/sync-104-disciplinary | 從 104 系統同步 |
104 HRMS 整合
- 連線方式:直接連 104 資料庫(MSSQL),連線字串存於
SystemSettings - 已實作功能:
- 同步員工到職日(
SyncHireDatesFrom104Async) - 同步員工名冊(
Sync104EmployeesAsync) - 同步假勤資料(
Sync104LeaveAsync) - 同步獎懲資料(
Sync104DisciplinaryAsync) - 產生 104 匯入用 Excel(
Gen104ExcelAsync)
- 同步員工到職日(
- 注意事項:連線字串已改存 SystemSettings,需在系統設定頁面維護
gen_import.py(104 匯入名單產出腳本)
從 104 HRMS 資料庫撈取員工資料,套用審核鏈規則後產出考核匯入 Excel。
審核鏈規則
- 管理職:審核鏈清空(R1 → R2 → 結案),不經初審~終審
- 一般職:排除副總以上(嚴智徑、余朝為、常立欣)不進審核鏈
- 單位主管替換:當初核主管不在同單位時,由單位主管取代 R1,原 R1 降為 R2
- 手動覆蓋:
_r1r2_fix.json可針對個別員工覆蓋 R1/R2
使用方式
python gen_import.py # 產出完整匯入名單
python gen_import.py --check # 僅檢查不產出
python gen_import.py --dept 節目部 # 指定部門最後更新:2026/04/19(本次無匯入規格變更;Hrms104Repository 已抽出為 Service,Excel 匯入邏輯仍在 Controller)