| หัวข้อและหมวดหมู่เนื้อหา | หน้า |
|---|---|
| บทที่ 1: สถาปัตยกรรมระบบ โครงสร้างฐานข้อมูล และระบบสิทธิ์ | 3 |
| 1.1 ภาพรวมและวัตถุประสงค์ของการพัฒนาโมดูลหน้าเสาธง | 3 |
| 1.2 สถาปัตยกรรมฐานข้อมูลความสัมพันธ์ (Relational Schema & Auto-Fix) | 4 |
| 1.3 ตารางการกำหนดสิทธิ์ผู้ใช้งาน (Access Control List Matrix) | 5 |
| บทที่ 2: โมดูลแดชบอร์ดสถิติและการวิเคราะห์เชิงลึก (Tab 0) | 6 |
| 2.1 กลไกการคำนวณและประมวลผลดัชนีชี้วัด (KPIs Metrics Engine) | 6 |
| 2.2 การแจกแจงนักเรียนกลุ่มเสี่ยง (At-Risk Early Warning System) | 7 |
| 2.3 ตารางสรุปภาพรวมผู้บริหาร (Executive Summary & Timeline Drill-Down) | 8 |
| บทที่ 3: ระบบบริหารจัดการกลุ่มเรียนและการมอบหมายครู (Tab 1) | 9 |
| 3.1 การจับคู่ครูที่ปรึกษาและการจัดตั้งกลุ่มเรียนรายภาคเรียน | 9 |
| 3.2 ขั้นตอนการนำเข้าข้อมูลกลุ่มเรียนด้วย CSV Bulk Import | 10 |
| บทที่ 4: ระบบบัญชีครูที่ปรึกษาและโครงสร้างสาขาวิชา (Tab 2) | 11 |
| 4.1 การสร้างบัญชีผู้ใช้งานครูที่ปรึกษาและการกำหนดรหัสผ่าน | 11 |
| 4.2 ระบบบริหารจัดการสาขาวิชา (เพิ่ม ลบ แก้ไขชื่อสาขาวิชา) | 12 |
| 4.3 กลไกการดีดครูออกจากสาขาวิชา (Unlink & Eject Functionality) | 13 |
| บทที่ 5: ฐานข้อมูลนักเรียนหน้าเสาธงและการคัดกรองข้อมูล (Tab 3) | 14 |
| 5.1 การบันทึกรายชื่อนักเรียนรายบุคคลและการจัดกลุ่ม | 14 |
| 5.2 การนำเข้าฐานข้อมูลระดับสถานศึกษาผ่าน CSV ป้องกันรหัสซ้ำ | 15 |
| 5.3 ระบบความปลอดภัยในการเคลียร์ข้อมูลรายกลุ่มและการล้างฐานข้อมูล | 16 |
| บทที่ 6: ระบบเช็คปฏิบัติหน้าที่ครูที่ปรึกษาลงแถว (Tab 4) | 17 |
| 6.1 หน้าจอการเช็คแถวแบบแยกตามสาขาวิชาและการค้นหาแบบเรียลไทม์ | 17 |
| 6.2 กลไกการบันทึกสถานะปฏิบัติหน้าที่ผ่าน AJAX Instant Sync | 18 |
| 6.3 ระบบเคลียร์ข้อมูลการเช็คชื่อครู (เคลียร์รายวัน vs เคลียร์ทั้งหมด) | 19 |
| บทที่ 7: ระบบรายงานเอกสารราชการและการนำข้อมูลออก (Export Hub) | 20 |
| 7.1 บันทึกข้อความราชการสรุปผลการเข้าแถวนักเรียน (ตามระเบียบงานสารบรรณ) | 20 |
| 7.2 บันทึกข้อความสรุปผลการปฏิบัติหน้าที่ครูที่ปรึกษาและคิดร้อยละสะสม | 21 |
| 7.3 สถาปัตยกรรมการส่งออกข้อมูลแบบแยกส่วนอิสระ (PDF / Word / CSV) | 22 |
| บทที่ 8: แนวทางแก้ไขปัญหาและบำรุงรักษาเชิงเทคนิค (Troubleshooting) | 23 |
ระบบเช็คแถวหน้าเสาธงและกำกับติดตามการปฏิบัติหน้าที่ครูที่ปรึกษา ได้รับการออกแบบขึ้นเพื่อเป็นแพลตฟอร์มสารสนเทศระดับองค์กร (Enterprise Web Application) ในการบันทึก รวบรวม ประมวลผล และรายงานผลสัมฤทธิ์กิจกรรมหน้าเสาธงของนักเรียนนักศึกษา ตลอดจนการกำกับดูแลวินัยการปฏิบัติหน้าที่ของครูที่ปรึกษาประจำกลุ่มเรียน ให้เป็นไปตามเกณฑ์มาตรฐานของสำนักงานคณะกรรมการการอาชีวศึกษา (สอศ.)
ระบบช่วยลดภาระงานเอกสารกระดาษ (Paperless Workflow) เพิ่มความโปร่งใส ป้องกันข้อผิดพลาดในการคำนวณร้อยละการเข้าแถว และมีระบบแจ้งเตือนเชิงรุก (Early Warning Dashboard) ช่วยให้ผู้บริหารสถานศึกษา หัวหน้าแผนกวิชา และครูที่ปรึกษา สามารถมองเห็นสถิตินักเรียนกลุ่มเสี่ยงที่อาจไม่ผ่านกิจกรรมเข้าแถวก่อนสิ้นภาคการศึกษาได้อย่างทันท่วงที
ระบบใช้ระบบจัดการฐานข้อมูล MySQL/MariaDB โดยมีกลไก Auto-Fix Self-Healing Schema ที่ทำงานทันทีเมื่อไฟล์ถูกโหลด หากตารางหรือฟิลด์ที่จำเป็นยังไม่ถูกสร้างในฐานข้อมูล ระบบจะสร้างขึ้นให้อัตโนมัติ ป้องกันปัญหา Database Missing หรือ Script Crash
| ชื่อตารางฐานข้อมูล | ฟิลด์สำคัญ (Columns) | บทบาทหน้าที่ในระบบ |
|---|---|---|
| users | id, username, password, fullname, department, role | จัดเก็บบัญชีผู้ใช้งานระบบ ทั้งผู้ดูแลระบบ ครู และเจ้าหน้าที่ กำหนดบทบาทสิทธิ์การเข้าถึง |
| flag_departments | id, dept_name | จัดเก็บรายชื่อสาขาวิชา/แผนกวิชาทั้งหมด ป้องกันความซ้ำซ้อนของชื่อสังกัด |
| flag_groups | id, group_name, teacher_id | จัดเก็บรหัสกลุ่มเรียน (เช่น สทด. 1/1) และเชื่อมโยงครูที่ปรึกษาผู้รับผิดชอบ |
| flag_students | id, student_code, fullname, class_group | ฐานข้อมูลนักเรียนหน้าเสาธง จัดเก็บรหัสนักศึกษา ชื่อ-นามสกุล และกลุ่มเรียน |
| flag_attendance_log | id, student_code, status, check_date, created_at | บันทึกสถิติการเช็คชื่อนักศึกษา (present, absent, late, leave) แบบ UNIQUE วันต่อคน |
| flag_teacher_duty_log | id, teacher_id, status, check_date, created_at | บันทึกการลงเวลาปฏิบัติหน้าที่ครูที่ปรึกษาลงแถวประจำวัน พร้อมตัวนับสถิติสะสม |
ระบบจำแนกผู้ใช้งานออกเป็น 4 ระดับสิทธิ์หลัก เพื่อให้การเข้าถึงข้อมูลสอดคล้องกับระเบียบว่าด้วยการรักษาความลับและความปลอดภัยของข้อมูลนักศึกษา โดยมีการตรวจสอบระดับสิทธิ์แบบ Server-Side Session Validation อย่างเข้มงวด
| สิทธิ์การใช้งาน (Role) | ขอบเขตการมองเห็น (Visibility) | สิทธิ์การดำเนินการ (Permissions) |
|---|---|---|
| Admin (ผู้ดูแลระบบ) | มองเห็นทุกแท็บ (0, 1, 2, 3, 4) และข้อมูลทุกสาขาวิชา |
✔ จัดการกลุ่มเรียน / ครู / นักเรียน ✔ เพิ่ม ลบ แก้ไขสาขาวิชา ✔ เช็คปฏิบัติหน้าที่ครู & เคลียร์ข้อมูล ✔ ออกรายงานราชการทุกประเภท |
| Staff (เจ้าหน้าที่ฝ่ายงาน) | มองเห็นแท็บแดชบอร์ด และ แท็บ 4 (เช็คครู) |
✔ กำกับติดตามการปฏิบัติหน้าที่ครู ✔ เช็คสถานะครูลงแถวรายวัน ✔ ออกรายงานสรุปการปฏิบัติหน้าที่ครู ✖ ไม่สามารถลบหรือเคลียร์ฐานข้อมูลหลัก |
| Homeroom Teacher (ครูที่ปรึกษา) | มองเห็นแท็บแดชบอร์ด กลุ่มเรียน และนักเรียนในสังกัด |
✔ เช็คชื่อนักเรียนในกลุ่มที่รับผิดชอบ ✔ ดูไทม์ไลน์และประวัตินักเรียนรายคน ✔ พิมพ์รายงานสรุปประจำกลุ่มเรียน ✖ ไม่สามารถเข้าถึงแท็บ 4 (เช็คครู) |
| Teacher (ครูผู้สอนทั่วไป) | มองเห็นแดชบอร์ดภาพรวมเพื่อการประเมินกิจกรรม |
✔ ตรวจสอบสถิตินักเรียนกลุ่มเสี่ยง ✖ ไม่สามารถแก้ไขโครงสร้างกลุ่มเรียน |
admin
เท่านั้น โดยสิทธิ์ staff เหมาะสำหรับเจ้าหน้าที่ฝ่ายพัฒนากิจกรรมนักเรียนนักศึกษาที่ต้องทำหน้าที่ตรวจเช็คครูลงแถว
แต่ไม่ต้องการให้เข้ามายุ่งเกี่ยวกับโครงสร้างบัญชีรหัสผ่านของบุคลากรท่านอื่น
หน้าจอแดชบอร์ดเชิงลึกทำหน้าที่เป็นศูนย์กลางการประมวลผลข้อมูล (Data Analytics Center) โดยประมวลผลข้อมูลการเช็คแถวแบบเรียลไทม์ แบ่งออกเป็นตัวชี้วัดหลัก 2 แถว ดังนี้:
แถวที่ 1 (Macro Infrastructure KPIs): แสดงจำนวนทรัพยากรทั้งหมดในระบบ ได้แก่ จำนวนนักเรียนทั้งหมด (คน), จำนวนครูที่ปรึกษาที่ลงทะเบียน (ท่าน) และจำนวนกลุ่มเรียนที่เปิดในภาคเรียน (กลุ่ม)
แถวที่ 2 (Daily Operational KPIs): แสดงสถิติการเช็คชื่อประจำวันที่เลือก ได้แก่ จำนวนครั้งที่มาเรียน, ขาดเรียน, มาสาย, ลา/กิจกรรม ตลอดจนจำนวนนักศึกษาที่ผ่านเกณฑ์ประเมินสะสม (≥80%) และไม่ผ่านเกณฑ์ (<80%)
ระบบ Early Warning คัดกรองรายชื่อนักเรียนที่มีพฤติกรรมขาดแถวหรือมาสายเกินกว่าเกณฑ์ปกติ โดยระบบจะจัดเข้าสู่ "ตารางนักเรียนกลุ่มเสี่ยง (At-Risk Table)" โดยอัตโนมัติ ตามเงื่อนไขทางคณิตศาสตร์สถิติ:
ขาดเรียนสะสม ≥ 2 ครั้ง หรือ มาสายสะสม ≥ 3 ครั้ง
ตารางนี้จะเรียงลำดับจากผู้ที่มีสถิติขาดเรียนมากที่สุดขึ้นก่อน เพื่อให้ครูที่ปรึกษาและฝ่ายปกครองสามารถคลิกปุ่ม "ดูประวัติ (Timeline Drill-Down)" เพื่อตรวจสอบพฤติกรรมย้อนหลังรายวัน พร้อมแสดงหลักฐานว่าขาดแถวในวันที่ใดบ้าง
| รหัสนักศึกษา | ชื่อ-นามสกุล | กลุ่มเรียน | ขาด (ครั้ง) | สาย (ครั้ง) | ไทม์ไลน์ |
|---|---|---|---|---|---|
| 66209010012 | นายอภิสิทธิ์ ใจกล้า | สทด. 1/1 | 5 | 3 | |
| 66209010045 | นายธนกฤต ศรีมงคล | สทด. 1/2 | 4 | 2 |
| 18 กันยายน 2569 | ขาดเรียน |
| 19 กันยายน 2569 | มาสาย |
| 20 กันยายน 2569 | มาเรียน |
ตารางสรุปผลรายกลุ่มเรียน (Executive Summary Table) ออกแบบมาเพื่อให้ผู้บริหารระดับสูงมองเห็นภาพรวมในระดับมหภาค โดยสรุปยอดสะสมของแต่ละกลุ่มเรียน พร้อมแถบกราฟแสดงสัดส่วน (Progress Bar) ที่แยกสีตามสถานะ เขียว (มา), แดง (ขาด), ส้ม (สาย) และ ฟ้า (ลา) ทำให้สามารถเปรียบเทียบความมีวินัยของแต่ละกลุ่มเรียนได้อย่างชัดเจน
| กลุ่มเรียน | จำนวน (คน) | สัดส่วนการเข้าแถว (มา / ขาด / สาย / ลา) | ดูรายชื่อ |
| สทด. 1/1 | 25 คน | เปิดดู | |
| สบค. 2/1 | 28 คน | เปิดดู |
ระบบแบ่งหน้าและการค้นหาทันที (Instant Search & Pagination):
ตารางข้อมูลสรุปมีสคริปต์ JavaScript ประจำหน้าจอ จัดการแบ่งหน้าแสดงผลละ 5 แถว พร้อมปุ่มเลื่อนหน้าแบบตัวเลข
ช่วยให้หน้าจอโหลดได้รวดเร็วแม้มีกลุ่มเรียนมากกว่า 100 กลุ่มในระบบ พร้อมช่องค้นหาที่กรองข้อมูลทันทีโดยไม่ต้องโหลดหน้าเว็บใหม่
กลุ่มเรียนคือหน่วยอ้างอิงหลักในการแบ่งกลุ่มนักศึกษาเพื่อการเช็คชื่อหน้าเสาธง โดยในแท็บ **1. จัดการกลุ่มเรียน** ผู้ดูแลระบบสามารถสร้างรหัสกลุ่มเรียนใหม่ และมอบหมายครูที่ปรึกษาผู้รับผิดชอบได้อย่างเป็นอิสระ
| กลุ่มเรียน | ครูที่ปรึกษา | จัดการ |
|---|---|---|
| สทด. 1/1 | นายสมชาย ใจดี |
กรณีที่มีกลุ่มเรียนจำนวนมากในช่วงเปิดภาคการศึกษาใหม่ การพิมพ์สร้างทีละกลุ่มอาจใช้เวลานาน ระบบจึงจัดเตรียมโมดูล "นำเข้ากลุ่มเรียนผ่าน CSV" ซึ่งรองรับการอัปโหลดไฟล์ตารางข้อมูลครั้งเดียวทั้งสถานศึกษา
| โครงสร้างฟิลด์ใน CSV | ตัวอย่างข้อมูล (Sample Data) | ข้อกำหนดทางเทคนิค |
|---|---|---|
| คอลัมน์ที่ 1 (Header: รหัสกลุ่มเรียน) | สทด. 1/1 สบค. 2/1 ชย. 1/2 |
รูปแบบตัวอักษร UTF-8 มีหรือไม่มีช่องว่างก็ได้ ห้ามเว้นว่าง |
sample_groups.csv// ตัวอย่างโครงสร้างไฟล์ sample_groups.csv รหัสกลุ่มเรียน สทด. 1/1 สทด. 1/2 สบค. 1/1 ชย. 1/1 ชฟ. 1/1
flag_groups ถูกกำหนดฟิลด์ group_name ให้เป็น UNIQUE KEY
หากมีการนำเข้าชื่อกลุ่มเรียนที่ตรงกับกลุ่มเดิมในระบบ ระบบจะอัปเดตข้อมูลเดิมโดยอัตโนมัติ
โดยไม่ทำให้เกิดกลุ่มเรียนซ้ำซ้อนในฐานข้อมูล
การกำกับดูแลการปฏิบัติหน้าที่อย่างถูกต้องจำเป็นต้องมีการลงทะเบียนบัญชีครูที่ปรึกษาเข้าสู่ระบบอย่างเป็นทางการ ในแท็บ **2. บัญชีครูที่ปรึกษา** ผู้ดูแลระบบสามารถสร้างบัญชีรายบุคคล กำหนดชื่อผู้ใช้ (Username) รหัสผ่าน (Password) ชื่อ-สกุลจริง และสังกัดสาขาวิชา
มาตรฐานความปลอดภัยด้านรหัสผ่าน (Cryptographic Hashing):
ระบบเข้ารหัสผ่านของครูด้วยฟังก์ชัน password_hash($password, PASSWORD_DEFAULT)
โดยใช้อัลกอริทึม Bcrypt ที่มีความปลอดภัยสูง แม้ฐานข้อมูลจะถูกสำรองออกไป ผู้ไม่ประสงค์ดีจะไม่สามารถอ่านรหัสผ่านจริงได้
สาขาวิชาเป็นโครงสร้างสำคัญที่ใช้แบ่งกลุ่มครูในการกำกับติดตามการลงแถวหน้าเสาธง โดยระบบมีโมดูลปุ่ม "จัดการสาขาวิชา" สีเขียว อยู่ด้านขวาบนของแท็บ 2 สำหรับบริหารจัดการรายชื่อสาขาวิชาในสถานศึกษาได้อย่างยืดหยุ่น
flag_departments และปรับชื่อสาขาในตาราง users ของครูที่สังกัดสาขานั้นให้เป็นชื่อใหม่พร้อมกันทันทียังไม่ระบุ เพื่อความปลอดภัยกรณีที่พบรายชื่อครูซ้ำซ้อนกันในสาขาวิชา หรือครูถูกย้ายแผนกวิชาผิดพลาด ผู้ดูแลระบบสามารถใช้ฟังก์ชัน "ดีดออก (Eject)" เพื่อปลดครูออกจากสาขาวิชานั้นได้ทันที โดยไม่ต้องลบบัญชีผู้ใช้งานหรือรีเซ็ตรหัสผ่านใหม่
| Username | ชื่อ-นามสกุล | สาขาวิชาที่สังกัด | จัดการ |
|---|---|---|---|
| homeroom_02 | นายอำนวย แก้วเกิด | สาขาวิชาเทคนิคพื้นฐาน ดีดออก |
remove_teacher_dept โดยทำการรันคำสั่ง SQL:UPDATE users SET department = '' WHERE id = ?ส่งผลให้ครูท่านนั้นถูกปลดออกจากกลุ่มสาขาวิชาเดิม และถูกย้ายไปแสดงผลในกลุ่ม "ไม่ระบุสาขาวิชา" ในแท็บ 4 โดยอัตโนมัติ เพื่อให้ผู้ดูแลระบบสามารถกำหนดสาขาใหม่ที่ถูกต้องได้ต่อไป
ตารางฐานข้อมูลนักเรียนในระบบหน้าเสาธง (flag_students) ถูกออกแบบให้ทำงานแยกเป็นอิสระ
เพื่อความสะดวกในการจัดการข้อมูลนักศึกษาที่เข้าแถว โดยไม่ส่งผลกระทบต่อบัญชีนักศึกษาในระบบลงทะเบียนเรียนหลัก
ผู้ดูแลระบบสามารถเพิ่มรายชื่อนักเรียนรายคนได้จากฟอร์มด้านซ้ายของแท็บ 3
| รหัส | ชื่อ-สกุล | กลุ่ม | จัดการ |
|---|---|---|---|
| 66209010001 | นายเอกชัย ใจสู้ | สทด. 1/1 |
การนำเข้าข้อมูลนักเรียนทั้งสถานศึกษา (1,000 - 3,000 คน) ดำเนินการผ่านไฟล์ CSV ได้อย่างรวดเร็ว โดยระบบมีสถาปัตยกรรม Upsert Engine (ON DUPLICATE KEY UPDATE) ที่ตรวจจับรหัสนักศึกษา หากรหัสมีอยู่แล้วจะทำการอัปเดตชื่อและกลุ่มเรียนให้อัตโนมัติ โดยไม่เกิดข้อผิดพลาดฐานข้อมูลล่ม
| คอลัมน์ใน CSV | ตัวอย่างข้อมูล | คำอธิบายและเงื่อนไข |
|---|---|---|
| คอลัมน์ที่ 1 | 66209010001 | รหัสนักศึกษา (Student Code) กำหนดเป็น UNIQUE KEY ห้ามซ้ำ |
| คอลัมน์ที่ 2 | นายอภิสิทธิ์ ใจกล้า | ชื่อและนามสกุลจริงของนักเรียนนักศึกษา พร้อมคำนำหน้า |
| คอลัมน์ที่ 3 | สทด. 1/1 | รหัสกลุ่มเรียนที่นักเรียนสังกัดอยู่ |
// คำสั่ง SQL ที่ทำงานเบื้องหลังการนำเข้า CSV
INSERT INTO flag_students (student_code, fullname, class_group)
VALUES (?, ?, ?)
ON DUPLICATE KEY UPDATE
fullname = VALUES(fullname),
class_group = VALUES(class_group);
เมื่อสิ้นสุดปีการศึกษาหรือมีการปรับปรุงข้อมูลครั้งใหญ่ ระบบมีโมดูลสำหรับการเคลียร์ข้อมูล 2 ระดับ พร้อมระบบกล่องข้อความยืนยัน 2 ชั้น (Two-Tier Confirmation Dialog) เพื่อป้องกันความผิดพลาดจากการกดปุ่มโดยไม่ตั้งใจ:
| รูปแบบการล้างข้อมูล | คำสั่งที่ทำงาน (Action) | ผลกระทบต่อข้อมูล |
|---|---|---|
| เคลียร์รายกลุ่ม (Selective Clear) |
DELETE FROM flag_students WHERE class_group = ? |
ลบเฉพาะรายชื่อนักเรียนในกลุ่มที่ระบุ กลุ่มเรียนและประวัติการเช็คชื่อยังคงอยู่ |
| เคลียร์ทั้งหมด (Truncate Database) |
TRUNCATE TABLE flag_students |
ล้างรายชื่อนักเรียนทุกคนในสถานศึกษา รีเซ็ตค่าดัชนี Auto Increment ใหม่ทั้งหมด |
แท็บ **4. เช็คปฏิบัติหน้าที่ครู** คือโมดูลสำคัญที่เปิดสิทธิ์ให้ทั้ง admin และ staff
สามารถกำกับดูแลการปฏิบัติหน้าที่ลงแถวของครูที่ปรึกษาประจำวัน โดยระบบจะจัดกลุ่มครูแยกตาม "สาขาวิชา"
อย่างชัดเจน ทำให้ผู้ตรวจแถวสามารถตรวจเช็คครูตามจุดรวมพลของแต่ละแผนกวิชาได้อย่างสะดวก รวดเร็ว
การบันทึกสถานะของครูแต่ละท่าน (มา, ขาด, สาย, ลา) ขับเคลื่อนด้วยสถาปัตยกรรม **AJAX Asynchronous Request** เมื่อผู้ตรวจคลิกเลือกปุ่มสถานะ ระบบจะส่งข้อมูลไปยังเซิร์ฟเวอร์ในเบื้องหลังทันที และตอบสนองกลับมาในเวลาไม่เกิน 0.2 วินาที พร้อมเอฟเฟกต์สีเขียวอ่อนกระพริบ (Visual Flash Feedback) ที่ตัวการ์ด เพื่อยืนยันว่าข้อมูลถูกบันทึกลงฐานข้อมูลเรียบร้อยแล้ว
// โค้ด JavaScript เบื้องหลังการทำงานของระบบบันทึกแบบ AJAX
function saveTeacherDuty(teacherId, status) {
let formData = new FormData();
formData.append('action', 'save_teacher_duty');
formData.append('teacher_id', teacherId);
formData.append('status', status);
formData.append('check_date', checkDate);
fetch('', { method: 'POST', body: formData })
.then(res => res.json())
.then(data => {
if(data.status === 'success') {
let card = document.getElementById('teacher_card_' + teacherId);
card.style.backgroundColor = '#f1f8e9'; // แสดงไฟเขียวตอบรับ
setTimeout(() => { card.style.backgroundColor = '#fff'; }, 400);
}
});
}
| สถานะที่บันทึก | ค่าในฐานข้อมูล (ENUM) | คำอธิบายความหมายในระเบียบสถานศึกษา |
|---|---|---|
| มา | 'present' |
ครูมาปฏิบัติหน้าที่กำกับดูแลนักเรียนเข้าแถวหน้าเสาธงตามเวลาที่กำหนด |
| ขาด | 'absent' |
ครูไม่มาปฏิบัติหน้าที่ลงแถวโดยไม่ได้ยื่นใบลาตามระเบียบ |
| สาย | 'late' |
ครูมารายงานตัวหรือลงแถวภายหลังจากเวลาเคารพธงชาติเริ่มต้น |
| ลา | 'leave' |
ครูติดราชการ, ลาป่วย, ลากิจ หรือไปปฏิบัติงานภายนอกสถานศึกษา |
เพื่อความสะดวกในการบริหารจัดการข้อมูลการลงเวลาปฏิบัติหน้าที่ของครู ระบบได้จัดเตรียมปุ่มเคลียร์ข้อมูลไว้ 2 ระดับ ติดตั้งอยู่บริเวณมุมขวาบนของแท็บ 4 ถัดจากปุ่มรายงานปฏิบัติหน้าที่ครู:
| ปุ่มคำสั่ง | คำสั่งระบบฐานข้อมูล | การนำไปใช้งานที่เหมาะสม |
|---|---|---|
| เคลียร์รายวัน (Daily Clear) |
DELETE FROM flag_teacher_duty_log WHERE check_date = ? |
ใช้เมื่อมีการเช็คชื่อผิดพลาดในวันดังกล่าว และต้องการเริ่มต้นตรวจนับแถวครูใหม่ในวันปัจจุบัน |
| เคลียร์ทั้งหมด (Truncate All) |
TRUNCATE TABLE flag_teacher_duty_log |
ใช้เมื่อสิ้นสุดปีการศึกษาและต้องการล้างประวัติสะสมทั้งหมดเพื่อเริ่มต้นภาคเรียนใหม่ |
ระบบมีเทมเพลตเอกสาร **บันทึกข้อความราชการ** ในตัว จัดหน้าและรูปแบบตามระเบียบสำนักนายกรัฐมนตรีว่าด้วยงานสารบรรณ พร้อมตราครุฑทางการขนาดมาตรฐาน การแบ่งส่วนราชการ ที่หนังสือ วันที่ และเนื้อความสรุปยอดนักเรียนทั้งหมด ยอดมา ขาด สาย ลา และยอดผู้ผ่าน/ไม่ผ่านเกณฑ์ เพื่อนำเสนอต่อผู้อำนวยการวิทยาลัยเทคนิคอำนาจเจริญ
ตามที่ข้าพเจ้า นายสุภัตต์ วัตรสาร ผู้ดูแลระบบจัดการหน้าเสาธง ขอรายงานสถิติการเข้าแถวประจำวันที่ ๒๐ กันยายน ๒๕๖๙ มีนักเรียนทั้งหมด ๑,๒๔๘ คน มาเรียน ๑,๑๒๐ ครั้ง ขาดเรียน ๔๘ ครั้ง มาสาย ๕๒ ครั้ง ลา ๒๘ ครั้ง...
เมื่อคลิกปุ่ม "รายงานปฏิบัติหน้าที่ครู" ในแท็บ 4 ระบบจะเปิดหน้าต่างรายงานสรุปเฉพาะของครูขึ้นมา โดยระบบจะประมวลผลข้อมูลเชิงลึกเฉพาะตัวของครูแต่ละท่าน ประกอบด้วย สถิติมา ขาด สาย ลา รวมจำนวนครั้งที่บันทึก และคำนวณ "ร้อยละผลการปฏิบัติหน้าที่สะสม" พร้อมระบุผลการประเมินว่า "ผ่านเกณฑ์" (≥80%) หรือ "ต้องปรับปรุง" (<80%)
| ลำดับ | ชื่อ-นามสกุลครู | สาขาวิชา | มา | ขาด | สาย | ลา | ร้อยละ (%) |
|---|---|---|---|---|---|---|---|
| 1 | นางนงนุช เพชรดี | สาขาวิชาการบัญชี | 18 | 0 | 2 | 0 | 100.00% |
| 2 | นายสมชาย ใจดี | สาขาวิชาช่างยนต์ | 14 | 4 | 1 | 1 | 78.95% |
ระบบได้รับการปรับปรุงสถาปัตยกรรมการพิมพ์และส่งออกข้อมูลใหม่ โดยแยกกลไกการออกรายงานนักเรียน และรายงานครูที่ปรึกษาออกจากกันอย่างเด็ดขาด ป้องกันไม่ให้ข้อมูลของนักเรียนและครูปะปนกันในไฟล์เดียว:
| ช่องทางส่งออก | เทคโนโลยีที่ใช้งาน | ประโยชน์และผลลัพธ์ |
|---|---|---|
| โหลด PDF | ไลบรารี html2pdf.js (Client-Side Rendering) |
ได้ไฟล์ PDF จัดหน้า A4 คมชัดพร้อมตราครุฑ ไม่เพี้ยน สามารถนำไปเสนอเซ็นแฟ้มได้ทันที |
| โหลด Word | MIME Type: application/msword (Blob Encoding) |
ได้ไฟล์ .doc ที่สามารถเปิดแก้ไขข้อความ เพิ่มเติมหมายเหตุ หรือบันทึกข้อสั่งการได้ |
| โหลด CSV | UTF-8 with BOM (\uFEFF) |
นำข้อมูลสถิติเข้าโปรแกรม Excel ได้ทันที ภาษาไทยไม่เป็นภาษาต่างดาว เพื่อนำไปทำแผนภูมิ |
| พิมพ์เอกสาร | CSS @media print + Class Switching |
สั่งพิมพ์ออกเครื่องพิมพ์กระดาษโดยตรง ไม่ติดพื้นหลังแถบเมนูหรือปุ่มควบคุม |
| ปัญหาที่พบ (Issue) | สาเหตุหลัก (Root Cause) | วิธีแก้ไข (Solution) |
|---|---|---|
| นำเข้าไฟล์ CSV แล้วภาษาไทยเป็นภาษาต่างดาว | ไฟล์ CSV บันทึกด้วยรหัส ANSI หรือ TIS-620 ไม่ใช่ UTF-8 | เปิดไฟล์ด้วย Notepad แล้วเลือก Save As > Encoding: UTF-8 with BOM ก่อนอัปโหลดใหม่ |
| กดพิมพ์เอกสารแล้วมีหน้าว่างเปล่าออกมา | สไตล์พิมพ์ถูกซ่อน หรือยังไม่ได้โหลด Font Sarabun สมบูรณ์ | ใช้เบราว์เซอร์ Google Chrome หรือ Microsoft Edge เวอร์ชันล่าสุดในการสั่งพิมพ์ |
| ครูที่ปรึกษาไม่แสดงในแท็บ 4 | ครูยังไม่ได้ถูกสร้างบัญชี หรือยังไม่ได้ระบุสาขาวิชา | ตรวจสอบที่แท็บ 2 ว่าครูมีชื่ออยู่ในระบบหรือไม่ และกดปุ่มย้ายสาขาเพื่อระบุสาขาวิชาให้ถูกต้อง |
| ปุ่มเช็คชื่อครูกดแล้วไม่ขึ้นสีเขียว | เซสชัน (Session) หมดอายุ หรือขาดการเชื่อมต่ออินเทอร์เน็ต | ทำการรีเฟรชหน้าจอ (F5) และเข้าสู่ระบบใหม่ด้วยบัญชี admin หรือ staff |
ผู้ดูแลระบบควรสำรองข้อมูลฐานข้อมูล MySQL เป็นประจำทุกสัปดาห์ หรือก่อนการกดปุ่มเคลียร์ข้อมูล โดยสามารถใช้คำสั่งผ่าน Terminal บนเซิร์ฟเวอร์ Ubuntu:
# คำสั่งสำรองฐานข้อมูลระบบหน้าเสาธง mysqldump -u root -p database_name flag_groups flag_students \ flag_attendance_log flag_teacher_duty_log flag_departments > backup_flag_system.sql