# การจัดการสินทรัพย์และเช็คชีท (Asset & Check Sheet Management)

> **ฟีเจอร์นี้ทำอะไร** — จัดการบันทึกสินทรัพย์ (เครื่องจักร/อุปกรณ์) แบบลำดับชั้น 3 ระดับ (ประเภท → รุ่น → รหัสทรัพย์สิน), สร้าง QR Code ระบุตัวอุปกรณ์, ดูสินทรัพย์บนแผนที่, นำเข้าข้อมูลจำนวนมากด้วย CSV รวมถึงสร้างและจัดการเทมเพลตเช็คชีท (ใบตรวจเช็ก) ที่ผูกกับประเภทงานเพื่อให้ช่างตรวจเช็กตามมาตรฐานเดียวกัน
>
> **ใครใช้งาน** — ผู้ดูแลระบบ (Admin), ผู้จัดการสินทรัพย์ (Asset Manager), SuperAdmin
>
> **เข้าถึงได้ที่ไหน** — เมนูด้านซ้าย → **เครื่องจักร (Assets)** สำหรับสินทรัพย์ และ เมนูด้านซ้าย → **งาน → เช็คชีท (Check Sheets)** สำหรับเทมเพลตเช็คชีท
>
> **ข้อกำหนดที่เกี่ยวข้อง** — FR-013 (Asset Management), FR-022 (Check Sheet Management), UF-013, UF-022
>
> **โมดูลในโค้ดเบส** — `asset`, `asset-type`, `asset-model`, `asset-code`, `asset-map`, `check-sheet`

---

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

ตรวจสอบให้แน่ใจว่า:

- [ ] คุณเข้าสู่ระบบ Admin Portal ด้วยบทบาท Admin หรือ Asset Manager แล้ว
- [ ] บริษัทลูกค้าและสถานที่ติดตั้งถูกสร้างไว้แล้ว (ดูบทการจัดการลูกค้า)
- [ ] คุณเข้าใจลำดับชั้นสินทรัพย์ 3 ระดับ: **ประเภททรัพย์สิน (Asset Type)** → **รุ่นทรัพย์สิน (Asset Model)** → **รหัสทรัพย์สิน (Asset Code)**
- [ ] หากต้องนำเข้าจำนวนมาก คุณเตรียมไฟล์ CSV ตามรูปแบบเทมเพลตที่กำหนดไว้แล้ว
- [ ] สำหรับการสร้าง QR Code ใช้เว็บเบราว์เซอร์รุ่นใหม่ที่เปิด JavaScript (ระบบสร้าง QR ฝั่งเบราว์เซอร์)
- [ ] สำหรับเช็คชีท คุณทราบว่าองค์กรใช้ประเภทงานใดบ้าง (BM, IN, UN, IS, QC) และเตรียมรายการตรวจเช็กพร้อมประเภทข้อมูลที่ต้องการไว้แล้ว

---

## ก่อนเริ่ม: เข้าใจลำดับชั้นสินทรัพย์

ระบบจัดเก็บสินทรัพย์เป็นลำดับชั้น 3 ระดับ จากกว้างไปแคบ ตั้งค่าประเภทและรุ่นเพียงครั้งเดียวแล้วนำกลับมาใช้ได้กับรหัสทรัพย์สินจำนวนมาก

| ระดับ | หมายถึงอะไร | ตัวอย่าง | ใช้ทำอะไร |
|-------|-------------|----------|-----------|
| **ประเภททรัพย์สิน (Asset Type)** | หมวดหมู่อุปกรณ์ | ลิฟต์ (Elevator) | จัดหมวด กรอง และทำรายงานระดับสูง |
| **รุ่นทรัพย์สิน (Asset Model)** | แบรนด์และสเปก | Mitsubishi NexWay | สเปกเทคนิค อะไหล่ที่ใช้ร่วมกัน |
| **รหัสทรัพย์สิน (Asset Code)** | อุปกรณ์แต่ละเครื่อง (Serial) | SN-ELV-001 | ติดตามรายตัว ประวัติซ่อม QR Code การรับประกัน |

สถานะของรหัสทรัพย์สินมี 3 แบบ แสดงเป็นป้ายสี:

| สถานะ | สี | ความหมาย |
|-------|----|----------|
| ACTIVE | เขียว | ใช้งานอยู่ — มอบหมายงานและผูกสัญญาได้ |
| INACTIVE | เทา | ปลดระวาง/ถอดออกแล้ว — ซ่อนจากรายการมอบหมายงาน |
| FIXING | เหลือง | กำลังซ่อม — ยังเห็นแต่ถูกระบุว่ากำลังซ่อม |

---

## สถานการณ์: สร้างประเภททรัพย์สิน (Asset Type)

### สิ่งที่คุณต้องการทำ

กำหนดหมวดหมู่อุปกรณ์ใหม่ที่จะใช้บรรจุรุ่นทรัพย์สินหนึ่งรุ่นขึ้นไป

### ขั้นตอน

1. คลิก **เครื่องจักร (Assets) → ประเภททรัพย์สิน (Asset Type)** ในเมนูด้านซ้าย

   ![หน้ารายการประเภททรัพย์สินพร้อมปุ่มสร้างประเภท](images/04-asset-type-list.png)

   <!-- 📸 NEED SCREENSHOT: หน้ารายการประเภททรัพย์สินแสดงหมวดที่มีอยู่และปุ่ม + สร้างประเภท -->

2. คลิกปุ่ม **+ สร้างประเภท (+ Create)** เพื่อเปิดฟอร์มสร้างประเภท

3. กรอกข้อมูลประเภททรัพย์สิน

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | ชื่อประเภท (Type Name)* | ชื่อหมวดหมู่อุปกรณ์ เช่น "ลิฟต์", "บันไดเลื่อน", "เครื่องปรับอากาศ" | ห้ามเว้นว่าง, ยาวไม่เกิน 100 ตัวอักษร |
   | รายละเอียด (Description) | คำอธิบายสั้น ๆ ว่าหมวดนี้ครอบคลุมอะไร | ยาวไม่เกิน 500 ตัวอักษร |

   > **หมายเหตุ:** ช่องที่มีเครื่องหมาย * เป็นช่องที่ต้องกรอก

4. คลิกปุ่ม **บันทึก (Save)** เพื่อสร้างประเภททรัพย์สิน

### ผลลัพธ์ที่จะเกิดขึ้น

ประเภททรัพย์สินจะปรากฏในรายการประเภท และพร้อมให้เลือกในช่องประเภทตอนสร้างรุ่นทรัพย์สิน รวมถึงใช้เป็นตัวกรองในการค้นหาและรายงาน ระบบจะพากลับไปหน้ารายการประเภท

