Pre-compute 6-dimension metric cubes from cached LOT-level DataFrames so interactive Pareto requests read compact snapshots instead of re-scanning detail rows on every filter change. Includes single-flight build guard, TTL/size guardrails, cross-filter exclude-self evaluation, safe legacy fallback, response metadata exposure, telemetry counters, and a 3-stage rollout plan (telemetry-only → build-enabled → read-through). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
163 lines
3.3 KiB
JSON
163 lines
3.3 KiB
JSON
{
|
|
"pages": [
|
|
{
|
|
"route": "/",
|
|
"name": "首頁",
|
|
"status": "released"
|
|
},
|
|
{
|
|
"route": "/wip-overview",
|
|
"name": "WIP 即時概況",
|
|
"status": "released",
|
|
"drawer_id": "reports",
|
|
"order": 1
|
|
},
|
|
{
|
|
"route": "/hold-overview",
|
|
"name": "Hold 即時概況",
|
|
"status": "released",
|
|
"drawer_id": "reports",
|
|
"order": 2
|
|
},
|
|
{
|
|
"route": "/hold-history",
|
|
"name": "Hold 歷史績效",
|
|
"status": "released",
|
|
"drawer_id": "drawer-2",
|
|
"order": 3
|
|
},
|
|
{
|
|
"route": "/reject-history",
|
|
"name": "報廢歷史查詢",
|
|
"status": "released",
|
|
"drawer_id": "drawer",
|
|
"order": 1
|
|
},
|
|
{
|
|
"route": "/wip-detail",
|
|
"name": "WIP 明細",
|
|
"status": "released"
|
|
},
|
|
{
|
|
"route": "/hold-detail",
|
|
"name": "Hold 明細",
|
|
"status": "released"
|
|
},
|
|
{
|
|
"route": "/resource-history",
|
|
"name": "設備歷史績效",
|
|
"status": "released",
|
|
"drawer_id": "drawer-2",
|
|
"order": 5
|
|
},
|
|
{
|
|
"route": "/qc-gate",
|
|
"name": "QC-GATE 狀態",
|
|
"status": "released",
|
|
"drawer_id": "reports",
|
|
"order": 6
|
|
},
|
|
{
|
|
"route": "/tables",
|
|
"name": "表格總覽",
|
|
"status": "dev",
|
|
"drawer_id": "dev-tools",
|
|
"order": 1
|
|
},
|
|
{
|
|
"route": "/resource",
|
|
"name": "設備即時概況",
|
|
"status": "released",
|
|
"drawer_id": "reports",
|
|
"order": 4
|
|
},
|
|
{
|
|
"route": "/excel-query",
|
|
"name": "Excel 批次查詢",
|
|
"status": "dev",
|
|
"drawer_id": "dev-tools",
|
|
"order": 2
|
|
},
|
|
{
|
|
"route": "/job-query",
|
|
"name": "設備維修查詢",
|
|
"status": "released",
|
|
"drawer_id": "drawer",
|
|
"order": 2
|
|
},
|
|
{
|
|
"route": "/query-tool",
|
|
"name": "批次追蹤工具",
|
|
"status": "released",
|
|
"drawer_id": "drawer-3",
|
|
"order": 2
|
|
},
|
|
{
|
|
"route": "/mid-section-defect",
|
|
"name": "製程不良追溯分析",
|
|
"status": "released",
|
|
"drawer_id": "drawer-3",
|
|
"order": 3
|
|
},
|
|
{
|
|
"route": "/material-trace",
|
|
"name": "原物料追溯查詢",
|
|
"status": "released",
|
|
"drawer_id": "drawer-3",
|
|
"order": 3
|
|
},
|
|
{
|
|
"route": "/admin/pages",
|
|
"name": "頁面管理",
|
|
"status": "released",
|
|
"drawer_id": "dev-tools",
|
|
"order": 1
|
|
},
|
|
{
|
|
"route": "/admin/performance",
|
|
"name": "效能監控",
|
|
"status": "dev",
|
|
"drawer_id": "dev-tools",
|
|
"order": 2
|
|
}
|
|
],
|
|
"api_public": true,
|
|
"db_scan": {
|
|
"schema": "DWH",
|
|
"updated_at": "2026-01-29 13:49:59",
|
|
"object_count": 19,
|
|
"source": "tools/query_table_schema.py"
|
|
},
|
|
"drawers": [
|
|
{
|
|
"id": "reports",
|
|
"name": "即時報表",
|
|
"order": 1,
|
|
"admin_only": false
|
|
},
|
|
{
|
|
"id": "dev-tools",
|
|
"name": "開發工具",
|
|
"order": 4,
|
|
"admin_only": true
|
|
},
|
|
{
|
|
"id": "drawer",
|
|
"name": "查詢工具",
|
|
"order": 3,
|
|
"admin_only": false
|
|
},
|
|
{
|
|
"id": "drawer-2",
|
|
"name": "歷史報表",
|
|
"order": 2,
|
|
"admin_only": false
|
|
},
|
|
{
|
|
"id": "drawer-3",
|
|
"name": "追溯工具",
|
|
"order": 4,
|
|
"admin_only": false
|
|
}
|
|
]
|
|
} |