155 Commits

Author SHA1 Message Date
ymirliu
0c2c253911 feat: 新增 OU% 趨勢圖與工站熱力圖,修正 OU 計算邏輯
- 新增 query_ou_trend() 使用 SHIFT 表計算基於時間的 OU%
- 新增 query_utilization_heatmap() 提供工站利用率熱力圖資料
- OU% 計算公式: PRD / (PRD + SBY + EGT + SDT + UDT) × 100
  - 使用 TXNDATE 和 OLDSTATUSNAME 欄位
  - NST 不納入分母計算
  - 精度調整為小數點後 2 位
- 前端新增趨勢圖與熱力圖視覺化元件
- 熱力圖 Y 軸依工站群組排序 (切割→測試)
- 修正 RESOURCESTATUS_SHIFT 時間欄位為 DATADATE

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 08:08:15 +08:00
ymirliu
cac2017e9f refactor: 移除 DOWN 機台明細表,簡化 Dashboard
- 移除 resource_status.html 中的 DOWN 機台明細表區塊
- 移除相關 CSS 樣式和 JavaScript 函數 (loadDetail, formatDownTime, getStatusClass)
- 保留 KPI 卡片和工站卡片視覺化呈現
- 為後續新增稼動率趨勢圖和熱力圖做準備

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 16:23:09 +08:00
ymirliu
b71dc9f6f8 fix: 修正 DOWN 機台明細查詢與顯示邏輯
1. 修正 Oracle ORA-32034 錯誤 - 將巢狀 WITH 子句改為同層級 CTE
2. Last Update 改用資料庫最新 LASTSTATUSCHANGEDATE,非系統時間
3. Down Time 改為 MAX(LASTSTATUSCHANGEDATE) - 各機台時間差
4. 機台明細表預設只顯示 UDT/SDT (DOWN 狀態)
5. 標題更新為 "DOWN 機台明細"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:51:21 +08:00
ymirliu
1165d7b84e feat: SQLAlchemy連接池、快取機制、UI淺色主題
後端改進:
- 新增 SQLAlchemy engine 連接池 (pool_size=5, max_overflow=10)
- 實現記憶體快取機制 (60秒 TTL)
- 新增排除清單過濾: EXCLUDED_LOCATIONS, EXCLUDED_ASSET_STATUSES
- SQL 查詢使用 CTE 優化、支援分頁 offset
- 預設查詢天數改為 365 天

前端改進:
- UI 主題從深色改為淺色 (CSS 變數化)
- 移除廠區/資產狀態多選下拉選單 (改由後端排除清單控制)
- 明細表格新增「最後狀態時間」欄位
- 簡化篩選邏輯

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 09:49:02 +08:00
ymirliu
313e41390b feat: MES Dashboard 初始版本
- 整合 WIP 報表、機台狀態報表、數據表查詢工具
- 機台狀態報表功能:
  - 支援廠區/資產狀態多選篩選
  - 工站卡片顯示 OU%、機台數、狀態條圖
  - 條圖支援滑鼠懸停顯示詳細資訊
  - 工站合併分組 (切割、焊接、成型等)
- 優化 filter_options API 查詢效能
- 統一狀態顏色定義 (PRD/SBY/UDT/SDT/EGT/NST)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 19:21:53 +08:00