> **เคล็ดลับ:** ตั้งชื่อประเภทให้กว้างและสม่ำเสมอ หลีกเลี่ยงประเภทเฉพาะเจาะจงเกินไป (เช่น "ลิฟต์โดยสาร" กับ "ลิฟต์ขนของ" ควรอยู่ใต้ "ลิฟต์" เดียวกัน) แล้วใช้รุ่นแยกความต่างของแบรนด์/สเปก

---

## สถานการณ์: สร้างรุ่นทรัพย์สิน (Asset Model)

### สิ่งที่คุณต้องการทำ

กำหนดแบรนด์และสเปกเฉพาะภายใต้ประเภททรัพย์สินที่มีอยู่

### ขั้นตอน

1. คลิก **เครื่องจักร (Assets) → รุ่นทรัพย์สิน (Asset Model)** ในเมนูด้านซ้าย

   ![หน้ารายการรุ่นทรัพย์สินแสดงคอลัมน์ประเภท แบรนด์ และชื่อรุ่น](images/04-asset-model-list.png)

   <!-- 📸 NEED SCREENSHOT: หน้ารายการรุ่นทรัพย์สินแสดงคอลัมน์ประเภท แบรนด์ ชื่อรุ่น -->

2. คลิกปุ่ม **+ สร้างรุ่น (+ Create)** เพื่อเปิดฟอร์มสร้างรุ่น

3. กรอกข้อมูลรุ่นทรัพย์สิน

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | ประเภททรัพย์สิน (Asset Type)* | เลือกประเภทแม่จากรายการ | ต้องเลือก — ทุกรุ่นต้องผูกกับประเภท (BR3) |
   | ชื่อรุ่น (Model Name)* | ชื่อรุ่นเฉพาะ เช่น "NexWay", "VRV IV" | ห้ามเว้นว่าง, ยาวไม่เกิน 200 ตัวอักษร |
   | แบรนด์ (Brand) | ผู้ผลิตหรือยี่ห้อ เช่น "Mitsubishi", "Daikin" | ยาวไม่เกิน 100 ตัวอักษร |
   | รายละเอียด (Specifications) | สเปกเทคนิค (กำลัง ขนาด แรงดันไฟ ฯลฯ) | ไม่บังคับ |

   > **หมายเหตุ:** ช่องที่มีเครื่องหมาย * เป็นช่องที่ต้องกรอก

   ![ฟอร์มสร้างรุ่นทรัพย์สินพร้อมช่องเลือกประเภท แบรนด์ ชื่อรุ่น และสเปก](images/04-create-model-form.png)

   <!-- 📸 NEED SCREENSHOT: ฟอร์มสร้างรุ่นทรัพย์สินพร้อมช่องเลือกประเภท แบรนด์ ชื่อรุ่น สเปก -->

4. คลิกปุ่ม **บันทึก (Save)** เพื่อสร้างรุ่นทรัพย์สิน

### ผลลัพธ์ที่จะเกิดขึ้น

รุ่นทรัพย์สินจะปรากฏในรายการรุ่น และพร้อมให้เลือกในช่องรุ่นตอนลงทะเบียนรหัสทรัพย์สิน สเปกเทคนิคจะแสดงให้ช่างเห็นบนแอปมือถือเมื่อดูรายละเอียดงานของสินทรัพย์รุ่นนี้

> **เคล็ดลับ:** ใส่สเปกสำคัญที่ช่างต้องใช้หน้างาน เช่น พิกัดกำลัง แรงดันไฟ ชนิดน้ำยา หรือหมายเหตุการบำรุงรักษาเฉพาะรุ่น ช่วยลดการต้องค้นสเปกแยก

---

## สถานการณ์: ลงทะเบียนสินทรัพย์รายตัว (รหัสทรัพย์สิน)

### สิ่งที่คุณต้องการทำ

ลงทะเบียนอุปกรณ์จริงแต่ละเครื่องพร้อม Serial Number ข้อมูลการรับประกัน และสถานที่ติดตั้ง

### ขั้นตอน

1. คลิก **เครื่องจักร (Assets) → รหัสทรัพย์สิน (Asset Code)** ในเมนูด้านซ้าย

2. คลิกปุ่ม **+ สร้างทรัพย์สิน (+ Create)** เพื่อเปิดฟอร์มลงทะเบียน

   ![ฟอร์มสร้างรหัสทรัพย์สินแสดงทุกช่อง รวมถึงรุ่น Serial การรับประกัน และสถานที่](images/04-create-code-form.png)

   <!-- 📸 NEED SCREENSHOT: ฟอร์มสร้างรหัสทรัพย์สินแสดงทุกช่อง (รุ่น, Serial, การรับประกัน, ลูกค้า, สถานที่, สถานะ) -->

3. กรอกข้อมูลส่วน **ข้อมูลหลัก (Basic Info)**

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | Serial Number* | หมายเลขซีเรียลหลักของเครื่องจริง | ห้ามเว้นว่าง, ต้องไม่ซ้ำภายในองค์กร (BR1) |
   | Backup Serial Number | ซีเรียลสำรองหรือซีเรียลผู้ผลิต | ไม่บังคับ |
   | ประเภททรัพย์สิน (Asset Type)* | เลือกประเภทจากรายการ | ต้องเลือก |
   | รุ่นทรัพย์สิน (Asset Model)* | เลือกรุ่นจากรายการ (กรองตามประเภท) | ต้องเลือก — ทุกสินทรัพย์ต้องผูกกับรุ่น (BR2) |

4. กรอกข้อมูลส่วน **ข้อมูลการติดตั้ง (Installation)**

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | วันที่ติดตั้ง (Installation Date) | วันที่ติดตั้งอุปกรณ์หน้างาน | รูปแบบวันที่ |
   | สถานที่ (Location) | เลือกสถานที่ติดตั้งจากรายการ | ควรผูกกับสถานที่ลูกค้า (BR4) |
   | ลูกค้า (Customer) | เลือกบริษัทที่เป็นเจ้าของสินทรัพย์ | ต้องเป็นลูกค้าที่มีอยู่ |

5. กรอกข้อมูลส่วน **การรับประกัน (Warranty)**

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | วันเริ่มประกัน (Start Date) | วันที่เริ่มความคุ้มครอง | ไม่บังคับ |
   | ระยะเวลา (Period) | จำนวน เดือน/ปี ของการรับประกัน | เลือกหน่วยเดือนหรือปี |
   | วันหมดประกัน (End Date) | ระบบคำนวณอัตโนมัติจากวันเริ่ม + ระยะเวลา | คำนวณอัตโนมัติ |

6. กรอกข้อมูลส่วน **ข้อมูลเพิ่มเติม (Additional)**

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | ปีผลิต (Production Year) | ปีที่ผลิตอุปกรณ์ | ไม่บังคับ |
   | สถานะ (Status)* | สถานะเริ่มต้น (ปกติเป็น ACTIVE สำหรับการติดตั้งใหม่) | ACTIVE / INACTIVE / FIXING |
   | หมายเหตุ (Notes) | ข้อมูลเพิ่มเติม | ยาวไม่เกิน 2000 ตัวอักษร |

   > **หมายเหตุ:** ช่องที่มีเครื่องหมาย * เป็นช่องที่ต้องกรอก

