This commit is contained in:
2026-07-16 09:53:14 +07:00
parent 0fc112a2e8
commit 29cec708a3
1236 changed files with 212848 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
# Task: เอาข้อมูลชั่วโมงรวม, ชั่วโมง K, ชั่วโมง S, ชั่วโมง A ออกจาก Import พนักงาน
ก่อนเริ่มแก้ไข กรุณาอ่านและปฏิบัติตาม `AGENTS.md` อย่างเคร่งครัด และตรวจสอบโครงสร้างเดิมก่อนแก้ไข
## เป้าหมาย
ปรับฟีเจอร์ Import พนักงาน ไม่ให้รับข้อมูลชั่วโมงสรุปจากไฟล์ Excel โดยตรง ได้แก่
- ชั่วโมงรวม
- ชั่วโมง K
- ชั่วโมง S
- ชั่วโมง A
เนื่องจากชั่วโมงเหล่านี้ต้องถูกคำนวณจาก Training Record จริงของพนักงาน ไม่ควรกรอกจากไฟล์ Import
## สิ่งที่ต้องแก้ไข
1. ตรวจสอบไฟล์ที่ประกาศหัวตาราง Import เช่น `thaiImportTemplateHeaders`
2. ลบหัวตารางต่อไปนี้ออกจาก Template Import:
- ชั่วโมงรวม
- ชั่วโมง K
- ชั่วโมง S
- ชั่วโมง A
3. ตรวจสอบ API ดาวน์โหลด Template:
- `/api/import-employees/template`
- ให้ไฟล์ Excel Template ที่ดาวน์โหลด ไม่มีคอลัมน์ชั่วโมงรวม/K/S/A แล้ว
4. ตรวจสอบ Logic Parse Excel:
- ห้ามอ่านค่า `total_hours`
- ห้ามอ่านค่า `k_hours`
- ห้ามอ่านค่า `s_hours`
- ห้ามอ่านค่า `a_hours`
5. ตรวจสอบ Validation:
- ลบ validation ที่บังคับหรือ validate ช่องชั่วโมงรวม/K/S/A
- ห้ามแจ้ง error หากไฟล์ไม่มีคอลัมน์เหล่านี้
6. ตรวจสอบ Import Logic:
- ห้ามนำค่าชั่วโมงรวม/K/S/A จาก Excel ไป update Employee หรือ Summary โดยตรง
- Summary ชั่วโมงต้องคำนวณใหม่จาก Training Record จริงเท่านั้น
7. ตรวจสอบ UI หน้า `/dashboard/import-employees`:
- ไม่ต้องแสดงข้อความว่า Import เป้าหมาย K/S/A
- ปรับข้อความให้เหลือเฉพาะ Import ข้อมูลพนักงานและประวัติการอบรม
- ไม่ต้องแสดงหัวตารางชั่วโมงรวม/K/S/A ในรายการหัวตาราง Template
## ข้อความ UI ที่ต้องการ
แก้ข้อความคำอธิบายเป็นประมาณนี้:
- อัปโหลดไฟล์ Excel `.xlsx` เพื่อเพิ่มหรืออัปเดตข้อมูลพนักงานและประวัติการอบรม
- ระบบจะนับรหัสพนักงาน 1 รหัสเป็นพนักงาน 1 คน หากพนักงานมีหลายหลักสูตร ระบบจะสร้างข้อมูลพนักงานเพียง 1 รายการ และบันทึกประวัติการอบรมทุกหลักสูตรเป็น Training Record
- ระบบจะคำนวณชั่วโมงสรุปจาก Training Record ให้อัตโนมัติ
## สิ่งที่ห้ามทำ
- ห้ามลบการบันทึก Training Record
- ห้ามลบ logic การคำนวณ Summary จาก Training Record
- ห้ามแก้ส่วนอื่นที่ไม่เกี่ยวข้อง
- ห้ามสร้าง schema/service/component ใหม่ถ้ามีของเดิมอยู่แล้ว
- ห้ามใช้ค่าชั่วโมงรวม/K/S/A จาก Excel เป็น source of truth
## Acceptance Criteria
หลังแก้ไขต้องได้ผลลัพธ์ดังนี้:
1. Template Import ไม่มีคอลัมน์:
- ชั่วโมงรวม
- ชั่วโมง K
- ชั่วโมง S
- ชั่วโมง A
2. Import ไฟล์ที่ไม่มีคอลัมน์เหล่านี้ได้สำเร็จ
3. ระบบยังสร้าง Employee ได้ถูกต้อง:
- รหัสพนักงานเดียวกัน = Employee 1 รายการ
4. ระบบยังสร้าง Training Record ครบทุกแถว
5. Summary ชั่วโมงของพนักงานยังถูกคำนวณจาก Training Record จริง
6. หน้า `/dashboard/import-employees` แสดงข้อความถูกต้อง และไม่มีข้อความเกี่ยวกับการ Import เป้าหมาย K/S/A
7. หลังแก้ไขเสร็จ ให้สรุปใน `report.md` ว่า:
- แก้ไฟล์ใดบ้าง
- ลบคอลัมน์ใดออก
- ปรับ logic ส่วนใด
- วิธีทดสอบ
- ผลการทดสอบ