課堂刷卡紀錄

對應程式: one_day.php

02-課堂刷卡紀錄

業務功能

依指定班別與日期查詢該班全體學員的單日刷卡紀錄,顯示每位學員的上課/下課刷卡時間、是否為補刷、是否為遠端上課,並統計出席人數與線上/現場出席人數。

頁面操作

  • 班級關鍵字:文字輸入框,支援自動完成(autocomplete),輸入關鍵字模糊搜尋班別(如「北經三」「技二南」)
  • 當日日期:日期輸入框,使用 jQuery UI Datepicker,格式為 YYYY-MM-DD
  • 查 全刷卡紀錄:按鈕,送出 AJAX GET 請求至 ajax_one_day.php,取回結果後渲染表格
  • 查詢結果表格
    • 欄位:卡號、學號、姓名、上課刷卡、補刷、遠端、下課刷卡、補刷、遠端
    • 上方顯示班級人數、出席人數(現場 + 線上分開計算)

處理邏輯

  1. 頁面載入時 require inc.php,取得權限與共用函式
  2. 從 GET 參數接收 searchkind(班級關鍵字)與 date_prefix(日期)
  3. 按鈕點擊後,透過 SearchKindModule 觸發 change 事件將關鍵字轉為 kind_id
  4. AJAX GET ajax_one_day.php?kind={kind_id}&date_prefix={date} 取得 JSON 資料
  5. 回傳的 rows 陣列逐列寫入 <tbody>,同時統計出席人數
  6. 若班級關鍵字和日期都有值,頁面載入即自動查詢

備註

  • 班級名稱對應 kind_id 的映射由 SearchKindModule 在前端處理
  • 查詢結果的補刷判斷為 reason 欄位含 supplement.php
  • 遠端上課判斷條件為 room_name == "遠端上課"

使用的 Functions

Function定義於
display_autocomplete_searchkind_input($part, $conf)dashboard/inc.php
now($format)wp-config.php
is_user_logged_in()WordPress core

使用的常數

Constant定義於
PAGE_ACCESS_CONFIG_VALUE_FOR_ALL_STAFF"ALL_STAFF"enter_logs/inc.php