本日出席狀況(請於下課前確認)

對應程式: how_about_today.php

15-本日出席狀況(請於下課前確認)

業務功能

即時查看特定日期(預設當日)各班學生的出席狀況,包含線上出席、現場出席、請假單等資訊,並可直接在此頁面為學生遠端打卡。

頁面操作

查看出席

  1. 選擇日期:預設顯示當天,可透過日期選擇器切換日期。
  2. 出席摘要:頁面上方摘要表格按班別統計應到、實到、現場、線上人數。
  3. 詳細出席表:逐位學生列出學號、姓名、遠端打卡時間、現場打卡時間、假單編號、是否出席異常。
    • 「線上」+「實體」+「請假」任兩項同時存在時,標記為「異常」。
    • 未出席的學生列以灰底顯示。

遠端打卡

  1. 勾選需要打卡的學生(checkbox)。
  2. 選擇打卡時間(時、分)、上課/下課、現場/遠端。
  3. 點擊「線上打卡」送出,為勾選的學生批次匯入打卡紀錄。

處理邏輯

  • 使用複合 SQL 查詢:
    • 主查詢以 enter_cards LEFT JOIN class_dates(以 classprefix 關聯),再 LEFT JOIN 當日的 enter_logs,按 school_no 分組。
    • GROUP_CONCAT 分離遠端與現場打卡時間。
    • 再 LEFT JOIN holiday_logs(請假紀錄)取得假單資訊。
  • 只顯示在 class_dates 中設定有當日應上課的班級學生。
  • 遠端打卡的邏輯與 import_student_clockinout.php 類似:驗證同一班、查卡片資料、逐筆插入 logs。
  • 前端以 JavaScript 掃描表格計算各班的出席摘要統計。

備註

  • 導覽列中此頁標示為「測試」(紅色小字),但功能已可正常運作。
  • 日期格式驗證:必須為 YYYY-MM-DD 格式。
  • 遠端打卡每次限同一班(學號前五碼相同)的學生。
  • 此頁面整合了查看與打卡兩個功能,是日常確認出席最方便的工具。

使用的 Functions

Function定義於
get_datetime_weekday($date)wp-config.php
$wpdb->get_results()WordPress core(查詢 enter_cards 及 class_dates 等表)
$wpdb->insert()WordPress core(遠端打卡寫入 enter_logs)