Project

General

Profile

Bug #26993

[OEE][Performance Dashboard] Job - ค่า Actual ผันตาม Filter ต้องแก้ให้แสดงตาม Plan Time #kiro

Added by Suphawan Phiwngam 2 days ago. Updated 2 days ago.

Status:
Resolved
Priority:
Urgent
Start date:
05/12/2026
Due date:
05/14/2026
% Done:

0%

Estimated time:
นำ AI มาช่วย(%):
100

Description

  1. ปัญหา

ในหน้า Performance Dashboard ส่วน Job Table คอลัมน์ Actual ผันค่าตาม filter (from/to) ที่ผู้ใช้เลือก ทำให้แสดงจำนวนชิ้นงานเฉพาะช่วงเวลาที่ filter เท่านั้น ไม่ใช่ค่าจริงทั้งหมดของ Job

  1. ผลการวิเคราะห์ Code
ค่า ผันตาม filter? สาเหตุ
--- --- ---
Actual ✅ ผัน (BUG) `iot_ps` query ด้วย from/to ของ filter
P2 (Machine Working) ❌ ไม่ผัน (ปกติ) คำนวณจาก on_seconds ใน plan time ทั้งหมด
  1. 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;
```

  1. พฤติกรรมที่ต้องการ

ค่า 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)

  1. สิ่งที่ต้องแก้ไข
  1. 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

#1

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

Also available in: Atom PDF