- 新增欄位類型偵測:自動識別 Excel 與 Oracle 欄位類型並顯示類型標籤 - 新增 LIKE 模糊查詢:支援包含/開頭/結尾三種模式,上限 100 個關鍵字 - 新增日期範圍篩選:支援起始/結束日期,範圍限制 365 天 - 新增大型資料表效能警告:超過 1000 萬筆時提示使用日期範圍縮小查詢 - 新增 /execute-advanced API 端點整合所有進階條件 - 新增 /table-metadata 端點取得欄位類型資訊 - 新增完整測試套件:76 個測試(單元/整合/E2E) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
1. 後端:欄位 Metadata 功能
- 1.1 在
database.py新增get_table_column_metadata()函式,查詢ALL_TAB_COLUMNS取得欄位類型資訊 - 1.2 在
excel_query_service.py新增detect_excel_column_type()函式,分析 Excel 欄位類型 - 1.3 在
excel_query_routes.py新增POST /api/excel-query/table-metadata端點
2. 後端:日期範圍查詢功能
- 2.1 在
excel_query_service.py新增build_date_range_condition()函式,生成 BETWEEN SQL 條件 - 2.2 修改
TABLES_CONFIG結構確認time_field欄位可被正確讀取
3. 後端:LIKE 模糊查詢功能
- 3.1 在
excel_query_service.py新增build_like_condition()函式,支援 contains/prefix/suffix 三種模式 - 3.2 在
excel_query_service.py新增escape_like_pattern()函式,處理特殊字元%和_的跳脫 - 3.3 新增 LIKE 查詢關鍵字數量驗證(上限 100 個)
4. 後端:進階查詢 API
- 4.1 在
excel_query_routes.py新增POST /api/excel-query/execute-advanced端點 - 4.2 整合 IN、LIKE、日期範圍三種條件的組合查詢邏輯
- 4.3 新增大型資料表 LIKE 查詢效能警告機制
5. 前端:欄位類型顯示
- 5.1 修改
excel_query.html,在 Excel 欄位選擇下拉選單加入類型標籤 - 5.2 修改
excel_query.html,在 Oracle 欄位選擇下拉選單加入類型標籤 - 5.3 新增欄位類型不相符警告訊息
6. 前端:進階條件 UI
- 6.1 在 Step 4 區塊新增摺疊式「進階條件」面板
- 6.2 新增查詢類型選擇器(完全符合 / 包含 / 開頭符合 / 結尾符合)
- 6.3 新增日期範圍選擇器(起始日期、結束日期)
- 6.4 新增日期範圍驗證邏輯(start <= end, range <= 365 days)
- 6.5 新增大型資料表 LIKE 查詢效能警告 UI
7. 前端:API 整合
- 7.1 修改
loadTableColumns()改用/table-metadata端點取得欄位資訊 - 7.2 新增
executeAdvancedQuery()函式呼叫/execute-advanced端點 - 7.3 修改
validateQuery()加入進階條件驗證邏輯
8. 測試與驗證
- 8.1 測試日期範圍查詢功能(各種日期組合)
- 8.2 測試 LIKE 查詢功能(三種模式、特殊字元)
- 8.3 測試欄位類型偵測準確度
- 8.4 測試大型資料表效能警告觸發
- 8.5 驗證向後相容性(原有
/execute端點仍正常運作)
注意:上述測試項目需在實際環境中手動驗證。程式碼已通過語法檢查。