Bug #26993
[OEE][Performance Dashboard] Job - ค่า Actual ผันตาม Filter ต้องแก้ให้แสดงตาม Plan Time #kiro
0%
Description
- ปัญหา
ในหน้า Performance Dashboard ส่วน Job Table คอลัมน์ Actual ผันค่าตาม filter (from/to) ที่ผู้ใช้เลือก ทำให้แสดงจำนวนชิ้นงานเฉพาะช่วงเวลาที่ filter เท่านั้น ไม่ใช่ค่าจริงทั้งหมดของ Job
- ผลการวิเคราะห์ Code
| ค่า | ผันตาม filter? | สาเหตุ |
| --- | --- | --- |
| Actual | ✅ ผัน (BUG) | `iot_ps` query ด้วย from/to ของ filter |
| P2 (Machine Working) | ❌ ไม่ผัน (ปกติ) | คำนวณจาก on_seconds ใน plan time ทั้งหมด |
- Root Cause
ไฟล์: `routes/job-v1.2/tracking.js`
```javascript
// iot_p query ใช้ from/to ของ filter (ทำให้ Actual ผันตาม filter)
result = await clientIot.query(query, [
all_asset_codes,
from.toISOString(), // ← ใช้ filter from
to.toISOString(), // ← ใช้ filter to
]);
const iot_ps = result.rows;
```
- พฤติกรรมที่ต้องการ
ค่า Actual ต้องแสดงตามช่วงเวลาของ Plan Time ของ Job นั้นๆ (ไม่ผันตาม filter)
ตัวอย่าง:
- Job A มี Plan Time: 08:00 - 16:00
- ผู้ใช้ filter: 10:00 - 12:00
- ปัจจุบัน (ผิด): Actual แสดงเฉพาะช่วง 10:00 - 12:00
- ที่ต้องการ (ถูก): Actual แสดงทั้งช่วง 08:00 - 16:00 (ตาม Plan Time ของ Job)
- สิ่งที่ต้องแก้ไข
- Backend (oee-api)
- ไฟล์: `routes/job-v1.2/tracking.js`
- ปรับ query `iot_p` ให้ใช้ `earliest_start` แทน `from` (เหมือนกับที่ `iot_a` ทำอยู่แล้ว)
```javascript
// แก้จาก:
from.toISOString()
// เป็น:
moment(earliest_start * 1000).toISOString()
```
Files
History
Updated by Supparoek Sariphan 2 days ago
- Status changed from New to Resolved
- Assignee changed from Supparoek Sariphan to Suphawan Phiwngam
- นำ AI มาช่วย(%) changed from 0 to 100