Skip to content

fix: 跑班 5 組以內列出老師、先調課再請假不重複列節次;發布 v1.4.16 - #81

Merged
begin0808 merged 1 commit into
mainfrom
fix/group-cells-leave-taken
Nov 10, 2026
Merged

begin0808 merged 1 commit into
mainfrom
fix/group-cells-leave-taken

Conversation

@begin0808

Copy link
Copy Markdown
Owner

需求(LINE 社群組長回報)

  1. 數學、英語分組有 4 組,班級課表只寫「國八數學分組 共 4 組」,看不到老師。
  2. 導師要外出一整天:組長先用「新增調課(未請假)」把當天的課調走,再登記請假讓系統排代導。那兩節又被列成「待處理」,怎麼處理都不對。
  3. 假單銷假後,代導那一行仍寫「請到調代課處理安排代導老師」。

跑班 5 組以內列出老師

  • v1.4.13 的門檻是 4 組以上只寫群組名稱與組數。分組教學常有 4 組,所以班級、場地課表改成 6 組以上才只寫「共 N 組」(patrol_sheets.GRID_GROUP_LIST_MIN、前端 groupCells.GROUP_LIST_MIN)。
  • 影響範圍:課表查詢、匯出(Excel、PDF、PNG)、某一週課表。
  • 巡堂表、即時概況維持 4 組(巡堂表另有分組巡堂單)。
  • 用 worker 的 WeasyPrint 實際排過 5 位三字老師名:格子折成三行,一班仍是一頁。

先調課、再請假

  • leaves.create 改成跳過已在別張有效假單或調課裡的節次(taken_slots,與「新增調課」的檢查是同一條規則,方向相反),回傳 skipped。
  • POST /leaves 的回應多了 skipped(只有登記時才有),畫面會寫「12/2 第一節、第五節已在『調課(未請假)』裡處理,不重複列入」。
  • 代導照常產生。同一天重複登記兩張假,也不會再重複列出節次。
  • 假單上「沒有課」的提示改成:「這段期間沒有要處理的課(週末、課表尚未發布,或這些課已經在別筆調課、假單裡處理)」。
  • 已知限制:之後把那筆調課銷假,那幾節不會自動補進假單。手冊已寫明,請銷假後重新登記。

銷假後的代導顯示

  • 假單上代導那一行的說明改由 coverHint 決定:
    • 銷假後:「已銷假,代導已取消」
    • 都安排好了:「都已處理」
    • 其他情況:維持原本的說明

測試

  • 後端:778 項全部通過,新增 test_leave_after_swap_v1416.py(5 項),test_exports 補 5 組、6 組的情況;ruff、mypy 無誤。
  • 前端:69 項通過,新增 leaveText.test.ts,groupCells.test.ts 改成 5 組、6 組;lint、vue-tsc 無誤。
  • e2e:用本機新映像跑全套 61 項,全部通過。

文件

  • 手冊:
    • 8.1 加「先調課、再請假」的提示。
    • 課表查詢的跑班說明改成 6 組。
  • 功能總覽:更新跑班的門檻,新增版本列。
  • 版本更新到 v1.4.16(2026-11-10):CHANGELOG、README、升級說明、roadmap、.env.example。

🤖 Generated with Claude Code

- 班級、場地課表(畫面、匯出、某一週課表)的跑班格子改為 6 組以上才只寫「共 N 組」;巡堂表維持 4
- 登記請假時跳過已在別張有效假單或「調課(未請假)」裡的節次,回傳 skipped 讓畫面說明;代導照常產生
- 假單上的代導說明:銷假後寫「已銷假,代導已取消」,都安排好寫「都已處理」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@begin0808
begin0808 merged commit 258ce92 into main Nov 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant