เกณฑ์ตัดเกรด
เกณฑ์ตัดเกรด (Grade Scale) คือ ตารางแปลง % เป็นตัวอักษร (A/B+/.../F) และ GPA — ห้องเรียนแต่ละห้องมีเกณฑ์ของตัวเอง ไม่ต้องผูกกับโรงเรียน ระบบ seed เกณฑ์มาตรฐานไทย 8 ขั้น ให้ตอนสร้างห้อง — บทนี้พาเข้าใจวิธีปรับ และผลที่ตามมาในหน้าสรุปคะแนน
หน้าแก้เกณฑ์ตัดเกรด
GradeScaleEditor: ตารางแถวละ 3 input (min %, GPA, letter) + ปุ่มเพิ่มแถว/บันทึก
หน้าตาเริ่มต้น — เกณฑ์มาตรฐานไทย 8 ขั้น
เปิดหน้าจะเห็นตาราง 8 แถว (เรียงจากเกรดสูงสุดลงไป) ที่ระบบ seed ให้ตอนสร้างห้อง:
| คะแนน ≥ (%) | เกรด | GPA |
|---|---|---|
| 80 | A | 4.0 |
| 75 | B+ | 3.5 |
| 70 | B | 3.0 |
| 65 | C+ | 2.5 |
| 60 | C | 2.0 |
| 55 | D+ | 1.5 |
| 50 | D | 1.0 |
| 0 | F | 0.0 |
โครงสร้างของแถวเดียว
แต่ละแถวมี 3 input:
- min % — คะแนน % ขั้นต่ำที่ได้เกรดนี้ (0-100)
- GPA — เกรดเฉลี่ย (0.0-4.0 ปกติ, ไม่จำกัด)
- letter — ตัวอักษรที่จะปรากฏในรายงาน เช่น "A", "B+"
มีปุ่ม ลบแถว ขวาสุด (ถ้าเหลือ >1 แถว — ต้องมีอย่างน้อย 1 แถวเสมอ)
แก้ไขเกณฑ์ — ลด/เพิ่มเกรด หรือ ลด/เพิ่มขั้น
ปรับให้ตรงกับนโยบายโรงเรียน เช่นโรงเรียนที่ตัดที่ 70/65/60/55 (5 ขั้นจริง)
แก้ค่าใน input ที่มีอยู่
คลิกที่ input แล้วพิมพ์ค่าใหม่ — ตัวอย่าง: เปลี่ยน A จาก 80% เป็น 85% เพื่อเข้มขึ้น
ระบบจะ validate ตอน submit ว่า:
- min % ของแต่ละแถวต้อง มาก → น้อย เรียงจากบนลงล่าง (descending)
- letter ต้องไม่เว้นว่าง
- GPA ต้องเป็นตัวเลขที่ parse ได้
- มีอย่างน้อย 1 แถว และไม่เกิน 10 แถว
เพิ่มแถวหรือโหลด default
ใต้ตารางมี 2 ปุ่ม:
- เพิ่มแถว — สร้างแถวเปล่า (min=0, GPA=0.00, letter=ว่าง) — เติมค่าให้ครบก่อน submit
- โหลดเกณฑ์มาตรฐานไทย — รีเซ็ตทั้งตารางกลับเป็น default 8 ขั้น (เผื่อแก้ไปแล้วอยากย้อน)
กดบันทึก
ปุ่ม บันทึก ด้านล่างสุดส่งทั้งตารางขึ้น backend ในรอบเดียว
ถ้า validation ผ่าน — Toast เขียว "บันทึกเกณฑ์เกรดแล้ว"
ถ้า validation ไม่ผ่าน — Toast แดง "บันทึกไม่สำเร็จ" + รายละเอียดบรรทัดที่ผิด เช่น "แถวที่ 3 มี min% สูงกว่าแถวที่ 2"
ผลต่อหน้าสรุปคะแนน (Summary)
เกณฑ์นี้ถูกใช้คำนวณ letter+GPA ใน PerStudentTable อัตโนมัติ
หน้า Summary แสดง letter + GPA จากเกณฑ์
เข้าหน้า "สรุปคะแนน" (คลิกการ์ดสีฟ้า สรุปคะแนน ใน Classroom Hub ของห้อง) — ตาราง PerStudentTable จะมีคอลัมน์ %, letter, GPA ที่ปรับตามเกณฑ์ที่ตั้งไว้ในห้องนี้
ถ้าครูแก้เกณฑ์แล้วกลับมาดูหน้านี้ — ค่า letter/GPA จะอัปเดตทันที (คำนวณ on-the-fly ไม่ได้ cache)
คำถามที่พบบ่อย
เพิ่มแถว + / − ครึ่งเกรด (เช่น A+, B−, C-) ได้ไหม?
ได้ — letter เป็น string เปล่า ใส่อะไรก็ได้ (จำกัดที่ความสมเหตุสมผลของรายงาน) เช่น "A+", "B-", "ผ", "มผ" สำหรับรายวิชา pass/fail
ลบเกณฑ์ทั้งหมดทำได้ไหม?
ไม่ได้ — ต้องเหลืออย่างน้อย 1 แถว (ระบบบังคับ เพื่อกัน edge case ที่หน้าสรุปคำนวณไม่ได้) ถ้าอยาก "ไม่ตัดเกรด" ให้ลบทุกแถวเหลือแค่ 1 แถว min=0, letter="—", GPA=0.0 ก็พอ
ทำไม GPA สูงสุดมักเป็น 4.0?
เป็นมาตรฐานไทย/USA — แต่ระบบไม่บังคับ ใส่ 5.0 หรือ 10.0 ตามระบบของโรงเรียนได้ (รายงานจะอ่านค่าตามที่ตั้งไว้ตรงๆ)
ห้องต่างกัน มีเกณฑ์ต่างกันได้ไหม?
ได้ — เกณฑ์ผูกกับ classroom.id แต่ละห้องมีของตัวเอง
เช่น ห้อง ม.4 ใช้เกณฑ์ปกติ, ห้อง AP ใช้เกณฑ์เข้มกว่า