本卡屬 FR-143,第 4 棒:延伸 FR-141/142 的 workbook 讀寫。BE 部分依賴第 1 棒,FE 預覽模式依賴第 3 棒。

這一棒在做什麼(白話)

匯出一份 Excel:「改善計畫」頁只列判不符合的評估目標,一列一個任務;左邊稽核計畫欄和稽核結果欄原樣保留灰底唯讀、同一條評估目標合併儲存格、計畫欄預設收合;右邊每列填執行人員(多人分號分隔,預設原指派人)、到期日、改善措施。PM 填完匯回,先看預覽(哪些會改、哪些對不上),確認後才寫入。範例檔與產生腳本在雛形 prototype/sample/,照它的版面做。

在哪裡

app/flow_control/service/ap_workbook_*.py、ar_workbook_*.py   FR-141/142 的 workbook 讀寫與 diff(先看 ar_workbook 怎麼延伸 ap_workbook)
docs/features/FR-143-2610-poam-ao-worksheet-and-excel/prototype/sample/make_sample_xlsx.py   版面契約(合併、群組、凍結、驗證、隱藏欄)
design.md「Excel 契約」節   欄位定義 A~W
FE:第 3 棒 RoundPoamPlanView 的預覽模式(雛形 import-preview.html)

怎麼修

先查再寫:workbook 讀寫、diff、parse 暫存、檔名比對全在 ap_workbook_*/ar_workbook_*,延伸不重寫;合併儲存格讀法 openpyxl ws.merged_cells.ranges。

要寫測試

手測

連帶

紀律