7. ตรวจทานข้อมูลทั้งหมด แล้วคลิกปุ่ม **สร้างทรัพย์สิน (Save)**

### ผลลัพธ์ที่จะเกิดขึ้น

ระบบลงทะเบียนรหัสทรัพย์สินและผูกกับรุ่น ลูกค้า และสถานที่ พร้อมสร้าง QR Code อัตโนมัติ จากนั้นพากลับไปหน้ารายการ สินทรัพย์นี้พร้อมให้เลือกในสัญญาบริการ มอบหมายงาน และติดตามประวัติซ่อม

> **คำเตือน:** หาก Serial Number ซ้ำกับที่มีอยู่ ระบบจะแสดงข้อความ "Serial Number ซ้ำ" และไม่บันทึก ให้ตรวจสอบ Serial ให้ตรงกับป้ายบนเครื่องจริงและไม่ซ้ำ

---

## สถานการณ์: นำเข้าสินทรัพย์จำนวนมากด้วย CSV

### สิ่งที่คุณต้องการทำ

ลงทะเบียนสินทรัพย์หลายรายการพร้อมกันด้วยการอัปโหลดไฟล์ CSV แทนการสร้างทีละรายการ

### ขั้นตอน

1. คลิก **เครื่องจักร (Assets) → รหัสทรัพย์สิน (Asset Code)** ในเมนูด้านซ้าย

2. คลิกปุ่ม **นำเข้า (Import)** ที่ด้านบนของรายการ

   ![กล่องนำเข้า CSV แสดงลิงก์ดาวน์โหลดเทมเพลต พื้นที่อัปโหลดไฟล์ และปุ่มนำเข้า](images/04-csv-import.png)

   <!-- 📸 NEED SCREENSHOT: กล่องนำเข้า CSV แสดงลิงก์ดาวน์โหลดเทมเพลต พื้นที่อัปโหลด และผลตรวจสอบ -->

3. คลิกลิงก์ **ดาวน์โหลดเทมเพลต CSV** ในกล่องนำเข้าเพื่อโหลดไฟล์ตัวอย่าง

4. เปิดเทมเพลตด้วย Excel หรือ Google Sheets แล้วกรอกข้อมูลสินทรัพย์

   | คอลัมน์ในเทมเพลต | กรอกอะไร | เงื่อนไข |
   |------------------|----------|----------|
   | model_id* | ID ของรุ่นทรัพย์สิน (จากระบบ) | ต้องมีอยู่ในระบบ |
   | serial_number* | Serial Number หลัก | ต้องไม่ซ้ำกับที่มีอยู่ |
   | backup_serial | Serial สำรอง | ไม่บังคับ |
   | installation_date* | วันที่ติดตั้ง | รูปแบบ YYYY-MM-DD |
   | warranty_start | วันเริ่มประกัน | รูปแบบ YYYY-MM-DD |
   | warranty_end | วันหมดประกัน | รูปแบบ YYYY-MM-DD |
   | customer_id* | ID ของบริษัทลูกค้า | ต้องมีอยู่ในระบบ |
   | location_id* | ID ของสถานที่ติดตั้ง | ต้องมีอยู่ในระบบ |
   | status* | สถานะสินทรัพย์ | ACTIVE, INACTIVE หรือ FIXING |

   > **หมายเหตุ:** ช่องที่มีเครื่องหมาย * เป็นช่องที่ต้องกรอก

   > **เคล็ดลับ:** หาค่า model_id, customer_id, location_id ได้โดยส่งออก (Export) รายการรุ่น บริษัท และสถานที่เป็น CSV ก่อน คอลัมน์ ID ในไฟล์ที่ส่งออกคือค่าที่ต้องใช้

5. บันทึกไฟล์เป็น CSV (แนะนำ UTF-8 เพื่อรองรับภาษาไทย)

6. กลับมาที่กล่องนำเข้า คลิก **อัปโหลด (Upload)** แล้วเลือกไฟล์ CSV ของคุณ

7. ตรวจผลการตรวจสอบและนำเข้า

   | ผลลัพธ์ | สิ่งที่จะเกิดขึ้น |
   |---------|------------------|
   | นำเข้าสำเร็จ | แสดง "นำเข้าสำเร็จ X รายการ" และรายการสินทรัพย์รีเฟรช |
   | นำเข้าบางส่วน | แสดง "นำเข้าบางส่วน Y รายการล้มเหลว" พร้อมรายละเอียดข้อผิดพลาด — แก้ CSV แล้วอัปโหลดใหม่ |
   | นำเข้าไม่สำเร็จ | แสดง "นำเข้าไม่สำเร็จ" เพราะรูปแบบไฟล์ไม่ถูกต้อง — แก้แล้วอัปโหลดใหม่ |

### ผลลัพธ์ที่จะเกิดขึ้น

สินทรัพย์ที่นำเข้าสำเร็จจะปรากฏในรายการทันทีและใช้งานได้เต็มรูปแบบ (ผูกสัญญา มอบหมายงาน และสร้าง QR ได้) การนำเข้าถูกบันทึกใน audit trail

> **คำเตือน:** การนำเข้าจำนวนมาก (หลายร้อยรายการ) อาจใช้เวลาประมวลผลสองสามวินาที อย่าปิดแท็บเบราว์เซอร์ระหว่างนำเข้า — รอจนเห็นข้อความยืนยันการเสร็จสิ้น

---

## สถานการณ์: ดูสินทรัพย์บนแผนที่

### สิ่งที่คุณต้องการทำ

ดูสินทรัพย์ทั้งหมดบนแผนที่ Google Maps แบบโต้ตอบ จัดกลุ่มตามสถานที่

### ขั้นตอน

1. คลิก **เครื่องจักร (Assets) → แผนที่ทรัพย์สิน (Asset Map)** ในเมนูด้านซ้าย

   ![หน้าแผนที่ทรัพย์สินแสดง Google Maps พร้อมหมุดสถานที่และการ์ดรายละเอียดสินทรัพย์](images/04-asset-map-view.png)

   <!-- 📸 NEED SCREENSHOT: หน้าแผนที่ทรัพย์สินแสดง Google Maps พร้อมหมุดสถานที่และการ์ดสินทรัพย์ -->
   <!-- ⛔ DEMO BUILD GAP (2026-05-18): `/asset/map` คืน 404 และไม่มีเมนูแผนที่ทรัพย์สินใน demo build — ต้อง capture จาก environment ที่เปิดฟีเจอร์แผนที่ -->

2. แผนที่จะแสดง **หมุด (Marker)** ของแต่ละสถานที่ที่มีสินทรัพย์ลงทะเบียนไว้ หมุดที่อยู่ใกล้กันจะถูกจัดกลุ่ม (cluster) อัตโนมัติเมื่อย่อแผนที่

