功能:出席率統計改以 attendance 表(TG 報名名單)為資料來源
摘要:
- 出席統計改讀 attendance 表(每天每人一列),依 poll_date 分組後餵給原本的統計函式
- 新增 DB_ATTENDANCE_TABLE 環境變數,預設 attendance;沒有此表時退回 badminton 分組名單
- 前端說明文字與 README 更新來源說明
根本原因:
- 原本用 badminton 表的每日分組名單,只有名單存進 DB 的日子才有資料,
當天報名還沒存名單就統計不到,名字寫法也要靠別名表修補
影響:
- 統計天數 121 → 126 天,含當天報名尚未分組的場次
- 名字寫法在 attendance 表已統一,別名合併(卡森→景涵 等)仍生效
修法:
- server.mjs 新增 loadAttendanceDays(),buildAttendanceStats() 改吃 [{ time, names }]
- .env.example / docker-compose.yml / README 補上 DB_ATTENDANCE_TABLE
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -36,7 +36,8 @@
|
||||
- 每筆資料可刪除,刪除前會顯示確認提示。
|
||||
- 出席率統計
|
||||
- 歷史戰績頁的 `出席率統計` 按鈕會彈窗顯示每個人的出席狀況。
|
||||
- 資料取自 `badminton` 表的每日分組名單,不是 `history` 表,所以有到場但沒被記分的場次也算出席。
|
||||
- 資料取自 `attendance` 表(TG 報名 bot 每天每人一列),不是 `history` 表,所以有報名到場但沒被記分的場次也算出席;當天名單還沒存進 `badminton` 表也已經算得到。
|
||||
- 若 DB 沒有 `attendance` 表,會退回用 `badminton` 表的每日分組名單統計。表名可用 `DB_ATTENDANCE_TABLE` 覆寫。
|
||||
- 同時顯示兩種出席率:
|
||||
- `全期`:以資料庫全部場次為分母。
|
||||
- `加入後`:從各自第一次出席那天算起,新加入的人不會被稀釋。
|
||||
@@ -105,6 +106,7 @@ DB_PASSWORD=your_password
|
||||
DB_DATABASE=badminton
|
||||
DB_TABLE=badminton
|
||||
DB_HISTORY_TABLE=history
|
||||
DB_ATTENDANCE_TABLE=attendance
|
||||
PORT=8788
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user