ReviewerTransferService

考核進行中主管離職的交接機制:保留 ExamRecord 歷史,只換 ExamParticipant 配置欄位

兩種模式

模式 1:保留記錄換配置(一般情況)

  • ExamRecord.ReviewerName 不動(歷史記錄)
  • ExamParticipant.Reviewer* 換成新主管
  • 保留所有歷史審核軌跡

模式 2:Shift 遞補(NewReviewerName 為空)

  • 整關往前遞補
  • TotalReviewSteps -= 1
  • 適用:刪除某層審核主管

API

POST /api/hr/participants/batch-transfer-reviewers

支援 DryRun: true 預覽——不實際寫入 DB,只回傳「會影響哪些人」。

前端入口

人員管理頁批次調整主管 Dialog → 切換「保留記錄 / 清空重評」兩模式。

為什麼保留 ExamRecord

  • 主管 A 已打完 70 分 → 離職 → 換主管 B 接手
  • ExamRecord 仍記「A 在 X 日打了 70 分」(稽核軌跡)
  • ExamParticipant.Reviewer1 改成 B,B 未來的修正會記在新 ExamRecord(IsReturned=false 的後續)

相關概念

強連結(原文明確提及)

← 回到 wiki