本卡屬 FR-088(母卡見 FR-088 母案),第 2 棒 H1:稽核階段推進/回退/階段歷程,含推進時觸發的業務 handler 與前置條件檢查(BE repo)。只掃不修

這一棒在做什麼(白話)

每個稽核專案的每一輪都有「目前在哪個階段」的橫幅,管理者或該階段的負責角色按「推進」就進下一階段(並觸發像「啟動稽核」「結案」這種業務動作),管理者也能按「返回上一階段」。這一棒掃的是這兩個按鈕背後的 21 檔:誰能按、按了系統核對了什麼、有沒有辦法按到別人專案的按鈕。只找問題、不修問題。

為什麼切這一塊

推進與回退是改變稽核狀態的最高權限操作(啟動稽核、結案、退回規劃期)。首腦讀碼發現它的權限判定用了兩個編號(專案 uid、輪次 uid),兩個編號各查各的、從不核對彼此;另有一個旗標在請求裡存在兩個版本。這兩個疑點若成立,一個是跨專案操作、一個是跳過檢查啟動稽核。

重點看什麼

行號已開檔核對,是思考起點不是檢查清單:

已知背景(只是參照)