issue 268 作廢申請單時管理費回收範圍決策鏈

這頁保留「已完成申請單作廢時,管理費該怎麼還原/回收」的 source。它也是補發換號、換裝跟號、管理費退費互相交會的頁。

最終結論

作廢已完成申請單時,只能回收或還原「本次申請單造成的管理費變動」。不能因為權狀底下有有效管理費,就批次刪掉與本次異動無關的既有管理費。

PM 對 #268 五種情境的方向:

情境方向
Q1/Q2 與本次異動無關的管理費不移動、不刪除
Q3 本次退費造成的 management fee row作廢時恢復退費前狀態
Q4 後面已有更新申請單擋作廢或要求先處理較新的申請
Q5 找不到 materialization trace不猜測回復,走硬阻擋/人工處理

決策鏈

來源內容
#51早期決議 B:作廢時需連動退費/管理費。
#205狀態機統整,作廢/還原需分清資料狀態、資產狀態、副作用。
#266發現作廢某些完成單時,誤刪與本次異動無關的既有有效管理費。
#268PM 拍板五種管理費作廢情境,形成現行規則。

現行 code 錨點

目的錨點
整單作廢入口ApplicationActionService.CancelAsync
權狀/管理費作廢處理ApplicationActionService.VoidCertificateItemsAsync
管理費軟刪DeleteManagementFeeDetailAsync
預繳列還原/搬移ApplyPrepayRowFieldsAsync
規格變更作廢回復RollbackSpecChangeOnVoidAsync

驗證錨點

驗證結論
Verify-Issue266-VoidDoesNotRefundUnrelatedFees.cs作廢不應刪除不相關既有管理費。
Verify-Issue268-Q4-LaterAppOrderGuard.cs後面已有更新申請單時,作廢順序要被守住。
Verify-Issue268-*覆蓋退費回復、管理費搬移、無 trace 阻擋等情境。

注意事項

  • 這頁回答「作廢時管理費怎麼處理」,不是「管理費定價怎麼算」。
  • 補發換號、換裝跟號後再作廢,都要回到「只處理本次申請造成的變動」。
  • 沒有 materialization trace 時不要用推測資料自動回復。