Bug #27195
Updated by Suphawan Phiwngam 19 days ago
หน้า Machine Overview — ส่วน Quality section ตารางล่าง OK % แสดงค่าผิดเมื่อ group by model
*ปัญหา*
* ## ปัญหา
ปัจจุบัน OK % ใช้ **AVG ของ okRate แต่ละ job** → ถ้ามี job ที่ยังไม่มีการผลิต (totalQty=0, okRate=0) จะถูกนำมาหารด้วย ทำให้ค่าต่ำกว่าความเป็นจริง
**ตัวอย่างจากรูป:**
* - MKP มี 4 jobs: job1 okRate=100%, job2-4 ยังไม่ผลิต (okRate=0)
* - AVG = (100 + 0 + 0 + 0) / 4 = **25%** ← แสดงอยู่ปัจจุบัน
* - ค่าที่ถูกต้องควรเป็น **100%** เพราะชิ้นที่ผลิตออกมาทั้งหมดเป็นชิ้นดี ไม่มี NG
*วิธีคำนวณที่ถูกต้อง* ## วิธีคำนวณที่ถูกต้อง
```
<pre>
OK % = SUM(good_qty) / SUM(total_qty) × 100
</pre>
* ```
- คิดจาก totalQty (จำนวนที่ผลิตจริง) ไม่ใช้ AVG per job
* - Job ที่ยังไม่มีการผลิต (totalQty=0) จะไม่มีผลต่อ %
* - ตัวอย่าง: good=159, totalQty=159 → OK% = 100%
*ไฟล์ที่เกี่ยวข้อง* ## ไฟล์ที่เกี่ยวข้อง
* - Frontend: `oee-web/src/routes/MachineDashboard/components/ProductionQuality/index.js` → `groupJobsByModel()` (เปลี่ยนจาก AVG เป็น SUM/SUM)
ดู screenshot แนบประกอบ
*ปัญหา*
* ## ปัญหา
ปัจจุบัน OK % ใช้ **AVG ของ okRate แต่ละ job** → ถ้ามี job ที่ยังไม่มีการผลิต (totalQty=0, okRate=0) จะถูกนำมาหารด้วย ทำให้ค่าต่ำกว่าความเป็นจริง
**ตัวอย่างจากรูป:**
* - MKP มี 4 jobs: job1 okRate=100%, job2-4 ยังไม่ผลิต (okRate=0)
* - AVG = (100 + 0 + 0 + 0) / 4 = **25%** ← แสดงอยู่ปัจจุบัน
* - ค่าที่ถูกต้องควรเป็น **100%** เพราะชิ้นที่ผลิตออกมาทั้งหมดเป็นชิ้นดี ไม่มี NG
*วิธีคำนวณที่ถูกต้อง* ## วิธีคำนวณที่ถูกต้อง
```
<pre>
OK % = SUM(good_qty) / SUM(total_qty) × 100
</pre>
* ```
- คิดจาก totalQty (จำนวนที่ผลิตจริง) ไม่ใช้ AVG per job
* - Job ที่ยังไม่มีการผลิต (totalQty=0) จะไม่มีผลต่อ %
* - ตัวอย่าง: good=159, totalQty=159 → OK% = 100%
*ไฟล์ที่เกี่ยวข้อง* ## ไฟล์ที่เกี่ยวข้อง
* - Frontend: `oee-web/src/routes/MachineDashboard/components/ProductionQuality/index.js` → `groupJobsByModel()` (เปลี่ยนจาก AVG เป็น SUM/SUM)
ดู screenshot แนบประกอบ