|
1
|
# Requirement Document
|
|
2
|
## เมนู: รายการซ่อมทั้งหมด (All Repair Records)
|
|
3
|
|
|
4
|
| | |
|
|
5
|
|---|---|
|
|
6
|
| **Document ID** | REQ-Honda-AllRepair-001 |
|
|
7
|
| **Version** | 1.0 |
|
|
8
|
| **Status** | DRAFT-AI |
|
|
9
|
| **Date** | 2026-05-26 |
|
|
10
|
| **Author** | SPA Team |
|
|
11
|
|
|
12
|
---
|
|
13
|
|
|
14
|
## 1. Overview
|
|
15
|
|
|
16
|
เพิ่มเมนูใหม่ "รายการซ่อมทั้งหมด" สำหรับให้ dealer กลุ่มที่ได้รับสิทธิ์สามารถค้นหาประวัติการซ่อมของลูกค้าข้ามทุก dealer ได้
|
|
17
|
|
|
18
|
---
|
|
19
|
|
|
20
|
## 2. Access Control
|
|
21
|
|
|
22
|
- เปิดให้เฉพาะ **dealer บางกลุ่ม** ที่ได้รับสิทธิ์
|
|
23
|
- ใช้ Role/Group ตามระบบปัจจุบัน (ไม่สร้าง Role ใหม่)
|
|
24
|
- dealer ที่ไม่ได้รับสิทธิ์จะไม่เห็นเมนูนี้
|
|
25
|
|
|
26
|
---
|
|
27
|
|
|
28
|
## 3. Search Section
|
|
29
|
|
|
30
|
### Input Fields
|
|
31
|
|
|
32
|
| Field | Type | Required |
|
|
33
|
|---|---|---|
|
|
34
|
| หมายเลขเครื่อง | Text | ต้องกรอกอย่างน้อย 1 field |
|
|
35
|
| เบอร์โทรลูกค้า | Text | ต้องกรอกอย่างน้อย 1 field |
|
|
36
|
|
|
37
|
> **หมายเหตุ:** ค้นหาได้ด้วย field ใด field หนึ่ง หรือทั้งสอง field พร้อมกัน
|
|
38
|
|
|
39
|
---
|
|
40
|
|
|
41
|
## 4. Business Logic
|
|
42
|
|
|
43
|
### 4.1 Search Flow
|
|
44
|
|
|
45
|
```
|
|
46
|
[ค้นด้วยหมายเลขเครื่อง]
|
|
47
|
├── มีงานซ่อม
|
|
48
|
│ └── แสดง Section 1 (ดึงจากข้อมูลงานซ่อม) + Section 2
|
|
49
|
└── ไม่มีงานซ่อม
|
|
50
|
└── แสดง Section 1 (ดึงจากข้อมูลรับประกัน) + ไม่แสดง Section 2
|
|
51
|
|
|
52
|
[ค้นด้วยเบอร์โทร — ไม่ซ้ำ]
|
|
53
|
└── แสดง Section 1 + Section 2 (ใบซ่อมทั้งหมดของลูกค้านั้น)
|
|
54
|
|
|
55
|
[ค้นด้วยเบอร์โทร — ซ้ำ / พบหลายคน]
|
|
56
|
├── Section 1 แสดงรายชื่อลูกค้าทั้งหมดที่ตรงกัน
|
|
57
|
├── รอให้ผู้ใช้คลิกเลือกลูกค้า
|
|
58
|
└── Section 2 แสดงใบซ่อมของลูกค้าที่เลือก
|
|
59
|
```
|
|
60
|
|
|
61
|
### 4.2 Scope ของข้อมูลใบซ่อม
|
|
62
|
|
|
63
|
| Search Input | Scope ใบซ่อมที่แสดง |
|
|
64
|
|---|---|
|
|
65
|
| หมายเลขเครื่อง | เฉพาะหมายเลขเครื่องนั้น |
|
|
66
|
| เบอร์โทร | ทุกใบซ่อมของลูกค้านั้น (ข้ามทุก dealer) |
|
|
67
|
|
|
68
|
---
|
|
69
|
|
|
70
|
## 5. Display Sections
|
|
71
|
|
|
72
|
### Section 1 — ข้อมูลลูกค้า
|
|
73
|
|
|
74
|
แสดงเมื่อค้นหาเจอ (ทั้งกรณีมีและไม่มีงานซ่อม)
|
|
75
|
|
|
76
|
| Field | แหล่งข้อมูล |
|
|
77
|
|---|---|
|
|
78
|
| ชื่อลูกค้า | งานซ่อม / รับประกัน |
|
|
79
|
| เบอร์โทร | งานซ่อม / รับประกัน |
|
|
80
|
| ที่อยู่ | งานซ่อม / รับประกัน |
|
|
81
|
|
|
82
|
> **กรณีเบอร์ซ้ำ:** Section 1 แสดงรายชื่อลูกค้าทั้งหมดในรูปแบบ selectable list ก่อน จากนั้นจึงแสดงข้อมูลลูกค้าที่เลือก
|
|
83
|
|
|
84
|
### Section 2 — ตารางใบซ่อม
|
|
85
|
|
|
86
|
แสดงเสมอหลังจากค้นหาเจอลูกค้า / Default: **Expanded**
|
|
87
|
|
|
88
|
| # | คอลัมน์ | หมายเหตุ |
|
|
89
|
|---|---|---|
|
|
90
|
| 1 | เลขที่ใบซ่อม | มี Link กดเปิดหน้าใบซ่อมได้ |
|
|
91
|
| 2 | ประเภทงานซ่อม | |
|
|
92
|
| 3 | วันที่เข้าซ่อม | |
|
|
93
|
| 4 | ปัญหาจากการใช้งาน | |
|
|
94
|
| 5 | ค่าซ่อมรวม | |
|
|
95
|
| 6 | ชั่วโมงการใช้งาน | |
|
|
96
|
| 7 | Dealer Code | |
|
|
97
|
| 8 | Dealer ชื่อ | |
|
|
98
|
| 9 | วันที่ปิดใบซ่อม | |
|
|
99
|
|
|
100
|
> ข้อมูลรวมทุก dealer ในตารางเดียว ไม่แยก section ตาม dealer
|
|
101
|
> กรณีไม่พบข้อมูลใบซ่อม — แสดง Section 2 แต่แสดงข้อความ "ไม่พบข้อมูลงานซ่อม"
|
|
102
|
|
|
103
|
---
|
|
104
|
|
|
105
|
## 6. Edge Cases
|
|
106
|
|
|
107
|
| กรณี | Behavior |
|
|
108
|
|---|---|
|
|
109
|
| ค้นหาไม่เจอข้อมูลเลย | แสดง label ที่ตาราง "ไม่พบข้อมูล" ตามแบบเดิม|
|
|
110
|
| เบอร์โทรตรงกับหลายคน | แสดง list หรือ มีวิธีให้เลือกก่อนว่าจะดูของลูกค้ารายไหน |
|
|
111
|
| มีข้อมูลรับประกัน แต่ไม่มีงานซ่อม | แสดง Section 1 + Section 2 (ขึ้นว่า "ไม่พบข้อมูลงานซ่อม") |
|
|
112
|
|
|
113
|
---
|
|
114
|
|
|
115
|
## 7. Open Items
|
|
116
|
|
|
117
|
| # | ประเด็น | Owner | Due |
|
|
118
|
|---|---|---|---|
|
|
119
|
| 1 | Field ข้อมูลลูกค้าเพิ่มเติม (ที่อยู่ format, อื่นๆ)? | PM | - |
|
|
120
|
|
|
121
|
---
|
|
122
|
|
|
123
|
*[DRAFT-AI] — โปรด Review ก่อนใช้งานจริง*
|