Files

5.5 KiB
Raw Permalink Blame History

Why

目前「批次追蹤工具」雖已拆成正向/反向/設備三個頁籤,但追溯模型仍以 SPLITFROMID + COMBINEDASSYLOTS 為主,與實際 GA/GC/GD/WAFER LOT 關係不完全一致。已完成的資料探索也顯示GC→GA 常透過共同 FIRSTNAMEWafer LOT而非 split 直接可見GD 重工鏈也主要落在 DW_MES_CONTAINERORIGINALCONTAINERID / FIRSTNAME / SPLITFROMID),若不補齊模型,前端樹圖會持續出現「可顯示但語意不正確」的問題。

What Changes

  • 釐清並統一「批次追蹤」資料語意,將追溯關係分成可辨識的邊類型,而不只是一般 parent/child
    • split_from(拆批)
    • merge_source(併批)
    • wafer_originFIRSTNAME 對應 Wafer LOT
    • gd_rework_sourceGD 重工來源,依 ORIGINALCONTAINERID/FIRSTNAME
  • 明確納入 GC 非必經站規則:
    • GC 與 GA 非 1:1也不是必經關係可能僅抽點也可能完全不經 GC
    • 追溯主錨點改為 Wafer LOTGC 視為「可選節點」,不存在時不視為斷鏈
    • 前端需顯示 WAFER -> GA 直接鏈路(無 GC 時),讓使用者可視覺辨識「跳過 GC」情境
  • 調整查詢入口,對齊你定義的使用情境:
    • 正向頁籤支援Wafer LOT、GA/GC 工單、GA/GC LOT 作為起點
    • 反向頁籤支援成品流水號、GD 工單、GD LOT ID 作為起點
  • 讓正反向追溯輸出採同一份「語意化關係圖」資料結構,只在起點與展開方向不同,避免結果解讀不一致。
  • 補齊 GA 無 GC 時的可視化語意:若無 GC 節點,仍須明確顯示 Wafer LOT 補充鏈路,不可隱性省略。
  • 前端樹圖改為「節點類型 + 關係類型」雙重視覺表達(非僅 root/branch/leaf
    • 節點至少區分WAFER、GC、GA、GD、SERIAL
    • 關係邊樣式區分split、merge、wafer-origin、gd-rework
    • 保留點選節點只過濾下方明細,不回頭過濾樹本身。
  • 增加查詢效能與風險控制策略:
    • 先做 seed resolve再按需分段展開關係避免一次全量 fan-out
    • 對 GD 關係查詢加入快取策略(可配置 TTL預設使用既有 Redis 快取層)
    • 補上追溯鏈路命中統計與慢查監控欄位,便於驗證模型是否正確覆蓋。

GD 追溯策略(補充)

  • 反向起點為「成品流水號」時:
    1. 先用 DW_MES_PJ_COMBINEDASSYLOTS.FINISHEDNAME 解析到 GD lot例如 GDxxxx-A01
    2. 取得 GD lot 對應 MFGORDERNAME=GD...
    3. DW_MES_CONTAINER 展開同 GD 工單全部 lot
    4. 每一個 GD lot 以 ORIGINALCONTAINERID(主)與 FIRSTNAME(輔)回溯來源 lot
    5. 來源 lot 再透過 FIRSTNAME 連到 Wafer LOT 錨點
  • 反向起點為「GD 工單」時:
    • 直接從 DW_MES_CONTAINER 取 GD lot 群,後續同上回溯來源 lot 與 Wafer LOT
  • 反向起點為「GD LOT ID」時
    • DW_MES_CONTAINER.CONTAINERNAME 精準命中 GD lot需符合 GD 規則),再沿用同一條回溯鏈
    • 適用「已知單顆/單批 GD lot未知整張 GD 工單」的快速反查情境
  • 正向時,若查到來源 lot 存在 GD 再製分支,需額外顯示 gd_rework_source 邊,形成「原 lot -> GD lot -> 新成品」分支。
  • 限制聲明:
    • 目前資料可穩定追出「來源 lot 與 GD lot 關係」;
    • 舊成品流水號與新成品流水號不保證存在 1:1 可直接映射,提案先保證 lot/workorder 層級完整可追。

現況/需求/整合比較

面向 目前實作 新需求 本提案整合方向
正向入口 lot_id / work_order Wafer LOT + GA/GC 工單 + GA/GC LOT 擴充 resolve type 與正向查詢入口
反向入口 僅成品流水號 成品流水號 + GD 工單 + GD LOT ID 反向 QueryBar 增加 GD 工單/GD LOT 模式
GD 關聯 主要倚賴 COMBINED 映射 需追出重工來源與重測後新結果 改以 DW_MES_CONTAINER 欄位為 GD 主鏈COMBINED 僅作輔助
GC 缺失情境 樹上不易看出補線來源 GA 無 GC 時仍要看見 WAFER LOT 新增 wafer_origin 邊與視覺標示
前端語意 泛化 root/branch/leaf 要看得出流程語意 改成節點/邊語意化圖例與樣式

Capabilities

New Capabilities

  • (none)

Modified Capabilities

  • query-tool-lot-trace: 查詢入口、正反向頁籤語意、樹圖互動與可視化規則更新。
  • lineage-engine-core: 從單一 split/merge 模型擴充為可輸出 wafer/GD 關係的語意化關係圖。
  • trace-staged-api: seed resolve 與 lineage response contract 擴充(新 resolve type、typed edges、節點分類欄位
  • progressive-trace-ux: 正反向追溯在同一 UX 規則下顯示,並保持分段載入與快取策略一致。

Impact

  • 前端frontend/src/query-tool/App.vuefrontend/src/query-tool/components/QueryBar.vuefrontend/src/query-tool/components/LineageTreeChart.vue、相關 composablesuseLotResolve.jsuseLotLineage.jsuseReverseLineage.js
  • 後端 APIsrc/mes_dashboard/routes/query_tool_routes.pysrc/mes_dashboard/routes/trace_routes.py
  • 服務層src/mes_dashboard/services/query_tool_service.pysrc/mes_dashboard/services/lineage_engine.py
  • SQL/資料來源src/mes_dashboard/sql/lineage/*.sqlsrc/mes_dashboard/sql/query_tool/*resolve*.sql(含 DW_MES_CONTAINER 欄位關聯補強)
  • 快取/監控:沿用既有 Redis/L2 cache 與 slow-query logger新增追溯關係命中統計欄位