超額說明歷程(GradeOverrideLog)
每次提交有超額、不足、或主動填寫原因都會累積寫入 GradeOverrideLog(退回重送永不覆蓋)。
關鍵欄位
| 欄位 | 說明 |
|---|---|
PeriodId / VirtualDeptName | 所屬週期 + 虛擬部門 |
Unit | 組織單位(批次送出按 unit 分組;部門層級提交為 null) |
ConfirmationType | "GradeReview"(等第審核期間)/ "Settlement"(年度結算期間) |
SourceType | "ReviewerBatch" 初/複核批次|"DeptSupervisor" 部門主管提交到 HR|"HrReturn" HR 退回 |
GradeType / ExpectedCount / ActualCount | 等第快照(GradeType="" 為事件標記列) |
OverrideReason | 填寫原因 |
SubmittedBy / SubmittedAt | 提交者 + 時間(同時間+人+來源聚合為一次提交) |
填寫規則
| 情境 | 原因欄位 |
|---|---|
| 初核/複核批次送出(MyListPage) | 超額必填、非超額選填;沒填不寫 log |
| 虛擬部門主管提交到 HR(ReviewGradeDistributionPage「確認提交」) | 超額必填、非超額選填;一律寫入等第快照 |
| HR 退回(HR「退回」按鈕) | 必填;寫入 HrReturn 事件列 |
API + 權限
GET /api/review/periods/{id}/override-logs?type=GradeReview|Settlement&forRole=hr|reviewer
forRole=hr→ 只回DeptSupervisor+HrReturn(HR 不看部門內部)forRole=reviewer→ 僅回本人擔任 DesignatedReviewer(虛擬部門主管)的部門全部記錄;一般審核主管(如嚴智徑)不是虛擬部門主管則看不到- 等第分配進度(考核總覽 supQuotaData)套用相同規則:只顯示本人擔任虛擬部門主管的部門
前端呈現
- 共用元件:OverrideLogPanel.tsx — 琥珀色摺疊面板,顯示提交者/來源徽章/單位/等第徽章/時間/原因
- 整合頁面:ReviewGradeDistributionPage、SettlementStatsPage、ReviewSettlementStatsPage、ReviewDashboardPage(獨立區塊含「超額項目摘要」)