3. ใช้ช่อง **ค้นหาสถานที่ (Location Search)** ด้านบนแผนที่เพื่อกระโดดไปยังพื้นที่ที่ต้องการ

4. คลิก **หมุด** เพื่อเปิดการ์ดสินทรัพย์ของสถานที่นั้น การ์ดแสดง Serial Number, รุ่น/ประเภท, สถานะ และลูกค้า

5. คลิก **การ์ดสินทรัพย์** เพื่อให้แผนที่เลื่อนไปยังตำแหน่งนั้นและเปิดหน้ารายละเอียดสินทรัพย์

   > **เคล็ดลับ:** ใช้แผนที่วางแผนพื้นที่บริการ ย่อแผนที่เพื่อดูการกระจายตัวของสินทรัพย์และระบุกลุ่มที่บริการได้ในทริปเดียว

### ผลลัพธ์ที่จะเกิดขึ้น

คุณได้ภาพรวมทางภูมิศาสตร์ของสินทรัพย์ทั้งหมด เหมาะกับการวางแผนจัดส่งช่างและการบริหารพื้นที่บริการ

> **หมายเหตุ:** หากแผนที่ไม่แสดงหมุด แสดงว่าสถานที่ของสินทรัพย์ยังไม่มีพิกัด GPS ให้ตรวจสอบและตั้งพิกัดของสถานที่ในบทการจัดการลูกค้า

---

## สถานการณ์: สร้างและพิมพ์ QR Code

### สิ่งที่คุณต้องการทำ

สร้าง QR Code สำหรับสินทรัพย์ที่ระบุ เพื่อให้ช่างสแกนระบุอุปกรณ์หน้างานได้รวดเร็ว

### ขั้นตอน

1. คลิก **เครื่องจักร (Assets) → รหัสทรัพย์สิน (Asset Code)** แล้วเปิดสินทรัพย์ที่ต้องการ

   ![หน้ารายละเอียดสินทรัพย์แสดง QR Code และปุ่มพิมพ์](images/04-generate-qr.png)

   <!-- 📸 NEED SCREENSHOT: หน้ารายละเอียดสินทรัพย์แสดง QR Code ที่สร้างแล้วและปุ่มพิมพ์ QR -->

2. ดูส่วน **QR Code** ในหน้ารายละเอียด ระบบสร้าง QR Code อัตโนมัติให้สินทรัพย์นี้ตั้งแต่ตอนลงทะเบียน (สร้างฝั่งเบราว์เซอร์ ไม่ต้องเชื่อมต่อเซิร์ฟเวอร์)

   | คุณสมบัติ QR Code | ค่า |
   |-------------------|-----|
   | ข้อมูลที่เข้ารหัส | รหัสสินทรัพย์ (Asset ID) สำหรับการสแกน (BR6) |
   | วิธีสร้าง | ฝั่งเบราว์เซอร์ |
   | รูปแบบไฟล์ | รูป PNG |

3. คลิกปุ่ม **พิมพ์ QR (Print)** เพื่อพิมพ์ป้าย QR (แนะนำพิมพ์บนสติกเกอร์)

4. ติดป้าย QR ที่พิมพ์แล้วบนอุปกรณ์จริงในตำแหน่งที่มองเห็นและเข้าถึงง่าย

### ผลลัพธ์ที่จะเกิดขึ้น

ช่างสแกน QR Code ด้วยแอปมือถือเพื่อดึงข้อมูลสินทรัพย์ ประวัติซ่อม และงานที่กำลังทำได้ทันที ลดการกรอก Serial ด้วยมือและความผิดพลาดในการระบุอุปกรณ์

> **เคล็ดลับ:** วาง QR Code ในตำแหน่งเดียวกันบนอุปกรณ์ประเภทเดียวกัน (เช่น บนฝาตู้ควบคุมลิฟต์เสมอ) และใช้ป้ายกันน้ำสำหรับอุปกรณ์กลางแจ้ง

---

## สถานการณ์: ดูประวัติการซ่อมและสถานะอะไหล่ของสินทรัพย์

### สิ่งที่คุณต้องการทำ

ตรวจสอบไทม์ไลน์การบริการของสินทรัพย์และสถานะอะไหล่ที่ใช้ไป

### ขั้นตอน

1. คลิก **เครื่องจักร (Assets) → รหัสทรัพย์สิน (Asset Code)** แล้วเปิดสินทรัพย์ที่ต้องการ

2. คลิกแท็บ **ประวัติการซ่อม (Service History)**

   ![แท็บประวัติการซ่อมแสดงไทม์ไลน์เหตุการณ์พร้อมวันที่ การดำเนินการ และเลขที่งาน](images/04-service-history.png)

   <!-- 📸 NEED SCREENSHOT: แท็บประวัติการซ่อมแสดงไทม์ไลน์เหตุการณ์ วันที่ การดำเนินการ เลขที่งาน -->

3. ดูไทม์ไลน์ที่แสดงทุกเหตุการณ์ตามลำดับเวลา: เลขที่งาน/ประเภทงาน, ช่างที่รับผิดชอบ, วันที่/ระยะเวลา, สถานะ/ผล (ประวัติทั้งหมดถูกบันทึกอัตโนมัติตาม BR7 และแก้ไขไม่ได้)

4. คลิกแท็บ **สถานะอะไหล่ (Spare Part Status)** เพื่อดูอะไหล่ที่ใช้กับสินทรัพย์นี้

   | สถานะอะไหล่ | สี | ความหมาย | สิ่งที่ควรทำ |
   |-------------|----|----------|--------------|
   | READY_TO_USE | เขียว | ใช้งานได้และอยู่ในอายุการใช้งาน | ไม่ต้องทำอะไร |
   | ALMOST_EXPIRED | เหลือง | ใกล้หมดอายุการใช้งาน | นัดเปลี่ยนในรอบ PM ถัดไป |
   | EXPIRED | แดง | เกินอายุการใช้งานแล้ว | เปลี่ยนทันทีในการบริการครั้งหน้า |

5. คลิกลิงก์ **ดูประวัติอะไหล่** เพื่อดูประวัติการเปลี่ยนอะไหล่พร้อมเลขที่งานอ้างอิง

### ผลลัพธ์ที่จะเกิดขึ้น

คุณมี audit trail ครบถ้วนของทุกสิ่งที่เกิดกับสินทรัพย์นี้ ใช้สำหรับการเคลมประกัน การตรวจสอบ และวางแผนเปลี่ยนอะไหล่ก่อนเกิดความเสียหาย

> **คำเตือน:** สินทรัพย์ที่มีอะไหล่สถานะ EXPIRED ควรได้รับการบริการเป็นลำดับแรก เพราะเพิ่มความเสี่ยงต่อการเสียหายและอาจทำให้การรับประกันเป็นโมฆะ

---

