# REG — ลงทะเบียนและตารางเรียน
Group: **งานวิชาการ** · Use cases: **9**
> Generated by `docs/agent/tools/gen_use_cases.py` from `use_cases/UC1-Explorer.dc.html`. Do not edit by hand; re-run the script.
| ID | Use case | Lifecycle tag | Actors | Steps |
|---|---|---|---|---|
| [W-03](#w-03) | ถอนรายวิชา (W) / ลงหน่วยกิตเกินหรือต่ำกว่าเกณฑ์ | ทุกภาคการศึกษา | 6 | 7 |
| [W-49](#w-49) | ลงทะเบียนเรียน | ทุกภาคการศึกษา | 3 | 6 |
| [W-50](#w-50) | เพิ่ม-ลดรายวิชา | ทุกภาคการศึกษา | 4 | 5 |
| [W-100](#w-100) | แผนเปิดรายวิชา ตารางสอน และเปิดกลุ่มเรียน | ทุกภาคการศึกษา | 4 | 6 |
| [W-101](#w-101) | ปิดกลุ่มเรียนที่มีผู้ลงทะเบียนน้อย | ทุกภาคการศึกษา | 4 | 6 |
| [W-102](#w-102) | ลงทะเบียนล่าช้าพร้อมค่าปรับ | ทุกภาคการศึกษา | 3 | 6 |
| [W-106](#w-106) | ลงทะเบียนข้ามวิทยาเขต / เรียนร่วม | ทุกภาคการศึกษา | 5 | 6 |
| [W-162](#w-162) | ตรวจสิทธิ์การลงทะเบียนซ้ำเมื่อเกรด/สถานภาพเปลี่ยนหลังลงทะเบียน (post-standing re-validation) | ทุกภาคการศึกษา | 2 | 5 |
| [W-140](#w-140) | ขอเรียนแทน / ยกเว้นรายวิชา / ยกเว้นวิชาบังคับก่อน | ระหว่างเรียน | 5 | 5 |
## W-03 ถอนรายวิชา (W) / ลงหน่วยกิตเกินหรือต่ำกว่าเกณฑ์
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** นักศึกษายื่นคำร้องในช่วงที่ปฏิทินกำหนด
- **Outcome:** Enrollment สถานะ W หรืออนุมัติหน่วยกิตพิเศษ
- **Actors:** นักศึกษา, ผู้ปกครอง, อาจารย์ที่ปรึกษา, อาจารย์ผู้สอน, คณบดี, นายทะเบียน
- **Screens:** W003
Steps (7, of which 1 automated by the system):
1. **นักศึกษา**: ยื่นคำร้อง
2. _ระบบ_: ตรวจ DMN requires_guardian_cosign (อายุ ณ วันยื่น) และผลต่อทุน กยศ. และสิทธิ์ลงแข่ง แล้วแจ้งนักศึกษาก่อนยืนยัน
3. **ผู้ปกครอง**: ลงนามร่วม (ถ้า DMN กำหนด)
4. **อาจารย์ที่ปรึกษา**: เห็นชอบ
5. **อาจารย์ผู้สอน**: รับทราบ
6. **คณบดี**: อนุมัติ (กรณีเกินหรือต่ำกว่าเกณฑ์)
7. **นายทะเบียน**: บันทึก
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ผู้ปกครองร่วมลงนามเฉพาะประเภทคำร้องและฐานอำนาจที่จำเป็น ไม่ใช้เกณฑ์อายุอย่างเดียว
Relations: none. The use case completes on its own.
## W-49 ลงทะเบียนเรียน
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** window ลงทะเบียนเปิดตามปฏิทิน (ORG)
- **Outcome:** Enrollment + ตารางเรียน + ใบแจ้งหนี้
- **Actors:** อาจารย์ที่ปรึกษา, นักศึกษา, การเงิน
- **Screens:** U02
Steps (6, of which 2 automated by the system):
1. _ระบบ_: เปิด window ตามปฏิทินและ time-slot ตามชั้นปี/วิทยาเขต (squad ที่แข่งต้นภาคได้ slot แรก) ตรวจ hold และสถานภาพที่ sign-off แล้ว (W-57); ปี 1 ภาค 1 ลงทะเบียนแบบ block จากแผนหลักสูตรให้อัตโนมัติ นักศึกษาตรวจและยืนยัน
2. **อาจารย์ที่ปรึกษา**: อนุมัติแผนการเรียน (ถ้าหลักสูตรกำหนด)
3. **นักศึกษา**: เลือกวิชาและกลุ่มเรียนผ่าน virtual waiting room
4. _ระบบ_: ตรวจ prerequisite เวลาชน หน่วยกิต min/max (รวมเพดานรอพินิจ) และที่นั่งว่าง (transaction แบบ synchronous + idempotency key) แล้วแสดงหน้า "ผลการลงทะเบียนล่าสุด" ที่โหลดซ้ำได้และส่งใบยืนยันทาง in-app/LINE; ไม่แสดงปุ่มยืนยันซ้ำจนกว่าจะรู้ผล
5. **นักศึกษา**: ได้ตารางเรียนในแอป
6. **การเงิน**: ออกใบแจ้งค่าเทอมอัตโนมัติตาม FeePolicy ของรุ่น/วิทยาเขต
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ตรวจคุณสมบัติก่อนสร้าง enrollment/ใบแจ้งหนี้; advisor gate ตามนโยบาย ไม่สร้าง invoice ซ้ำ
Relations:
- เรียกใช้ [W-57](REC.md#w-57) ดูผลการเรียนและสถานภาพ
- ถูกเรียกจาก [W-51](FIN.md#w-51) ชำระค่าเทอม
## W-50 เพิ่ม-ลดรายวิชา
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** ช่วงเพิ่ม-ลดตามปฏิทิน
- **Outcome:** Enrollment ที่ปรับแล้ว + ใบแจ้งหนี้/credit note
- **Actors:** นักศึกษา, อาจารย์ที่ปรึกษา, นายทะเบียน, การเงิน
- **Screens:** W050
Steps (5, of which 1 automated by the system):
1. **นักศึกษา**: ขอเพิ่มหรือลดวิชา
2. _ระบบ_: ตรวจเงื่อนไขเหมือนตอนลงทะเบียน
3. **อาจารย์ที่ปรึกษา**: อนุมัติ
4. **นายทะเบียน**: ปรับตารางเรียน
5. **การเงิน**: ปรับใบแจ้งหนี้ หรือออก credit note อัตโนมัติ
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** เพิ่มถอนต้องตรวจคุณสมบัติและปรับยอดตามจริง; advisor approval เฉพาะที่นโยบายกำหนด
Relations: none. The use case completes on its own.
## W-100 แผนเปิดรายวิชา ตารางสอน และเปิดกลุ่มเรียน
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** ปฏิทินภาคเผยแพร่แล้ว (W-117)
- **Outcome:** OfferingPlan อนุมัติ + Section + ตารางสอนเผยแพร่
- **Actors:** หัวหน้าภาค, คณบดี, นายทะเบียน, อาจารย์ผู้สอน
- **Screens:** B02
Steps (6, of which 2 automated by the system):
1. _ระบบ_: เสนอรายวิชาที่ต้องเปิดจากแผนการเรียนของแต่ละรุ่นและจำนวนผู้คาดว่าจะลง
2. **หัวหน้าภาค**: กำหนด section ความจุ ผู้สอน (อาจารย์พิเศษผ่าน W-139) ห้อง/สนาม
3. _ระบบ_: ตรวจชนผู้สอน/ห้อง/สนาม (FAC) ภาระงานอาจารย์ และรายวิชาข้ามวิทยาเขต
4. **คณบดี**: อนุมัติแผนเปิดรายวิชาของคณะ
5. **นายทะเบียน**: ล็อกตาราง ตั้ง prerequisite quota reserved seats และเผยแพร่ตารางสอน
6. **อาจารย์ผู้สอน**: ยืนยันการสอน และส่งเค้าโครงรายวิชาก่อนเปิดภาค
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ยืนยันผู้สอน/ทรัพยากรก่อนประกาศตารางสุดท้าย หรือมีเส้นแก้ไขและแจ้งผู้ได้รับผลกระทบ
Relations:
- ต่อจาก [W-117](ORG.md#w-117) ปฏิทินการศึกษา: สร้าง / อนุมัติ / เผยแพร่
- เรียกใช้ [W-139](IAM.md#w-139) เปิดบัญชีบุคคลภายนอก (กรรมการสอบ อาจารย์พิเศษ ครูพี่เลี้ยง โค้ชสัญญาจ้าง)
## W-101 ปิดกลุ่มเรียนที่มีผู้ลงทะเบียนน้อย
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** จำนวนผู้ลงต่ำกว่าขั้นต่ำเมื่อปิดลงทะเบียน
- **Outcome:** SectionCancelled + ย้ายนักศึกษา + ปรับหนี้
- **Actors:** หัวหน้าภาค, คณบดี, การเงิน, นักศึกษา
- **Screens:** W101
Steps (6, of which 2 automated by the system):
1. _ระบบ_: แสดงรายการ section ที่ต่ำกว่าขั้นต่ำ
2. **หัวหน้าภาค**: เลือกปิด / รวม / คงไว้ (พร้อมเหตุผล เช่น นักศึกษาจะจบ)
3. **คณบดี**: อนุมัติการปิด
4. _ระบบ_: ย้ายนักศึกษาไป section อื่นอัตโนมัติถ้าไม่ชน ที่เหลือแจ้งให้เลือกใหม่
5. **การเงิน**: ปรับใบแจ้งหนี้หรือออก credit note
6. **นักศึกษา**: ยืนยันตารางใหม่
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ยุบ/รวม section ต้องตรวจที่นั่ง ตาราง คุณสมบัติ ความช่วยเหลือและยอดเงิน ไม่ย้ายคนแบบไม่มีทางเลือก
Relations: none. The use case completes on its own.
## W-102 ลงทะเบียนล่าช้าพร้อมค่าปรับ
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** พ้น window ลงทะเบียนปกติ
- **Outcome:** Enrollment + ใบแจ้งหนี้ที่รวมค่าปรับ
- **Actors:** นักศึกษา, อาจารย์ที่ปรึกษา, การเงิน
- **Screens:** W102
Steps (6, of which 2 automated by the system):
1. **นักศึกษา**: ลงทะเบียนในช่วงล่าช้า
2. _ระบบ_: คำนวณค่าปรับตาม FinePolicy ของวิทยาเขต (รายวันมีเพดาน หรือเหมาครั้งเดียว; นับวันหยุดตามที่ตั้ง)
3. **อาจารย์ที่ปรึกษา**: อนุมัติแผน (ถ้าหลักสูตรกำหนด)
4. **นักศึกษา**: ขอยกเว้นค่าปรับพร้อมเหตุผล (เช่น รอเงิน กยศ. เก็บตัวทีมชาติ) ถ้ามี
5. **การเงิน**: อนุมัติยกเว้นตามวงเงิน (SoD-10)
6. _ระบบ_: ออกใบแจ้งหนี้รวมค่าปรับ; ลงทะเบียนสมบูรณ์เมื่อชำระ
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ค่ารักษาสภาพมีเส้นยกเว้น/ผ่อนผันที่อนุมัติ ไม่ใช้ชำระเงินสดเป็น gate เดียว
Relations: none. The use case completes on its own.
## W-106 ลงทะเบียนข้ามวิทยาเขต / เรียนร่วม
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** นักศึกษาขอเรียนรายวิชาที่วิทยาเขตอื่นเปิด หรือ section ออนไลน์ร่วม
- **Outcome:** Enrollment ข้าม OrgUnit + การนับหน่วยกิต
- **Actors:** นักศึกษา, อาจารย์ที่ปรึกษา, หัวหน้าภาค, นายทะเบียน, การเงิน
- **Screens:** W106
Steps (6, of which 0 automated by the system):
1. **นักศึกษา**: ยื่นขอเรียนร่วม
2. **อาจารย์ที่ปรึกษา**: เห็นชอบ
3. **หัวหน้าภาค**: หลักสูตรต้นทางเห็นชอบการนับหน่วยกิต
4. **หัวหน้าภาค**: หลักสูตรปลายทาง (host) รับเข้า section
5. **นายทะเบียน**: ลงทะเบียนด้วย host_org_unit + home_org_unit (ผู้สอนเห็นเฉพาะข้อมูลที่จำเป็นต่อการสอน)
6. **การเงิน**: เรียกเก็บตามวิทยาเขตต้นสังกัด และบันทึกรายได้ระหว่างวิทยาเขตตามข้อตกลง
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ข้ามวิทยาเขตต้องตกลงผู้เรียกเก็บเงินและส่งผลกลับหลักสูตรต้นสังกัด ป้องกันเก็บซ้ำ
Relations: none. The use case completes on its own.
## W-162 ตรวจสิทธิ์การลงทะเบียนซ้ำเมื่อเกรด/สถานภาพเปลี่ยนหลังลงทะเบียน (post-standing re-validation)
- **Lifecycle tag:** ทุกภาคการศึกษา
- **Starts when:** เกรดเปลี่ยนหลัง sign-off สถานภาพ (ปิด I W-103, อุทธรณ์ W-16, แก้เกรด W-02) หรือผลภาคฤดูร้อนเมื่อ PolicySet กำหนดให้จำแนกหลังฤดูร้อน
- **Outcome:** สถานภาพที่คำนวณใหม่ + การปรับ Enrollment (ระงับส่วนเกิน / re-add) + แจ้งเตือน
- **Actors:** นายทะเบียน, อาจารย์ที่ปรึกษา
- **Screens:** W162
Steps (5, of which 2 automated by the system):
1. _ระบบ_: คำนวณ GPA/สถานภาพใหม่เฉพาะผู้ได้รับผลกระทบ และตรวจ prerequisite ของรายวิชาภาคปัจจุบัน
2. _ระบบ_: เมื่อหน่วยกิตเกินเกณฑ์ ให้แจ้งผลและทางเลือก ให้นักศึกษา/ที่ปรึกษาร่วมเลือกแผนกับนายทะเบียนตามกรอบประกาศ; ไม่เลือกให้ส่งเจ้าหน้าที่พิจารณา ไม่ถอนวิชาล่าสุดเอง คืนเงินตามสิทธิ์ที่อนุมัติ
3. **นายทะเบียน**: กรณีอาจพ้นสภาพ ส่ง W-11 ให้ตรวจคำสั่งและผลระหว่างอุทธรณ์ตามระเบียบที่ยืนยัน ไม่กำหนดทุเลาทุกกรณีอัตโนมัติ
4. **นายทะเบียน**: เกรดดีขึ้น/ชนะอุทธรณ์ ให้เสนอคืนรายวิชาโดยตรวจที่นั่ง ตาราง prerequisite หน่วยกิต ยอดเงินและสิทธิ์ปัจจุบัน; ถ้าคืนไม่ได้จัดทางเลือกที่อนุมัติ ไม่ re-add อัตโนมัติ
5. **อาจารย์ที่ปรึกษา**: ได้รับแจ้งและนัดพบรายที่สถานภาพเปลี่ยน
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ไม่ถอนวิชาล่าสุดหรือ re-add โดยอัตโนมัติ; ให้เลือกแผนกับนายทะเบียนและตรวจที่นั่ง/คุณสมบัติ/ยอดเงิน
Relations:
- ต่อจาก [W-02](ASM.md#w-02) แก้ไขเกรดหลังประกาศ
- เรียกใช้ [W-11](REC.md#w-11) พ้นสภาพนักศึกษา
- ต่อจาก [W-16](CASE.md#w-16) อุทธรณ์ผลการเรียน
- ต่อจาก [W-103](ASM.md#w-103) ปิดค่า I (ไม่สมบูรณ์)
- ถูกเรียกจาก [W-57](REC.md#w-57) ดูผลการเรียนและสถานภาพ
- ถูกเรียกจาก [W-16](CASE.md#w-16) อุทธรณ์ผลการเรียน
## W-140 ขอเรียนแทน / ยกเว้นรายวิชา / ยกเว้นวิชาบังคับก่อน
- **Lifecycle tag:** ระหว่างเรียน
- **Starts when:** รายวิชาบังคับไม่เปิดสอน หลักสูตรปรับปรุง หรือเหตุจำเป็น
- **Outcome:** CourseSubstitution / PrerequisiteWaiver ที่ degree audit อ่าน
- **Actors:** นักศึกษา, อาจารย์ที่ปรึกษา, หัวหน้าภาค, คณบดี, นายทะเบียน
- **Screens:** U05, L01
Steps (5, of which 0 automated by the system):
1. **นักศึกษา**: ยื่นขอ ระบุรายวิชาที่ต้องการแทน/ยกเว้น
2. **อาจารย์ที่ปรึกษา**: เห็นชอบ
3. **หัวหน้าภาค**: ประธานหลักสูตรพิจารณาความเทียบเท่า
4. **คณบดี**: อนุมัติ
5. **นายทะเบียน**: บันทึกให้ degree audit และ REG ใช้
> **ข้อสังเกตการทบทวน 2026-10-31 — รอยืนยัน:** ยกเว้น prerequisite ไม่เท่ากับให้หน่วยกิต; เทียบแทน/ยกเว้นเรียนต้องมีผล degree audit ตามชนิดคำขอ
Relations: none. The use case completes on its own.