issue #45 禮儀無憑證補發決策鏈
這頁是 source 層摘要:保留 PM / SA / issue comment 的決策鏈,並對照現行 code/test 錨點。穩定規則應再併回 申請單異動從建立到完成怎麼運作 或後續的禮儀/權狀補發 concept 頁。
最終結論
禮儀遺失補發依「有無憑證」分流:
| 情境 | 現行號碼規則 | 狀態 |
|---|
| 禮儀遺失補發,有憑證 | 原憑證-N | 已實作並驗證 |
| 禮儀遺失補發,無憑證 | 原憑證(影本N) | 已實作並驗證 |
| 塔位遺失補發 | 取全新權狀號碼 | 已實作並驗證 |
| 蓮位遺失補發 | 取全新權狀號碼 | 已實作並驗證 |
後續資料治理:有/無憑證要保留為可修改欄位,未來客戶會提供 Excel,用來匯入更新有/無憑證狀態。這一段來自 #158 comment,屬後續匯入/資料維護需求,不是 #45 的取號完成條件。
決策鏈
| 時間 | 來源 | 內容 |
|---|
| 2026-05-29 | #5 | 最早問題:禮儀補發/換發號碼格式要在 原號-N 與 (影本N) 間拍板;當時 voucherStatus UI/DTO 已存在,但號碼規則未定。 |
| 2026-05-29 | #45 body | 0528_SA 規則進入 issue:禮儀有憑證走 原憑證-N,無憑證走 原憑證(影本N);塔/蓮是否改新流水號仍待二次確認。 |
| 2026-05-29 | #45 comment | 禮儀分流先完成;塔/蓮補發是否取新流水號轉 needs-pm。 |
| 2026-06-05 | #125 | 發現手刻 GenerateNewAuthNoAsync 有 race 重號與根原號解析 bug,後續收斂到 NumberingService / CertificateReissueNumberingManager。 |
| 2026-06-30 | #45 Allen comment | Allen 補規格附錄十:塔/蓮遺失補發取新權狀號碼;禮儀有憑證 原憑證-N、無憑證 原憑證(影本N)。 |
| 2026-06-30 | #45 Allen comment | 追問是否有新增「有無憑證」欄位,因未來客戶要匯入。 |
| 2026-07-01 | #45 close comment | 現行完成端已驗證:塔/蓮取新號,禮儀依 voucherStatus 分流;Verify-Issue45-ReissueNumbering.cs 結果 11 PASS。 |
| 2026-07-03 | #158 comment | 後續資料治理拍板:先預留有/無憑證欄位,權狀修改要能改,後續由客戶 Excel 匯入更新。 |
現行 code 錨點
| 目的 | 錨點 |
|---|
| 補發取號分流總入口 | CertificateReissueNumberingManager.ApplyReissueNumbersAsync |
| 禮儀補發號委派 | NumberingService.GenerateReissueAuthNoAsync |
| 根原號解析與格式化 | ReissueAuthNoFormatter.ComputeRoot / ReissueAuthNoFormatter.Build |
建立送出時保留 voucherStatus | ApplicationCreateService,voucherStatus:has_voucher/no_voucher remark 相容格式 |
詳情處理保存 voucherStatus | ApplicationItemDetailWriter |
| 完成路徑取號 | ApplicationActionService.CompleteAsync 委派 CertificateReissueNumberingManager |
| submit 自動完成路徑取號 | ApplicationCreateService.FinalizeApplicationAsync 委派 CertificateReissueNumberingManager |
| 前端欄位 | AppCreateFormReissueLost.vue / AppCreateFormReissueDamaged.vue 的 voucherStatus radio |
驗證錨點
| 驗證 | 結論 |
|---|
memorySeatManagement-service-test/Verify-Issue45-ReissueNumbering.cs | #45 close comment 記錄 11 PASS,覆蓋塔/蓮取新號與禮儀 voucherStatus 分流。 |
| #125 comment | 取號收斂到 NumberingService 後,補上 race、根原號解析、migration 267 seed、以及 submit 自動完成漏取號盲區。 |
| 本次整理時 code search | 仍可找到 CertificateReissueNumberingManager、GenerateReissueAuthNoAsync、voucherStatus、Verify-Issue45-ReissueNumbering.cs 等錨點。 |
注意事項
- 不要只看 #5:#5 是原始問題,沒有 PM comment;真正規則在 #45 後續 comments。
- 不要只看 #45 開頭:#45 中途仍有塔/蓮
needs-pm,最後由 Allen comment 與 close comment 補完。
- 不要只 grep
voucherStatus:那只能證明欄位存在,不能說明塔/蓮為何取新號、禮儀為何保留原憑證分流。
- 不要只看 #125:#125 解的是取號實作風險;「未來客戶 Excel 匯入有/無憑證」在 #158 comment。