# การแก้ปัญหา (Admin Portal)

> **ฟีเจอร์นี้ทำอะไร** — รวมข้อความ error และวิธีแก้ทั้งหมดของ Admin Portal ไว้ที่เดียว จัดกลุ่มตามฟีเจอร์ เพื่อให้ค้นหาวิธีแก้ได้รวดเร็ว
>
> **ใครใช้งาน** — ผู้ดูแลระบบ (Admin), ผู้จัดตารางงาน (Dispatcher), ผู้จัดการ (Manager), SuperAdmin
>
> **เข้าถึงได้ที่ไหน** — ทุกหน้าของ Admin Portal
>
> **ข้อกำหนดที่เกี่ยวข้อง** — ทุก FR ของ Admin Portal
>
> **โมดูลในโค้ดเบส** — ทุกโมดูลของ Admin Portal

---

## ก่อนเริ่มใช้งาน

วิธีใช้บทนี้:

1. หาหัวข้อ `## <ชื่อฟีเจอร์>` ที่ตรงกับหน้าที่คุณกำลังเจอปัญหา (เช่น จัดการลูกค้า, จัดการงาน)
2. ในตารางของหัวข้อนั้น ไล่อ่านคอลัมน์ **สิ่งที่คุณเห็น** เพื่อหาข้อความหรืออาการที่ตรงกับของคุณ
3. ทำตามวิธีในคอลัมน์ **ทำอย่างไร** ตามลำดับ
4. หากไม่พบในหัวข้อฟีเจอร์ ให้ดูที่ `## ปัญหาทั่วไป (ทุกฟีเจอร์)` ซึ่งรวมปัญหาที่เกิดได้ทุกหน้า
5. ต้องการข้ามไปยังหัวข้อโดยตรง ใช้ตาราง `## อ้างอิงด่วน (Quick Reference)` ท้ายบท

ก่อนลงรายละเอียดรายฟีเจอร์ ให้ลองขั้นตอนทั่วไปเหล่านี้ก่อน เพราะแก้ปัญหาส่วนใหญ่ได้:

- รีเฟรชหน้า (กด F5) — ปัญหาการแสดงผลหลายอย่างหายไปด้วยการรีเฟรช
- ตรวจการเชื่อมต่ออินเทอร์เน็ต — เปิดเว็บอื่นเพื่อยืนยันว่าออนไลน์
- ลองเบราว์เซอร์อื่น — แนะนำ Chrome, Firefox หรือ Edge เวอร์ชันล่าสุด
- ล้าง cache เบราว์เซอร์สำหรับโดเมน Infrabrik
- ออกจากระบบแล้วเข้าสู่ระบบใหม่ — แก้ปัญหาเซสชันและรับสิทธิ์ที่เปลี่ยนใหม่

---

## เริ่มต้นใช้งาน (เข้าสู่ระบบและนำทาง)

