beabigegg
|
fcfa4fb919
|
feat: Phase 2 連線池化與優雅關閉改進
- NullPool 改為 QueuePool 連線池
- pool_size=5, max_overflow=10, pool_recycle=1800
- pool_pre_ping 確保連線有效性
- 新增連線池監控事件 (checkout/checkin/invalidate/connect)
- 新增 keep-alive 機制 (每 5 分鐘 ping)
- 新增 dispose_engine() 清理函數
- Gunicorn worker_exit hook 自動清理連線
- 降低 graceful_timeout 至 10 秒加速重啟
- 降低 tcp_connect_timeout 至 10 秒減少等待
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-27 18:34:31 +08:00 |
|
beabigegg
|
99eb77b149
|
feat: 資料庫連線穩定性改進與 UI 優化
- 新增結構化錯誤記錄:logging 模組取代 print,含 ORA 錯誤碼擷取
- 新增查詢時間統計:>1s 慢查詢標記為 WARNING
- 密碼 URL 編碼:處理特殊字元避免連線字串解析錯誤
- 新增日誌輪替:服務啟動時自動歸檔舊日誌,保留最近 10 份
- 修正 Equipment 欄位:EQUIPMENTNAME → EQUIPMENTS
- UI 簡化:移除 WIP 狀態卡片的 pcs 後綴
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-27 18:13:05 +08:00 |
|
beabigegg
|
2e67846d4f
|
feat: WIP IT 標準對齊 - RUN/QUEUE/HOLD 分類與 API 格式優化
- 後端:使用 IT 標準 WIP Status 計算邏輯(EQUIPMENTCOUNT/CURRENTHOLDCOUNT)
- API:回傳格式改為 camelCase,新增 byWipStatus 分組統計
- Overview:新增 RUN/QUEUE/HOLD 狀態卡片,Matrix 表格固定欄位樣式
- Detail:KPI 卡片改為狀態分類,表格新增 WIP Status 欄位
- 修復:URL 雙重編碼、race condition、API 逾時增加至 60 秒
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-27 15:43:43 +08:00 |
|
beabigegg
|
5b11d0567f
|
feat: WIP 進階篩選功能與資料庫連線穩定性改進
新增功能:
- WORKORDER/LOT ID 模糊搜尋與 autocomplete 下拉選單
- DUMMY lot 預設排除機制 (可透過 include_dummy 參數覆蓋)
- WIP Detail 頁面,支援四種篩選條件組合
- 搜尋 API 端點 GET /api/wip/meta/search
穩定性改進:
- 改用 NullPool 取代連線池,避免長時間閒置連線被防火牆中斷
- 新增 gunicorn worker timeout (60s),防止 worker 卡死
- 前端 fetchWithTimeout 機制,30 秒 API 逾時處理
- 改進 start_server.sh 停止邏輯,處理孤兒 worker 進程
其他:
- Echarts 下載至本地,避免 CDN 追蹤保護警告
- 新增 WIP 篩選功能單元測試
- 更新 MES 核心表分析報告,加入 DWH.DW_PJ_LOT_V 說明
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-27 13:48:18 +08:00 |
|
beabigegg
|
e75f4712f6
|
chore: 移除 Windows 啟動腳本
移除 Windows 平台專用的 .bat 啟動腳本,統一使用 Linux shell 腳本。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-26 19:20:34 +08:00 |
|
beabigegg
|
20af254868
|
refactor: 重構為 Application Factory 架構
將 Flask 應用重構為正式的 Python package 結構:
- 新增 src/mes_dashboard/ package 取代 apps/ 目錄
- 實作 Application Factory pattern (create_app())
- 移除所有 sys.path.insert hacks,使用標準 import
- 新增 pyproject.toml 定義 package metadata
- 新增 gunicorn.conf.py 部署設定
- 新增 NoOpCache 抽象層,預留未來擴充
- 新增單元測試 tests/test_app_factory.py
- 更新 .gitignore 支援新架構
- 新增 OpenSpec 規格文件追蹤變更
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-26 19:19:23 +08:00 |
|
ymirliu
|
ad0cdb2a5c
|
feat: 重構 WIP 報表為即時 WIP 分布表
主要變更:
- 完全重寫 wip_report.html 為 Pivot 分布表格式
- 新增 3 個 WIP Distribution API (filter_options, pivot_columns, distribution)
- 橫向展開 Workcenter + Spec 組合,只顯示有資料的欄位
- 套用 WORKCENTER_GROUPS 合併邏輯 (切割→焊接→成型等12組)
- 新增 Lot Status 篩選 (Active/Hold,基於 HOLDREASONNAME)
- 排除 DUMMY 工單
- 摘要卡片顯示: 總LOT數、總數量、HOLD LOT數、HOLD數量
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-19 12:01:00 +08:00 |
|
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 |
|