## เกี่ยวกับเช็คชีท: เชื่อมโยงกับสินทรัพย์อย่างไร

เช็คชีท (ใบตรวจเช็ก) คือ **เทมเพลตการตรวจสอบมาตรฐาน** ที่ผูกกับประเภทงาน เมื่อช่างออกไปทำงานกับสินทรัพย์ ระบบจะแสดงเช็คชีทที่ถูกต้องให้ช่างกรอกผ่านแอปมือถือ ทำให้ทุกการตรวจสอบสินทรัพย์เป็นมาตรฐานเดียวกันและตรวจสอบย้อนหลังได้ เช็คชีทรองรับการทำเวอร์ชัน (versioning) เพื่อไม่ให้การแก้ไขเทมเพลตกระทบงานที่กำลังดำเนินอยู่

ประเภทข้อมูล (Input Type) ของรายการตรวจมี 6 แบบ:

| ประเภทข้อมูล | ใช้เมื่อไหร่ | ช่างเห็นอะไร | ตั้งค่าตัวเลือก |
|--------------|--------------|--------------|-----------------|
| **boolean (ผ่าน/ไม่ผ่าน)** | ตรวจแบบสองค่า (ใช้ได้/ใช้ไม่ได้, มี/ไม่มี) | สวิตช์ผ่าน/ไม่ผ่าน | ไม่ต้องตั้ง |
| **text (ข้อความ)** | บันทึก ข้อสังเกต Serial | ช่องข้อความอิสระ | ไม่ต้องตั้ง |
| **number (ตัวเลข)** | ค่าวัด (อุณหภูมิ แรงดัน โวลต์) | แป้นตัวเลข | ไม่ต้องตั้ง |
| **photo (รูปภาพ)** | หลักฐานภาพสภาพ/งานที่ทำ | ปุ่มถ่ายรูป (อย่างน้อย 1 รูป) | ไม่ต้องตั้ง |
| **select (ตัวเลือกเดียว)** | ให้คะแนนสภาพ (ดี/พอใช้/แย่) | ปุ่มเรดิโอ | ต้องกำหนดรายการตัวเลือก |
| **multi-select (หลายตัวเลือก)** | ข้อบกพร่องหลายอย่าง | กล่องเช็ก | ต้องกำหนดรายการตัวเลือก |

---

## สถานการณ์: ดูรายการเทมเพลตเช็คชีท

### สิ่งที่คุณต้องการทำ

ดูเทมเพลตเช็คชีททั้งหมดในระบบพร้อมสถานะการผูกและข้อมูลเวอร์ชัน

### ขั้นตอน

1. คลิก **งาน → เช็คชีท (Check Sheets)** ในเมนูด้านซ้าย รายการเทมเพลตจะโหลดอัตโนมัติ

   ![หน้ารายการเทมเพลตเช็คชีทแสดงหลายเทมเพลตพร้อมรายละเอียด](images/04-template-list.png)

   <!-- 📸 NEED SCREENSHOT: หน้ารายการเทมเพลตเช็คชีทแสดงหลายเทมเพลตพร้อมคอลัมน์รายละเอียด -->

2. แต่ละแถวในรายการแสดง: ชื่อเทมเพลต, ประเภทงาน (BM/IN/UN/IS/QC), หมายเลขเวอร์ชัน, จำนวนหมวดหมู่, สถานะ (Active/Inactive), วันที่สร้าง และเมนูการดำเนินการ (⋮)

3. ใช้ **ช่องค้นหา (Search)** เพื่อกรองตามชื่อเทมเพลต

4. คลิกแถวใดก็ได้เพื่อเปิดรายละเอียดและตัวแก้ไขเทมเพลต

### ผลลัพธ์ที่จะเกิดขึ้น

รายการแสดงเวอร์ชันล่าสุดของแต่ละเทมเพลต คลิกเทมเพลตเพื่อดูโครงสร้าง แก้ไข หรือจัดการการผูก

> **เคล็ดลับ:** ตั้งชื่อเทมเพลตให้สื่อถึงประเภทอุปกรณ์และวัตถุประสงค์งาน (เช่น "ตรวจ PM ลิฟต์รายเดือน" แทน "เทมเพลต 1") เพื่อหาเทมเพลตที่ถูกต้องได้ง่ายตอนผูกกับงาน

---

## สถานการณ์: สร้างเทมเพลตเช็คชีทใหม่

### สิ่งที่คุณต้องการทำ

สร้างเทมเพลตเช็คชีทใหม่ตั้งแต่ต้น พร้อมหมวดหมู่และรายการตรวจ

### ขั้นตอน

1. ที่หน้าเช็คชีท คลิกปุ่ม **+ สร้างเทมเพลต (+ Create)** ที่มุมขวาบน

   ![ปุ่มสร้างเทมเพลตที่มุมขวาบนของหน้ารายการเช็คชีท](images/04-create-template-button.png)

   <!-- 📸 NEED SCREENSHOT: ปุ่ม + สร้างเทมเพลต ที่มุมขวาบนของหน้ารายการเช็คชีท -->

2. กรอกข้อมูลส่วนหัวของเทมเพลต

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | ชื่อเทมเพลต (Template Name)* | ชื่อที่สื่อความหมายชัดเจน | ห้ามเว้นว่าง |
   | คำอธิบาย (Description) | สรุปว่าเทมเพลตนี้ตรวจอะไรและใช้เมื่อไหร่ | ไม่บังคับ |
   | ประเภทใบงาน (Job Type) | เลือกประเภทงานที่ใช้เทมเพลตนี้ (BM/IN/UN/IS/QC) | ไม่บังคับ |

   > **หมายเหตุ:** ช่องที่มีเครื่องหมาย * เป็นช่องที่ต้องกรอก

3. คลิกปุ่ม **+ เพิ่มหมวดหมู่ (+ Add Section)** เพื่อสร้างหมวดหมู่แรก หมวดหมู่ใช้จัดกลุ่มรายการตรวจที่เกี่ยวข้อง

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | ชื่อหมวดหมู่ (Section Name)* | ชื่อกลุ่มการตรวจ เช่น "ตรวจความปลอดภัย", "ระบบไฟฟ้า" | ห้ามเว้นว่าง |
   | ลำดับ (Display Order) | ลำดับการแสดงผล | ลากเพื่อจัดลำดับใหม่ได้ |

   ![ตัวแก้ไขเทมเพลตขณะเพิ่มหมวดหมู่และรายการตรวจ](images/04-template-editor.png)

   <!-- 📸 NEED SCREENSHOT: ตัวแก้ไขเทมเพลตขณะเพิ่มหมวดหมู่และรายการตรวจ -->

