考核表單對應規則
依「部門 × 職別」決定使用哪一份考核表(4 種)。
規則矩陣
string formType = (department == "業務部", jobLevel) switch
{
(true, "管理職") => "BizManager",
(true, "一般職") => "BizGeneral",
(false, "管理職") => "GenManager",
(false, "一般職") => "GenGeneral",
};| 部門 | 職別 | formType |
|---|---|---|
| 業務部 | 管理職 | BizManager |
| 業務部 | 一般職 | BizGeneral |
| 非業務部 | 管理職 | GenManager |
| 非業務部 | 一般職 | GenGeneral |
評分選項(固定 10 個)
0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0
強制修正分數 / 調整分數
0.5 單位四捨五入(前端 onBlur 自動 round)
例:75.3333 → 75.5
詳見 分數精度。
年中假勤顯示
年終考核表單中,所有角色(含初核)都能看到年中的假勤數據(事假/病假時數)——假勤是參考資訊非機密。
但年中分數(D 分、C 分)僅複核以上可見。
列表分數顯示(即時重算)
/review/my-list 的 latestScoreMap:
| 步驟 | 計算方式 |
|---|---|
| Step 1 / 2(初核/複核) | ScoreC + 當前事假 × -0.125 即時重算(避免 ScoreD 快照過時) |
| Step 3+(審核) | 直接取 E~I |
草稿估算只套用自己
draftEstMap 只在 isMyTurn && 我有草稿 時才覆蓋顯示——避免下游審核主管看到上游複核 WIP 的估算分數。
列表頁分數顯示規則
- 考核已完成(Status == “Completed”):永遠用
FinalScore/FinalGrade - 考核進行中:初核看自己的 ScoreA;其他主管看最新提交分數
isReviewer1WithScoreA必須排除Status == "Completed",否則等第調整後列表不更新
相關概念
強連結(原文明確提及)
← 回到 wiki