Excel 匯入規格

從 CLAUDE.md 分離。修改匯入相關功能時參考此文件。


員工名單匯入

匯入時系統自動處理:

  1. 清除公司名稱前後空白("ERA ""ERA"
  2. 管理職/一般 欄位為空 → 報錯,停止匯入並提示 HR
  3. 員工編號重複 → 警示,詢問是否覆蓋
  4. 主管姓名不存在系統帳號 → 警示列表,HR 確認後再匯入

必填欄位

公司、部門、管理職/一般、員工編號、姓名、初核主管、複核主管

選填欄位

單位、職稱、初審主管、複審主管、三審主管、終審主管、員工EMAIL

其他匯入功能

功能API說明
假勤匯入POST /api/hr/periods/{id}/import-leaveExcel 匯入事假/病假時數
獎懲匯入POST /api/hr/projects/{id}/import-disciplinaryExcel 匯入獎懲記錄
虛擬部門匯入POST /api/hr/virtual-departments/importExcel 批次匯入
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。

審核鏈規則

  1. 管理職:審核鏈清空(R1 → R2 → 結案),不經初審~終審
  2. 一般職:排除副總以上(嚴智徑、余朝為、常立欣)不進審核鏈
  3. 單位主管替換:當初核主管不在同單位時,由單位主管取代 R1,原 R1 降為 R2
  4. 手動覆蓋_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)