> ดูรายละเอียดที่บท [00 — เริ่มต้นใช้งาน](00-getting-started.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| "อีเมลหรือรหัสผ่านไม่ถูกต้อง" | 1. ตรวจสอบอีเมลให้ถูกต้อง (case-sensitive) 2. ตรวจการพิมพ์รหัสผ่าน 3. ใช้ "ลืมรหัสผ่าน" หากจำรหัสไม่ได้ |
| ไม่ได้รับอีเมลรีเซ็ตรหัสผ่าน | 1. ตรวจโฟลเดอร์ Spam/Junk 2. ตรวจว่ากรอกอีเมลถูก (ต้องเป็นอีเมลที่สร้างบัญชีไว้ ไม่ใช่อีเมลส่วนตัว) 3. รอ 2–5 นาที 4. ขอลิงก์ใหม่ 5. ติดต่อ SuperAdmin หากยังไม่ได้รับ |
| "ลิงก์หมดอายุ กรุณาขอใหม่" | ลิงก์มีอายุ 1 ชั่วโมง กลับไปหน้าเข้าสู่ระบบแล้วขอลิงก์ "ลืมรหัสผ่าน" ใหม่ |
| ถูกพากลับหน้าเข้าสู่ระบบโดยไม่คาดคิด | Refresh Token (7 วัน) หมดอายุ ซึ่งเป็นปกติหลังไม่ใช้งานนาน เข้าสู่ระบบใหม่ |
| เมนูใน sidebar หายไป | บทบาทของคุณไม่มีสิทธิ์ในฟีเจอร์นั้น ติดต่อ SuperAdmin เพื่อตรวจสอบบทบาท |
| หน้าโหลดแต่ข้อมูลว่าง | 1. ตรวจอินเทอร์เน็ต 2. รีเฟรชหน้า 3. ตรวจว่าอยู่ในสภาพแวดล้อมที่ถูกต้อง 4. tenant อาจยังไม่มีข้อมูล |
| หน้าเข้าสู่ระบบไม่โหลด | 1. ตรวจ URL 2. ตรวจอินเทอร์เน็ต 3. ล้าง cache เบราว์เซอร์ 4. ลองเบราว์เซอร์อื่น 5. ติดต่อฝ่าย IT |
| หน้าจอขาวว่างหลังเข้าสู่ระบบ (white screen) | JavaScript โหลดผิดพลาด หรือไฟล์ cache เก่าค้าง ล้าง cache เบราว์เซอร์ให้หมด ลองเบราว์เซอร์อื่น ปิดส่วนขยายที่อาจบล็อก JavaScript หากใช้ VPN ลองปิด VPN |
| ปัญหายืนยันตัวตนสองชั้น (two-factor) | ตั้งวันที่และเวลาของเครื่องเป็นแบบอัตโนมัติ การตั้งเวลาด้วยมือทำให้โทเค็นยืนยันตัวตนไม่ตรงกับเซิร์ฟเวอร์ |

---

## ตั้งค่าระบบและบริษัท

> ดูรายละเอียดที่บท [01 — ตั้งค่าระบบและบริษัท](01-system-company-setup.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| โลโก้บริษัทไม่ปรากฏในรายงาน | 1. ตรวจว่าอัปโหลดโลโก้สำเร็จ (ต้องแสดงในหน้าโปรไฟล์บริษัท) 2. ใช้ไฟล์ PNG หรือ JPG ขนาดไม่เกิน 2MB 3. ไฟล์ภาพขนาดใหญ่มากอาจอัปโหลดล้มเหลวเงียบ ๆ ให้ลองย่อขนาด 4. ล้าง cache เบราว์เซอร์หากโลโก้เก่ายังค้าง |
| เปลี่ยนเขตเวลาแล้วเวลาแสดงผิด / วันที่ย้อนหลังดูผิด | เขตเวลามีผลกับการแสดงผลเท่านั้น ไม่กระทบข้อมูลที่จัดเก็บ (เก็บเป็น UTC) ให้รีเฟรชหน้า แล้วตรวจว่าเลือกเขตเวลาถูกต้อง (เช่น `Asia/Bangkok` สำหรับเวลาไทย GMT+7) แจ้งทีมวันที่เปลี่ยนเขตเวลาเพื่อลดความสับสน |
| บันทึกโปรไฟล์บริษัทไม่ได้ ("Validation error") | ตรวจช่องที่ต้องกรอก (*): ชื่อบริษัท และเขตเวลา ห้ามเว้นว่าง ความยาวต้องไม่เกินที่กำหนด แล้วกด **บันทึก** อีกครั้ง |
| ลบค่าดรอปดาวน์ (พื้นที่/โซน) ไม่ได้ | ค่านั้นถูกใช้งานในเรคคอร์ดที่มีอยู่ ลบไม่ได้ ให้สลับสถานะ **Active** เป็นปิดแทน เพื่อซ่อนจากการเลือกในอนาคตโดยคงข้อมูลเดิมไว้ |
| SLA ไม่ติดธงเตือน | 1. ตรวจว่าตั้งกฎ SLA สำหรับประเภทใบงานถูกต้อง 2. ตรวจว่ามีกฎเฉพาะรายลูกค้า/รายพื้นที่ที่บังคับใช้แทนกฎทั่วไปหรือไม่ 3. ตรวจว่าสถานที่ของลูกค้ามีข้อมูลจังหวัดครบ (สำหรับกฎรายพื้นที่) |
| เวลา SLA คำนวณคลาดเคลื่อน | ตรวจเขตเวลาในโปรไฟล์บริษัท เพราะเขตเวลามีผลกับการคำนวณ SLA ทั้งหมด |
| SLA In/Out กรอกแล้วบันทึกไม่ได้ | ค่า SLA In และ SLA Out ต้องเป็นจำนวนเต็มมากกว่า 0 และต้องกรอก ชื่อ SLA ห้ามเว้นว่างและต้องไม่ซ้ำ |
| ไม่พบเมนู ตั้งค่า (Settings) ใน sidebar | บทบาทของคุณไม่มีสิทธิ์ในหมวด Settings ติดต่อ SuperAdmin ขององค์กร |

---

## จัดการผู้ใช้และสิทธิ์

> ดูรายละเอียดที่บท [02 — จัดการผู้ใช้และสิทธิ์](02-user-permission-management.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| การเปลี่ยนสิทธิ์/บทบาทไม่มีผล | สิทธิ์มีผลในเซสชันถัดไปของผู้ใช้ ให้ผู้ใช้ออกจากระบบแล้วเข้าสู่ระบบใหม่ หากยังไม่ได้ผล ตรวจสอบว่ากลุ่มสิทธิ์ถูกบันทึกแล้ว (เปิดตารางสิทธิ์ตรวจซ้ำ) |
| ไม่ได้รับอีเมลคำเชิญ | 1. ตรวจโฟลเดอร์ Spam/Junk 2. ตรวจว่ากรอกอีเมลถูกต้อง 3. รอ 2–5 นาที 4. ส่งคำเชิญใหม่ 5. ติดต่อฝ่าย IT หากอีเมลถูกบล็อกโดยตัวกรองขององค์กร |
| ปิดใช้งานบัญชีตนเองไม่ได้ | ระบบไม่อนุญาตให้ปิดใช้งานบัญชีของตนเอง (BR2) ให้ SuperAdmin คนอื่นดำเนินการแทน |
| ลด SuperAdmin เป็นบทบาทต่ำกว่าไม่ได้ | ต้องมี SuperAdmin อย่างน้อย 1 บัญชีในระบบ (BR1) หากนี่เป็น SuperAdmin คนเดียว ให้สร้าง SuperAdmin ใหม่ก่อน แล้วจึงลดบทบาทคนนี้ |
| ผู้ใช้ถูกล็อกหลังเปลี่ยนบทบาท | ผู้ใช้ต้องออกจากระบบแล้วเข้าสู่ระบบใหม่ หากเข้าไม่ได้เลย สถานะบัญชีอาจถูกตั้งเป็นปิดใช้งาน ให้ SuperAdmin ตรวจสอบ |
| "อีเมลซ้ำ" ขณะสร้าง/เชิญผู้ใช้ | อีเมลต้องไม่ซ้ำภายใน tenant เดียวกัน (FR-020 BR6) ใช้อีเมลอื่น หรือตรวจว่าบัญชีนั้นมีอยู่แล้วในรายการ |
| ผู้ใช้ "ไม่มีสิทธิ์เข้าถึง" หรือ error 403 | บทบาท/กลุ่มสิทธิ์ของผู้ใช้ไม่ได้รับอนุญาตในฟีเจอร์นั้น ตรวจสอบตารางสิทธิ์ของกลุ่มสิทธิ์นั้น แล้วปรับระดับสิทธิ์ตามต้องการ |
| เมนูบางอย่างหายไปจาก sidebar ของผู้ใช้ | สวิตช์ แสดง/ซ่อน ของฟีเจอร์นั้นถูกตั้งเป็นปิดในกลุ่มสิทธิ์ เปิดสวิตช์แล้วบันทึก ให้ผู้ใช้เข้าสู่ระบบใหม่ |

---

## จัดการลูกค้า

> ดูรายละเอียดที่บท [03 — จัดการลูกค้า](03-customer-management.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| ข้อความ error ที่ช่องเลขผู้เสียภาษีตอนสร้างบริษัท | 1. ตรวจว่าเป็นตัวเลข 13 หลักพอดี ไม่มีช่องว่างหรือขีด 2. ตรวจว่าไม่มีบริษัทอื่นใช้เลขนี้แล้ว |
| ข้อความ error ว่าชื่อบริษัทซ้ำ / "รหัสบริษัทซ้ำ" | ชื่อ/รหัสบริษัทต้องไม่ซ้ำในองค์กร (BR1) ค้นหาบริษัทเดิมด้วยรหัสนั้น หากเป็นคนละบริษัทให้เปลี่ยนชื่อ/รหัส หากเป็นบริษัทเดิมที่กรอกซ้ำ ให้แก้ไขรายการเดิมแทนการสร้างใหม่ |
| ไม่สามารถลบ/ปิดการใช้งานบริษัทได้ | บริษัทมีงานหรือสัญญาที่ใช้งานอยู่ (BR5) จัดการงาน/สัญญาที่เกี่ยวข้องก่อน หรือปิดการใช้งานแทนการลบ |
| เครื่องมือแผนที่ Google Maps ไม่โหลด | 1. ตรวจการเชื่อมต่ออินเทอร์เน็ต 2. รีเฟรชหน้า 3. ลองเบราว์เซอร์อื่น 4. หากยังไม่ได้ ให้กรอกค่าละติจูด/ลองจิจูดเอง |
| บันทึกสถานที่ไม่ได้ เพราะไม่ได้เลือกบริษัท | ทุกสถานที่ต้องสังกัดบริษัท (BR2) เลือกบริษัทในช่องบริษัทก่อนบันทึก |
| หมุดพิกัด GPS อยู่ผิดตำแหน่ง | แก้ไขสถานที่ ใช้เครื่องมือแผนที่ Google Maps ปรับหมุดใหม่ หรือกรอกละติจูด/ลองจิจูดเอง แล้วบันทึก ตรวจยืนยันที่ภาพตัวอย่างแผนที่ ช่างจะเห็นพิกัดใหม่ตอนซิงก์ครั้งถัดไป |
| ปุ่มดาวน์โหลดได้ไฟล์ว่างเปล่า | ไม่มีข้อมูลตรงกับตัวกรองปัจจุบัน ล้างตัวกรองแล้วลองใหม่ ตรวจว่ามีข้อมูลในหน้าก่อนส่งออก |
| ปิดการใช้งานประเภทบริการแล้วงานเก่าหาย | การปิดการใช้งานซ่อนจากรายการเลือกเท่านั้น ไม่กระทบข้อมูลเดิม หากต้องใช้อีกให้สลับสถานะกลับเป็นใช้งาน |
| "ไม่มีสิทธิ์เข้าถึง" หรือ error 403 | บทบาทของคุณไม่มีสิทธิ์ EDIT สำหรับลูกค้า (Manager/User ดูได้อย่างเดียว) ติดต่อ SuperAdmin |

---

## จัดการสินทรัพย์ (รวมเช็คชีท)

> ดูรายละเอียดที่บท [04 — จัดการสินทรัพย์](04-asset-management.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| สร้างรหัสทรัพย์สินไม่ได้ — รายการรุ่นว่าง | ต้องสร้างรุ่นทรัพย์สินก่อน ไปที่ เครื่องจักร → รุ่นทรัพย์สิน → + สร้างรุ่น |
| สร้างรุ่นไม่ได้ — รายการประเภทว่าง | ต้องสร้างประเภททรัพย์สินก่อน ไปที่ เครื่องจักร → ประเภททรัพย์สิน → + สร้างประเภท |
| "Serial Number ซ้ำ" | Serial Number ซ้ำกับที่มีอยู่ (BR1) ตรวจสอบและแก้ไขให้ไม่ซ้ำ |
| "กรุณาเลือกรุ่น" | ทุกสินทรัพย์ต้องผูกกับรุ่น (BR2) เลือกรุ่นก่อนบันทึก |
| นำเข้า CSV ล้มเหลว "invalid model_id" | ค่า model_id ใน CSV ไม่ตรงกับรุ่นในระบบ ส่งออกรายการรุ่นเพื่อดู ID ที่ถูกต้อง |
| นำเข้า CSV ล้มเหลว "duplicate serial" | Serial ใน CSV ซ้ำกับที่มีอยู่ ลบออกจาก CSV หรืออัปเดตรายการเดิม ระบบจะแสดงแถวที่ผิดพลาดหลังนำเข้า |
| QR Code ไม่ขึ้น | ตรวจว่าเปิด JavaScript ในเบราว์เซอร์ ลองเบราว์เซอร์อื่น (แนะนำ Chrome) — QR สร้างฝั่งเบราว์เซอร์ |
| QR Code พิมพ์ออกมาผิดเพี้ยน | ตรวจการตั้งค่าเครื่องพิมพ์ให้ตรงกับขนาดป้าย QR ลองพิมพ์เป็น PDF เพื่อดูตัวอย่างก่อน ตั้งซูมเบราว์เซอร์เป็น 100% ตอนพิมพ์ |
| QR Code สแกนไม่ติด | ทำความสะอาดเลนส์กล้องและโฟกัสให้ชัด ถือห่าง QR 15–30 ซม. ให้มีแสงเพียงพอ หาก QR เสียหายทางกายภาพ ให้กรอก Serial Number ของสินทรัพย์ด้วยมือแทน |
| แผนที่ไม่แสดงหมุด | สถานที่ของสินทรัพย์ยังไม่มีพิกัด GPS ตรวจสอบและตั้งพิกัดในบทการจัดการลูกค้า หาก map tiles ไม่โหลด (เป็นสี่เหลี่ยมเทา) ตรวจอินเทอร์เน็ตและลองเบราว์เซอร์อื่น |
| ลบทรัพย์สินไม่ได้ | สินทรัพย์มีสัญญาบริการหรืองานที่ใช้งานอยู่ (BR5) นำการผูกออกก่อน |
| ลบเทมเพลตเช็คชีทไม่ได้ | เทมเพลตถูกผูกกับสัญญาที่ใช้งานอยู่ (BR5) นำการผูกสัญญาออกที่แท็บ Assignment ก่อนแล้วจึงลบ |
| ช่างเห็นเทมเพลตเวอร์ชันเก่า | เป็นปกติ — งานที่กำลังทำใช้เวอร์ชันตอนสร้างงาน เฉพาะงานใหม่ได้เวอร์ชันล่าสุด |
| รายการที่ จำเป็น บล็อกไม่ให้ช่างปิดงาน | ทำงานตามที่ตั้งใจ — ช่างต้องกรอกรายการ จำเป็น ทุกรายการ (โดยเฉพาะรายการรูปภาพที่ต้องอัปโหลดอย่างน้อย 1 รูป) หากไม่เกี่ยวข้อง ให้สร้างเทมเพลตแยกที่ไม่มีรายการนั้น |
| เทมเพลตไม่ปรากฏสำหรับประเภทงานหนึ่ง | เปิดเทมเพลต → แท็บ Assignment → ตรวจว่าเลือกประเภทงานนั้นแล้ว และตรวจว่าสถานะเทมเพลตเป็นใช้งาน (Active) |
| แก้ไขผลเช็คชีทไม่ได้ | ผลเป็นแบบอ่านอย่างเดียวหลังงานเสร็จ (BR4) สร้างงาน QC ติดตามผลหากต้องตรวจซ้ำ |
| ส่งออก CSV ได้ไฟล์ว่าง | ไม่มีข้อมูลตรงกับตัวกรองปัจจุบัน ล้างตัวกรองแล้วลองใหม่ |

---

## จัดการช่าง

> ดูรายละเอียดที่บท [05 — จัดการช่าง](05-technician-management.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| "รูปแบบเบอร์โทรไม่ถูกต้อง" | ตรวจว่าเป็น 9–10 หลักรูปแบบไทย ลบรหัสประเทศ (+66) ช่องว่าง และขีดออก |
| "เบอร์โทรนี้ถูกใช้งานแล้ว" | เบอร์นี้ผูกกับช่างคนอื่นในองค์กรแล้ว ค้นด้วยเบอร์โทรเพื่อหาบัญชีที่มีอยู่ แต่ละเบอร์ลงทะเบียนได้ครั้งเดียว หากบัญชีเก่าไม่ใช้แล้วให้ปิดใช้งานก่อน |
| ช่างไม่ได้รับ OTP | ให้ช่างตรวจกล่อง SMS รอ 60 วินาทีก่อนส่งใหม่ ตรวจว่าเบอร์ถูกและมีสัญญาณ |
| ช่างไม่ปรากฏในตัวเลือกมอบหมายงาน | ตรวจว่าช่างเป็น ACTIVE มีประเภทงานที่ถูกเปิดในเงื่อนไขการทำงาน มีจังหวัดที่ตรงในเขตพื้นที่ และอยู่ในองค์กรเดียวกัน |
| เงื่อนไขการทำงานบันทึกไม่ได้ | ต้องเลือกอย่างน้อย 1 ประเภทงาน ตรวจว่าจำนวนงานต่อวันเป็นจำนวนบวก และบันทึกก่อนออกจากหน้า |
| เปลี่ยนตำแหน่ง/บทบาทช่างไม่ได้ | ตรวจว่าคุณมีบทบาท Admin หรือ SuperAdmin บางช่องอาจต้องมีสิทธิ์เฉพาะ หากช่องแก้ได้แต่บันทึกไม่ได้ ให้ตรวจ error ที่ช่องอื่นในฟอร์ม |
| เงื่อนไขการทำงานไม่อัปเดตให้ช่าง | ตรวจว่าบันทึกสำเร็จ (มีข้อความยืนยัน) ให้ช่างบังคับรีเฟรชแอป การเปลี่ยนเงื่อนไขมีผลในรอบซิงก์ถัดไป |
| "ไม่สามารถปิดการใช้งานได้ ช่างมีงานที่กำลังดำเนินการ" | ช่างมีงานค้าง (BR5) ปิดหรือย้ายงานที่ค้างผ่าน Job Management ก่อน แล้วลองอีกครั้ง |
| ลบบัญชีช่างไม่ได้ | ช่างที่มีประวัติงานลบไม่ได้เพื่อรักษาร่องรอยตรวจสอบ ให้ใช้สถานะ INACTIVE แทน |
| GPS แสดงข้อมูลเก่า | แอปมือถือของช่างอาจปิดอยู่หรือปิด location services ให้ช่างตั้งสิทธิ์ตำแหน่งเป็น "Always" และอนุญาตให้แอปทำงานเบื้องหลัง |
| หัวหน้าช่างมองไม่เห็นสมาชิกทีม | ตรวจว่าตำแหน่งเป็น TEAM_LEADER (ไม่ใช่ TECHNICIAN) สมาชิกอยู่ทีมเดียวกัน และให้หัวหน้าช่างออกแล้วเข้าระบบใหม่ |
| ไฟล์ CSV ที่ส่งออกว่างเปล่า | ไม่มีช่างตรงตัวกรองปัจจุบัน ล้างตัวกรองทั้งหมดแล้วลองใหม่ |

---

## อะไหล่และคลังสินค้า

> ดูรายละเอียดที่บท [06 — อะไหล่และคลังสินค้า](06-spare-part-warehouse.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| จำนวนสต็อกไม่ตรงกับของจริง | 1. นับจำนวนจริง 2. ตรวจประวัติสต็อก (History) เพื่อหาจุดที่คลาดเคลื่อนและรายการที่ยังไม่เสร็จ (เบิก/โอน/คืน) 3. ใช้ฟังก์ชันนำเข้า (Import) แก้จำนวนหลังนับจริง |
| อนุมัติคำขอเบิกไม่ได้ "สต็อกไม่เพียงพอ" | คลังมีสต็อกไม่พอ — ปฏิเสธพร้อมเหตุผล "สต็อกไม่เพียงพอ" หรือเติมสต็อกก่อนด้วยการนำเข้า/โอนจากคลังอื่น |
| นำเข้า CSV ล้มเหลวด้วย error การตรวจสอบ | ดาวน์โหลดเทมเพลตล่าสุด ตรวจหัวคอลัมน์ให้ตรงทุกตัวอักษร ตรวจว่า Part Number ไม่ซ้ำ และ Type เป็น CONSUMABLE หรือ STOCKABLE (case-sensitive) |
| ไม่มีการแจ้งเตือนสต็อกต่ำสำหรับอะไหล่ | ตรวจว่าระดับสต็อกต่ำสุดตั้งถูกต้อง ค่า 0 หมายความว่าไม่มีการแจ้งเตือน — แก้ไขอะไหล่แล้วตั้งเกณฑ์ที่เหมาะสม |
| รายการโอนย้ายค้างสถานะ Pending | การโอนย้ายต้องผ่านการอนุมัติ Admin ไปที่ Spare Parts → โอนย้ายอะไหล่ แล้วดำเนินการ หากดำเนินการแล้วให้ผู้รับรีเฟรชแอป ตรวจ Audit Trail เพื่อดูผลลัพธ์ |
| การคืนถูกปฏิเสธแต่ช่างยืนยันว่าอะไหล่ปกติ | ตรวจเหตุผลและรูปภาพในรายละเอียดการคืน สาเหตุที่พบบ่อย: อะไหล่เสียหาย จำนวนไม่ตรง หรือคืนผิดชิ้น ประสานกับเจ้าหน้าที่คลัง หากเป็นความผิดพลาดให้ช่างส่งคำขอคืนใหม่ |
| error รหัสอะไหล่ซ้ำตอนสร้าง | มีอะไหล่ที่ใช้รหัสนั้นอยู่แล้ว ค้นหาในรายการสต็อก หากต้องการอะไหล่ใหม่ ให้ใช้รหัสอื่น |
| หาอะไหล่ในแคตตาล็อกไม่พบ | ล้างตัวกรองทั้งหมดแล้วค้นใหม่ หากไม่มีจริงในระบบ ให้ Admin เพิ่มที่ Spare Parts → + สร้าง |
| ลบ/ปิดใช้งานคลังสินค้าไม่ได้ | คลังยังมีสต็อกค้างอยู่ ให้โอนหรือเคลียร์สต็อกเป็นศูนย์ก่อนปิดใช้งานคลัง |
| "ไม่มีสิทธิ์เข้าถึง" หรือ error 403 | บทบาทของคุณไม่มีสิทธิ์ EDIT/DELETE ในโมดูลนี้ ติดต่อ SuperAdmin เพื่อตรวจสอบบทบาท |

---

## จัดการสัญญา

> ดูรายละเอียดที่บท [07 — จัดการสัญญา](07-contract-management.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| ไม่มีสินทรัพย์ให้เลือกในช่อง "สินทรัพย์ที่คุ้มครอง" | สินทรัพย์ยังไม่ถูกลงทะเบียนใต้บริษัทลูกค้านี้ ลงทะเบียนสินทรัพย์ก่อน แล้วกลับมาสร้างสัญญาใหม่ |
| บันทึกสัญญาไม่ได้ มีข้อความผิดพลาดที่ช่อง | กรอกช่องที่มีเครื่องหมาย * ให้ครบ ตรวจว่าวันสิ้นสุดอยู่หลังวันเริ่ม และเลขสัญญาไม่ซ้ำ |
| เปิดใช้งานสัญญาแล้วแต่ไม่มีงาน PM ในปฏิทิน | 1. ตรวจว่าตั้งความถี่ PM และเลือกสินทรัพย์ที่คุ้มครองแล้ว 2. ตรวจว่าสถานะสัญญาเป็น Active และวันเริ่ม PM ผ่านมาแล้ว 3. ตรวจว่าช่วงวันที่ครอบคลุมเดือนที่ดู 4. ล้างตัวกรองในปฏิทิน PM |
| "ลบไม่ได้ สัญญามีงาน PM ที่กำลังใช้งาน" | สัญญามีงาน PM ที่กำลังใช้งาน/กำลังทำอยู่ รอจนงานเสร็จ หรือยกเลิกสัญญา (Terminate) แทนการลบ |
| งาน PM ถูกสร้างเป็นจำนวนมากเกินคาด | ตรวจความถี่และจำนวนสินทรัพย์ที่คุ้มครอง (งาน = สินทรัพย์ × จำนวนรอบ) แก้ไขสัญญาเพื่อปรับความถี่หากผิด |
| แก้ไขสัญญาแล้วงานในอนาคตหายไป | เป็นปกติ — ระบบลบงานในอนาคตที่ยังไม่ทำและสร้างใหม่ตามตารางใหม่ งานที่เสร็จหรือกำลังทำไม่กระทบ |
| สัญญาขึ้นหมดอายุทั้งที่ควรยังใช้งานอยู่ | ตรวจวันสิ้นสุดสัญญา หากควรใช้งานอยู่ให้ขยายวันสิ้นสุด หากสถานะถูกตั้งเป็นหมดอายุด้วยมือ ให้เปลี่ยนกลับเป็น Active |
| ไม่พบเมนู "สัญญาบริการ" ใน sidebar | บทบาทของคุณไม่มีสิทธิ์ดูสัญญา ติดต่อ SuperAdmin เพื่อตรวจสอบสิทธิ์ |
| "ไม่มีสิทธิ์เข้าถึง" หรือ error 403 | สร้าง/แก้ไขสัญญาต้องมีสิทธิ์ระดับ แก้ไข (EDIT) และลบต้องมีสิทธิ์ ลบ (DELETE) ติดต่อ SuperAdmin |

---

## จัดการงาน (รวมปฏิทิน PM และปริมาณงาน)

> ดูรายละเอียดที่บท [08 — จัดการงาน](08-job-management.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| ฟอร์มสร้างใบงานขึ้น error การตรวจสอบ | 1. กรอกช่องที่จำเป็น (มี *) ให้ครบ 2. ตรวจวันที่นัดให้เป็นอนาคต 3. ตรวจว่าลูกค้า/สถานที่/สินทรัพย์ที่เลือกถูกต้อง |
| "ไม่พบใบงาน" เมื่อเปิดงาน | งานอาจถูกลบ หรือคุณไม่มีสิทธิ์ดู ตรวจเลขที่ใบงานและลองค้นหา ติดต่อผู้ดูแลระบบหากยังไม่ได้ |
| แก้ไขใบงานไม่ได้ | สถานะเป็น DONE หรือ CANCEL ใบงานที่เสร็จ/ยกเลิกแก้ไขไม่ได้ หากต้องเปลี่ยนให้สร้างใบงานใหม่ (เพิ่มหมายเหตุอ้างอิงงานเดิม) |
| ช่างไม่ได้รับการแจ้งเตือนงานที่มอบหมาย | ตรวจว่าแอปช่างเปิดการแจ้งเตือน (Settings → Infrabrik → Notifications) ให้ช่างเปิดแอปและรีเฟรช ตรวจว่าบัญชีช่างเป็น Active |
| ปุ่มส่งออกไม่ทำงาน | 1. ตรวจการบล็อกป๊อปอัป/ดาวน์โหลดของเบราว์เซอร์ 2. ลองเบราว์เซอร์อื่น 3. ไฟล์ใหญ่อาจใช้เวลาสร้าง รอสักครู่ |
| ค้นหาช่างไม่พบผลลัพธ์ | 1. ตรวจว่ามีบัญชีช่างและมีสถานะใช้งาน 2. ตรวจการสะกดชื่อ 3. ช่างอาจอยู่คนละทีม/จังหวัด |
| การ์ดงานขึ้น "ไม่มีช่าง" | ยังไม่ได้มอบหมาย ใช้ขั้นตอนมอบหมายช่าง |
| งานค้างอยู่ในสถานะหนึ่งและไม่คืบหน้า | ตรวจประวัติใบงาน (Audit Trail) ดูการกระทำล่าสุด ติดต่อช่างที่รับงานยืนยันสถานะ หากช่างทำแล้วแต่สถานะไม่อัปเดต ลองรีเฟรช หากยังค้างให้ติดต่อฝ่ายสนับสนุน |
| กรองแล้วได้ 0 งาน | เงื่อนไขแคบเกินไป ลบตัวกรองทีละตัว หรือคลิก **รีเซ็ต** เริ่มใหม่ |
| ส่งออก CSV ได้เป็นไฟล์ ZIP | เป็นปกติสำหรับข้อมูลขนาดใหญ่ แตกไฟล์ ZIP เพื่อเข้าถึง CSV ข้างใน |
| ปฏิทิน PM ไม่มีรายการในเดือนนั้น | 1. ตรวจว่ามีสัญญา PM ที่ครอบคลุมเดือนนั้น 2. ลบตัวกรองที่ใช้อยู่ 3. ตรวจตาราง PM ที่สัญญา (บท 07) |
| ลากรายการ PM ไม่ได้ | 1. รายการอาจเป็นสถานะ ใบงาน แล้ว (ต้องเลื่อนนัดใน Job Management) 2. ตรวจสิทธิ์แก้ไขของบทบาท 3. รีเฟรชหน้า |
| "อนุมัติทั้งหมด" สร้าง 0 ใบงาน | รายการทั้งหมดเป็น ใบงาน แล้ว หรือยังไม่มีช่าง (เลือกช่าง) มอบหมายช่างก่อนแล้วลองใหม่ |
| มีรายการ PM สีแดง (เลยแผน) | PM เลยวันนัดโดยยังไม่ถูกสร้าง สร้างใบงานทันที (จะลงวันย้อนหลัง) หรือเลื่อนไปวันในอนาคต |
| ลากวางไม่ทำงานบนแท็บเล็ต/มือถือ | ปฏิทินเหมาะกับเบราว์เซอร์เดสก์ท็อป ใช้เดสก์ท็อปสำหรับลากวาง หรือใช้ปุ่ม เปลี่ยนวัน ในแผงรายละเอียด |
| ตารางปริมาณงานไม่มีช่าง | 1. ตรวจว่ามีบัญชีช่างและใช้งานอยู่ 2. ลบตัวกรองจังหวัด 3. ตรวจว่าช่างมีการตั้งความจุงานต่อวัน |
| ทุกช่องขึ้น 0% ทั้งที่มอบงานแล้ว | 1. งานอาจไม่มีวันที่นัดในเดือนที่แสดง 2. ไปเดือนที่ถูกต้อง 3. รีเฟรชหน้าเพื่อล้างแคช |
| ปุ่มโอนงานไม่ปรากฏ | บทบาทคุณอาจไม่มีสิทธิ์แก้ไข เฉพาะ Admin/Dispatcher โอนงานได้ ติดต่อ SuperAdmin |
| ตัวบ่งชี้วงกลมขึ้น NaN% | ช่างยังไม่ได้ตั้งความจุงานต่อวัน (เป็น 0 หรือว่าง) ตั้งค่าที่ Technicians → Profiles |
| ข้อมูลปริมาณงานดูเก่า | ข้อมูลแคชราว 5 นาที รอสักครู่หรือรีเฟรชเบราว์เซอร์ |
| "ไม่มีสิทธิ์เข้าถึง" หรือ error 403 | บทบาทไม่ได้รับอนุญาตในการกระทำนั้น ตรวจสิทธิ์กับ SuperAdmin (ดูบท 00) |

---

## แดชบอร์ดและรายงาน

> ดูรายละเอียดที่บท [09 — แดชบอร์ดและรายงาน](09-dashboard-reports.md)

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| ส่วนต่าง ๆ หมุนโหลดนานเกิน 3 วินาที | คำขอข้อมูลอาจ timeout ลองจำกัดช่วงวันที่ให้แคบลง หรือเลือกจังหวัดเฉพาะ เพื่อลดปริมาณข้อมูล รีเฟรชหน้าหากยังหมุนค้าง หากช้าตลอดให้แจ้งฝ่ายสนับสนุน |
| กราฟแสดง "ไม่มีข้อมูล" | ตรวจว่าช่วงวันที่ครอบคลุมช่วงที่มีงานจริง ตรวจตัวกรองจังหวัด รีเซ็ตตัวกรองเป็น "ทุกจังหวัด" เพื่อยืนยันว่ามีข้อมูลในระบบ |
| ตัวกรองไม่มีผลกับทุกส่วน | รีเฟรชหน้า หากยังไม่หาย ล้าง cache เบราว์เซอร์แล้วโหลดใหม่ ตัวกรองควรมีผลกับทุกส่วน |
| ส่งออกไฟล์ไม่ได้ (Excel/CSV) | ตรวจการตั้งค่าบล็อกป๊อปอัป/ดาวน์โหลดของเบราว์เซอร์ หากช่วงวันที่กว้าง ไฟล์อาจใช้เวลา 10–15 วินาที รอให้เริ่มดาวน์โหลดก่อนคลิกซ้ำ ลองใช้ CSV ก่อน (เร็วกว่า PDF) |
| ตารางจัดอันดับช่างว่าง | ไม่มีงานที่เสร็จพร้อมคะแนนในช่วงที่เลือก ตรวจว่าช่างปิดงานและลูกค้าให้คะแนนแล้ว |
| คลิกกราฟโดนัทแล้วไม่ไปหน้าใหม่ | JavaScript อาจโหลดไม่ครบ รีเฟรชหน้าแล้วลองใหม่ ตรวจว่าคลิกที่ส่วนสี ไม่ใช่ตรงกลางหรือคำอธิบาย |
| การวิเคราะห์ปัญหาแสดงข้อมูลบิดเบือน | โมเดลที่เลือกมีงานน้อยเกินไป เลือกโมเดลที่มีงานเสร็จอย่างน้อย 10 รายการในช่วงที่เลือก |
| ตัวเลขประสิทธิภาพดูผิด | ตรวจช่วงวันที่ ตัวชี้วัดคำนวณเฉพาะงานที่เสร็จในช่วงที่เลือก งานที่ยังทำอยู่จะไม่ถูกนับ |
| ตัวกรองจังหวัดไม่มีตัวเลือก | ข้อมูลจังหวัดของสถานที่ลูกค้าอาจยังไม่ครบ ตรวจที่ Customer Management ว่าที่อยู่สถานที่มีข้อมูลจังหวัด |
| ส่งออกแล้วข้อมูลเกิน 10,000 แถว | ระบบจะเตือนเมื่อเกิน ให้จำกัดช่วงวันที่หรือเพิ่มตัวกรองให้แคบลง แล้วส่งออกใหม่ |

---

## ปัญหาทั่วไป (ทุกฟีเจอร์)

ปัญหาเหล่านี้เกิดได้กับทุกหน้าของ Admin Portal ไม่จำกัดเฉพาะฟีเจอร์ใด:

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| ถูกพากลับหน้าเข้าสู่ระบบกลางคัน (เซสชันหมดอายุ) | Refresh Token (7 วัน) หมดอายุหลังไม่ใช้งานนาน ซึ่งเป็นปกติด้านความปลอดภัย เข้าสู่ระบบใหม่ บันทึกฟอร์มยาวบ่อย ๆ ก่อนลุกจากหน้าจอนาน |
| "ไม่มีสิทธิ์เข้าถึง" หรือ error 403 ในหน้าใดก็ตาม | บทบาทของคุณไม่มีสิทธิ์ในฟีเจอร์/การกระทำนั้น ติดต่อ SuperAdmin ให้ตรวจสิทธิ์ที่ Settings → Permissions หลังเปลี่ยนสิทธิ์ ให้ออกจากระบบแล้วเข้าใหม่ |
| หน้าโหลดแต่ข้อมูลว่างเปล่า | 1. ตรวจอินเทอร์เน็ต 2. รีเฟรชหน้า 3. ล้างตัวกรองที่ใช้อยู่ 4. ตรวจว่าอยู่ในสภาพแวดล้อมที่ถูกต้อง 5. tenant อาจยังไม่มีข้อมูล |
| หน้าจอขาวว่าง / หน้าไม่โหลด | ล้าง cache เบราว์เซอร์ให้หมด ลองเบราว์เซอร์อื่น (Chrome/Firefox/Edge) ปิดส่วนขยายที่บล็อก JavaScript หากใช้ VPN ลองปิด |
| ระบบช้าหรือไม่ตอบสนองทั้งระบบ | ถามเพื่อนร่วมงานว่าเข้าใช้ได้ไหม หากทุกคนเข้าไม่ได้ ระบบอาจอยู่ระหว่างปิดปรับปรุง รอสักครู่แล้วลองใหม่ |
| ข้อมูลแสดงเก่า ไม่อัปเดต | บางหน้าแคชข้อมูลราว 5 นาที รอสักครู่หรือรีเฟรชเบราว์เซอร์ หากยังไม่หาย ให้ล้าง cache |
| ปุ่มส่งออก/ดาวน์โหลดไม่ทำงาน | ปิดการบล็อกป๊อปอัป/ดาวน์โหลดสำหรับโดเมน Infrabrik จำกัดช่วงข้อมูลให้แคบลง ลอง CSV ก่อน PDF รออย่างน้อย 15 วินาทีก่อนคลิกซ้ำ |
| ปัญหายืนยันตัวตน (token mismatch) | ตั้งวันที่/เวลาของเครื่องเป็นแบบอัตโนมัติ การตั้งเวลาด้วยมือทำให้โทเค็นไม่ตรงกับเซิร์ฟเวอร์ |

> **เคล็ดลับ:** เมื่อจะแจ้งปัญหาให้ฝ่ายสนับสนุน ให้รวบรวมข้อมูลต่อไปนี้เสมอ — ภาพหน้าจอของ error, URL ของหน้า (จากช่องที่อยู่เบราว์เซอร์), วันที่และเวลาที่เกิด, ขั้นตอนที่ทำก่อนเกิดปัญหา, และอีเมล/บทบาทบัญชีของคุณ ภาพหน้าจอที่เปิด console (กด F12 → แท็บ Console) จะช่วยวิเคราะห์ปัญหาเชิงเทคนิคได้เร็วขึ้น

---

## อ้างอิงด่วน (Quick Reference)

| อาการ | ไปที่หัวข้อ |
|-------|-------------|
| เข้าสู่ระบบไม่ได้ / ลืมรหัสผ่าน / เซสชันหมดอายุ | [เริ่มต้นใช้งาน](#เริ่มต้นใช้งาน-เข้าสู่ระบบและนำทาง) |
| โลโก้ เขตเวลา ดรอปดาวน์ SLA | [ตั้งค่าระบบและบริษัท](#ตั้งค่าระบบและบริษัท) |
| คำเชิญผู้ใช้ บทบาท สิทธิ์ไม่มีผล | [จัดการผู้ใช้และสิทธิ์](#จัดการผู้ใช้และสิทธิ์) |
| สร้าง/ลบบริษัท สถานที่ พิกัด GPS | [จัดการลูกค้า](#จัดการลูกค้า) |
| ประเภท/รุ่น/รหัสทรัพย์สิน QR Code เช็คชีท นำเข้า CSV | [จัดการสินทรัพย์](#จัดการสินทรัพย์-รวมเช็คชีท) |
| เบอร์โทร OTP เงื่อนไขการทำงาน หัวหน้าช่าง | [จัดการช่าง](#จัดการช่าง) |
| สต็อก เบิก โอน คืน คลังสินค้า | [อะไหล่และคลังสินค้า](#อะไหล่และคลังสินค้า) |
| สร้าง/ลบสัญญา ตาราง PM จากสัญญา | [จัดการสัญญา](#จัดการสัญญา) |
| สร้าง/แก้ไขใบงาน ปฏิทิน PM ปริมาณงานช่าง | [จัดการงาน](#จัดการงาน-รวมปฏิทิน-pm-และปริมาณงาน) |
| แดชบอร์ดช้า กราฟไม่มีข้อมูล ส่งออกรายงาน | [แดชบอร์ดและรายงาน](#แดชบอร์ดและรายงาน) |
| 403 / หน้าจอขาว / ข้อมูลเก่า / ระบบช้า (ทุกหน้า) | [ปัญหาทั่วไป (ทุกฟีเจอร์)](#ปัญหาทั่วไป-ทุกฟีเจอร์) |

---

*อ้างอิง: ทุก FR ของ Admin Portal · ยึดมาตรฐาน 06-support/user-manual-writing-standard.md*