4. ภายในแต่ละหมวดหมู่ คลิกปุ่ม **+ เพิ่มรายการตรวจ (+ Add Item)** เพื่อเพิ่มรายการตรวจ

   | ช่อง | กรอกอะไร | เงื่อนไข |
   |------|----------|----------|
   | ข้อความ/คำถาม (Label)* | คำถามหรือป้ายของรายการตรวจ | ห้ามเว้นว่าง |
   | ประเภทข้อมูล (Input Type)* | boolean / text / number / photo / select / multi-select | ต้องเลือก |
   | จำเป็น (Required) | เปิดสวิตช์เพื่อบังคับให้ช่างกรอกรายการนี้ | เปิด/ปิด |
   | ตัวเลือก (Options) | สำหรับ select / multi-select เท่านั้น: กำหนดรายการตัวเลือก | จำเป็นเฉพาะประเภท select |

   > **หมายเหตุ:** ช่องที่มีเครื่องหมาย * เป็นช่องที่ต้องกรอก

5. สำหรับรายการประเภท **select / multi-select** คลิก **+ เพิ่มตัวเลือก (+ Add Option)** แล้วกรอกชื่อตัวเลือกทีละรายการ (เช่น "ดี", "พอใช้", "แย่") ลากเพื่อจัดลำดับได้

6. ทำซ้ำขั้นตอน 3–5 จนครบทุกหมวดหมู่และรายการ จากนั้นคลิกปุ่ม **บันทึก (Save)**

### ผลลัพธ์ที่จะเกิดขึ้น

ระบบสร้างเทมเพลตเป็น **เวอร์ชัน 1** สถานะ Active พร้อมให้ผูกกับประเภทงาน ช่างจะยังไม่เห็นเทมเพลตจนกว่าจะถูกผูกกับประเภทงานที่สร้างใบงานของช่าง

> **คำเตือน:** วางโครงสร้างเทมเพลตให้รอบคอบก่อนสร้าง แม้จะแก้ไขภายหลังได้ แต่การแก้ไขจะสร้างเวอร์ชันใหม่ ทุกหมวดหมู่ต้องมีรายการตรวจอย่างน้อย 1 รายการ

---

## สถานการณ์: ผูกเทมเพลตกับประเภทงาน

### สิ่งที่คุณต้องการทำ

ผูกเทมเพลตกับประเภทงานหนึ่งหรือหลายประเภท เพื่อให้งานในอนาคตของประเภทนั้นใช้เช็คชีทนี้อัตโนมัติ

### ขั้นตอน

1. คลิกแถวเทมเพลตในรายการเพื่อเปิด หรือแก้ไขเทมเพลต

2. ที่ช่อง **ประเภทใบงาน (Job Type)** เลือกประเภทงานที่ควรใช้เทมเพลตนี้

   | ประเภทงาน | รหัส | คำอธิบาย |
   |-----------|------|----------|
   | Break/Fix | BM | งานซ่อมแก้ไขเชิงแก้ปัญหา |
   | Install | IN | งานติดตั้งอุปกรณ์ |
   | Uninstall | UN | งานถอดอุปกรณ์ |
   | Inspect | IS | งานตรวจสอบตามรอบ |
   | Quality Check | QC | งานตรวจสอบคุณภาพ |

   > **หมายเหตุ:** งาน PM ใช้ระบบเช็คลิสต์เฉพาะที่ผูกกับเช็คลิสต์ตามรุ่นทรัพย์สิน แยกจากเทมเพลตที่จัดการในหน้านี้ (ใช้กับ BM/IN/UN/IS/QC)

3. คลิกปุ่ม **บันทึก (Save)** เพื่อใช้การผูก

### ผลลัพธ์ที่จะเกิดขึ้น

งานใหม่ทุกงานที่สร้างด้วยประเภทงานที่เลือกจะรวมเทมเพลตเช็คชีทนี้อัตโนมัติ งานที่มีอยู่ไม่ได้รับผลกระทบ — ยังคงใช้เทมเพลตเวอร์ชันที่ผูกไว้ตอนสร้างงาน

<!-- VERIFY: UF-022 ระบุการผูกผ่านช่อง Job Type ในฟอร์มเทมเพลต ส่วน 14-check-sheet-management.md (อังกฤษ) ระบุแท็บ Assignment แยกและการผูกกับสัญญา (contract) — UF ที่เป็นแหล่งอ้างอิงหลักไม่มีแท็บ Assignment/contract assignment จึงไม่ได้รวมไว้ ต้องยืนยันกับ UI จริงว่ามีแท็บ Assignment และการผูกกับสัญญาหรือไม่ -->

---

## สถานการณ์: แก้ไขเทมเพลต (การทำเวอร์ชัน)

### สิ่งที่คุณต้องการทำ

แก้ไขเทมเพลตที่มีอยู่โดยไม่กระทบงานที่กำลังดำเนินอยู่ซึ่งใช้เวอร์ชันปัจจุบัน

### ขั้นตอน

1. คลิกเมนูการดำเนินการ (⋮) ที่แถวเทมเพลต แล้วคลิก **แก้ไข (Edit)**

   ![ตัวแก้ไขเทมเพลตในโหมดแก้ไขพร้อมตัวบ่งชี้เวอร์ชัน](images/04-template-edit-versioning.png)

   <!-- 📸 NEED SCREENSHOT: ตัวแก้ไขเทมเพลตในโหมดแก้ไขพร้อมตัวบ่งชี้หมายเลขเวอร์ชัน -->

2. แก้ไขชื่อเทมเพลต คำอธิบาย ประเภทใบงาน หรือเพิ่ม/ลบ/แก้หมวดหมู่และรายการตรวจ

3. หากต้องการบังคับให้ช่างกรอกรายการสำคัญ ให้เปิดสวิตช์ **จำเป็น (Required)** ของรายการนั้น

   | สถานะ จำเป็น | ผลต่อช่าง |
   |--------------|-----------|
   | เปิด | ช่าง **ต้อง** กรอกรายการนี้ก่อนปิดงาน แอปจะบล็อกการส่งหากเว้นว่าง |
   | ปิด | ช่างข้ามรายการนี้ได้ (ไม่บังคับ) |

   > **หมายเหตุ:** รายการประเภท photo ที่ตั้งเป็น จำเป็น ช่างต้องอัปโหลดอย่างน้อย 1 รูป

4. คลิกปุ่ม **บันทึก (Save)** ระบบจะตรวจสอบว่าเทมเพลตถูกใช้ในงานที่กำลังดำเนินอยู่หรือไม่

   | กรณี | สิ่งที่เกิดขึ้น |
   |------|----------------|
   | ถูกใช้ในงานที่กำลังดำเนินอยู่ | ระบบสร้างเวอร์ชันใหม่ งานที่กำลังทำยังคงใช้เวอร์ชันเดิม |
   | ไม่ถูกใช้ในงานใด | ระบบอัปเดตเทมเพลตเดิมและเพิ่มหมายเลขเวอร์ชัน |

### ผลลัพธ์ที่จะเกิดขึ้น

หมายเลขเวอร์ชันเพิ่มขึ้น งานที่กำลังดำเนินอยู่ยังคงใช้เวอร์ชันที่ active ตอนสร้างงาน เฉพาะงานใหม่เท่านั้นที่ได้เวอร์ชันที่อัปเดต ทำให้ช่างที่กำลังตรวจอยู่ไม่ถูกรบกวนจากการเปลี่ยนเทมเพลต (BR1)

> **คำเตือน:** ประวัติเวอร์ชันเป็นแบบถาวร ทุกครั้งที่บันทึกจะสร้างเวอร์ชันใหม่ที่ลบไม่ได้ ตรวจการแก้ไขให้รอบคอบก่อนบันทึกเพื่อหลีกเลี่ยงเวอร์ชันที่ไม่จำเป็น

---

## สถานการณ์: ลบเทมเพลตเช็คชีท

### สิ่งที่คุณต้องการทำ

ลบเทมเพลตที่ไม่ได้ใช้แล้วออกจากระบบ

### ขั้นตอน

1. คลิกเมนูการดำเนินการ (⋮) ที่แถวเทมเพลตในรายการ แล้วคลิก **ลบ (Delete)**

2. ระบบตรวจสอบว่าเทมเพลตถูกผูกกับสัญญาที่ใช้งานอยู่หรือไม่

   | กรณี | สิ่งที่เกิดขึ้น |
   |------|----------------|
   | ถูกผูกกับสัญญาที่ใช้งานอยู่ | แสดง "ไม่สามารถลบได้" เพราะเทมเพลตยังถูกใช้โดยสัญญาที่ใช้งานอยู่ (BR5) |
   | ไม่ถูกผูกกับสัญญา | แสดงกล่องยืนยันการลบ |

3. ในกล่องยืนยัน ตรวจสอบชื่อเทมเพลต แล้วคลิก **ยืนยัน (Confirm)** เพื่อลบ หรือ **ยกเลิก (Cancel)** เพื่อปิด

### ผลลัพธ์ที่จะเกิดขึ้น

เทมเพลตถูกลบ ระบบแสดงข้อความแจ้งและรีเฟรชรายการ

> **หมายเหตุ:** หากต้องลบเทมเพลตที่ผูกกับสัญญา ต้องนำการผูกสัญญาออกก่อนจึงจะลบได้

---

## สถานการณ์: ดูผลเช็คชีทของงานที่เสร็จแล้ว

### สิ่งที่คุณต้องการทำ

ตรวจสอบคำตอบเช็คชีทที่ช่างกรอกของงานที่เสร็จแล้ว รวมถึงรูปภาพที่อัปโหลด

### ขั้นตอน

1. คลิก **งาน → จัดการงาน (Job Management)** ในเมนูด้านซ้าย แล้วเปิดงานที่เสร็จแล้ว

2. คลิกแท็บ **เช็คชีท (Check Sheet)** ในหน้ารายละเอียดงาน

   ![ผลเช็คชีทที่เสร็จแล้วแสดงคำตอบทุกประเภทพร้อมสรุปผ่าน/ไม่ผ่าน](images/04-check-sheet-results.png)

   <!-- 📸 NEED SCREENSHOT: ผลเช็คชีทที่เสร็จแล้วแสดงคำตอบทุกประเภทและสรุปผ่าน/ไม่ผ่าน -->
   <!-- ⛔ DEMO BUILD GAP (2026-05-18): ผลเช็คชีทไม่ปรากฏบนหน้า job edit ที่เข้าถึงได้ใน demo (ไม่มีแท็บ/section เช็คชีท) — ต้อง capture จากงาน PM/Inspect ที่มีเช็คชีทเสร็จแล้วใน environment จริง -->

3. ดูผลที่แสดงทุกหมวดหมู่และรายการพร้อมคำตอบของช่าง พร้อมส่วนหัว (ชื่อเทมเพลต + เวอร์ชัน, วันที่เสร็จ, ชื่อช่าง) และสรุปผ่าน/ไม่ผ่านต่อหมวดหมู่

   | ประเภทข้อมูล | แสดงผลอย่างไร |
   |--------------|----------------|
   | boolean | ผ่าน (เครื่องหมายถูกเขียว) หรือ ไม่ผ่าน (กากบาทแดง) |
   | text | ข้อความที่กรอก |
   | number | ตัวเลขที่กรอก |
   | photo | ภาพย่อ (คลิกเพื่อขยาย) |
   | select | ตัวเลือกที่เลือก |
   | multi-select | ตัวเลือกทั้งหมดที่เลือก |

4. คลิก **ดาวน์โหลดผล (Export)** เพื่อบันทึกผลเป็น PDF หรือรวมในรายงานงานฉบับเต็ม

### ผลลัพธ์ที่จะเกิดขึ้น

ผลเช็คชีทเป็นแบบ **อ่านอย่างเดียว (immutable)** หลังงานเสร็จ แก้ไข ลบ หรือเขียนทับไม่ได้ เพื่อรักษาความถูกต้องของบันทึกการตรวจสำหรับการตรวจสอบและกำกับการ (BR4)

> **หมายเหตุ:** หากผลเช็คชีทไม่ถูกต้อง แสดงว่าช่างกรอกผิดตอนส่ง เนื่องจากผลแก้ไม่ได้ วิธีที่ถูกต้องคือสร้างงาน QC (Quality Control) ติดตามผลเพื่อตรวจซ้ำและบันทึกผลที่ถูกต้อง

---

## เมื่อเกิดปัญหา

| สิ่งที่คุณเห็น | ทำอย่างไร |
|---------------|-----------|
| สร้างรหัสทรัพย์สินไม่ได้ — รายการรุ่นว่าง | ต้องสร้างรุ่นทรัพย์สินก่อน ไปที่ เครื่องจักร → รุ่นทรัพย์สิน → + สร้างรุ่น |
| สร้างรุ่นไม่ได้ — รายการประเภทว่าง | ต้องสร้างประเภททรัพย์สินก่อน ไปที่ เครื่องจักร → ประเภททรัพย์สิน → + สร้างประเภท |
| "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 สร้างฝั่งเบราว์เซอร์ |
| แผนที่ไม่แสดงหมุด | สถานที่ของสินทรัพย์ยังไม่มีพิกัด GPS ตรวจสอบและตั้งพิกัดในบทการจัดการลูกค้า |
| ลบทรัพย์สินไม่ได้ | สินทรัพย์มีสัญญาบริการหรืองานที่ใช้งานอยู่ (BR5) นำการผูกออกก่อน |
| ลบเทมเพลตเช็คชีทไม่ได้ | เทมเพลตถูกผูกกับสัญญาที่ใช้งานอยู่ (BR5) นำการผูกสัญญาออกก่อนแล้วจึงลบ |
| ช่างเห็นเทมเพลตเวอร์ชันเก่า | เป็นปกติ — งานที่กำลังทำใช้เวอร์ชันตอนสร้างงาน เฉพาะงานใหม่ได้เวอร์ชันล่าสุด |
| รายการที่ จำเป็น บล็อกไม่ให้ช่างปิดงาน | ทำงานตามที่ตั้งใจ — ช่างต้องกรอกรายการ จำเป็น ทุกรายการ หากไม่เกี่ยวข้อง ให้สร้างเทมเพลตแยกที่ไม่มีรายการนั้น |
| แก้ไขผลเช็คชีทไม่ได้ | ผลเป็นแบบอ่านอย่างเดียวหลังงานเสร็จ (BR4) สร้างงาน QC ติดตามผลหากต้องตรวจซ้ำ |
| ส่งออก CSV ได้ไฟล์ว่าง | ไม่มีข้อมูลตรงกับตัวกรองปัจจุบัน ล้างตัวกรองแล้วลองใหม่ |

---

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

| ต้องการ... | ไปที่ | คลิก |
|------------|-------|------|
| ดูประเภททรัพย์สินทั้งหมด | เครื่องจักร → ประเภททรัพย์สิน | (โหลดอัตโนมัติ) |
| สร้างประเภททรัพย์สิน | เครื่องจักร → ประเภททรัพย์สิน | **+ สร้างประเภท** → กรอกฟอร์ม → **บันทึก** |
| สร้างรุ่นทรัพย์สิน | เครื่องจักร → รุ่นทรัพย์สิน | **+ สร้างรุ่น** → เลือกประเภท กรอกสเปก → **บันทึก** |
| ลงทะเบียนสินทรัพย์รายตัว | เครื่องจักร → รหัสทรัพย์สิน | **+ สร้างทรัพย์สิน** → กรอกฟอร์ม → **บันทึก** |
| นำเข้าสินทรัพย์จำนวนมาก | เครื่องจักร → รหัสทรัพย์สิน | **นำเข้า** → ดาวน์โหลดเทมเพลต → กรอก CSV → อัปโหลด |
| ดูสินทรัพย์บนแผนที่ | เครื่องจักร → แผนที่ทรัพย์สิน | (โหลดอัตโนมัติพร้อมหมุด) |
| สร้าง/พิมพ์ QR Code | หน้ารายละเอียดรหัสทรัพย์สิน | **พิมพ์ QR** |
| ดูประวัติการซ่อม | หน้ารายละเอียดรหัสทรัพย์สิน | แท็บ **ประวัติการซ่อม** |
| ดูสถานะอะไหล่ | หน้ารายละเอียดรหัสทรัพย์สิน | แท็บ **สถานะอะไหล่** |
| ส่งออกข้อมูลสินทรัพย์ | เครื่องจักร → (ประเภท/รุ่น/รหัส) | **ดาวน์โหลด (Export)** |
| ดูเทมเพลตเช็คชีททั้งหมด | งาน → เช็คชีท | (โหลดอัตโนมัติ) |
| สร้างเทมเพลตเช็คชีท | งาน → เช็คชีท | **+ สร้างเทมเพลต** → เพิ่มหมวดหมู่/รายการ → **บันทึก** |
| แก้ไขเทมเพลต (สร้างเวอร์ชันใหม่) | งาน → เช็คชีท → เมนู (⋮) | **แก้ไข** → แก้ไข → **บันทึก** |
| ผูกเทมเพลตกับประเภทงาน | ฟอร์มเทมเพลต → ประเภทใบงาน | เลือกประเภทงาน → **บันทึก** |
| ลบเทมเพลตเช็คชีท | งาน → เช็คชีท → เมนู (⋮) | **ลบ** → **ยืนยัน** |
| ดูผลเช็คชีทของงาน | งาน → จัดการงาน → เปิดงาน | แท็บ **เช็คชีท** (อ่านอย่างเดียว) |

---

## ภาพหน้าจอที่ต้องเพิ่ม

> **หมายเหตุ:** มีภาพ capture ดิบของหน้าจัดการสินทรัพย์อยู่แล้วที่ `00-assets/images/assets/` (`Screenshot 2569-02-13 at 16.55.47.png`, `16.56.08.png`, `16.56.19.png`) ใช้เป็นต้นทางได้ แต่ภาพในบทนี้ยังต้องวางที่ `images/04-` ตามแบบแผน

| # | สิ่งที่ต้องถ่าย | เส้นทางหน้า |
|---|----------------|-------------|
| 1 | หน้ารายการประเภททรัพย์สินพร้อมปุ่ม + สร้างประเภท | `/asset/type` |
| 2 | หน้ารายการรุ่นทรัพย์สินแสดงคอลัมน์ประเภท แบรนด์ ชื่อรุ่น | `/asset/model` |
| 3 | ฟอร์มสร้างรุ่นทรัพย์สินพร้อมช่องเลือกประเภท แบรนด์ ชื่อรุ่น สเปก | `/asset/model/create` |
| 4 | ฟอร์มสร้างรหัสทรัพย์สินแสดงทุกช่อง (รุ่น, Serial, การรับประกัน, ลูกค้า, สถานที่, สถานะ) | `/asset/code/create` |
| 5 | กล่องนำเข้า CSV แสดงดาวน์โหลดเทมเพลต พื้นที่อัปโหลด และผลตรวจสอบ | `/asset/code` (Import modal) |
| 6 | หน้าแผนที่ทรัพย์สินแสดง Google Maps พร้อมหมุดสถานที่และการ์ดสินทรัพย์ | `/asset/map` |
| 7 | หน้ารายละเอียดรหัสทรัพย์สินพร้อม QR Code และปุ่มพิมพ์ QR | `/asset/code/[id]` (ส่วน QR) |
| 8 | แท็บประวัติการซ่อมแสดงไทม์ไลน์เหตุการณ์ วันที่ การดำเนินการ เลขที่งาน | `/asset/code/[id]` (แท็บประวัติการซ่อม) |
| 9 | หน้ารายการเทมเพลตเช็คชีทแสดงหลายเทมเพลตพร้อมคอลัมน์รายละเอียด | `/check-sheets` |
| 10 | ปุ่ม + สร้างเทมเพลต ที่มุมขวาบนของหน้ารายการเช็คชีท | `/check-sheets` (มุมขวาบน) |
| 11 | ตัวแก้ไขเทมเพลตขณะเพิ่มหมวดหมู่และรายการตรวจ | `/check-sheets/create` |
| 12 | ตัวแก้ไขเทมเพลตในโหมดแก้ไขพร้อมตัวบ่งชี้หมายเลขเวอร์ชัน | `/check-sheets/[id]/edit` |
| 13 | ผลเช็คชีทที่เสร็จแล้วแสดงคำตอบทุกประเภทและสรุปผ่าน/ไม่ผ่าน | `/job/edit/[id]` (แท็บเช็คชีท) |

---

*อ้างอิง: FR-013, FR-022, UF-013, UF-022 · ยึดมาตรฐาน `06-support/user-manual-writing-standard.md`*
