feat(reject-history): two-phase query architecture with cached views

Replace per-interaction Oracle queries with a two-phase model:
- POST /query: single Oracle hit, cache full LOT-level DataFrame (L1+L2)
- GET /view: read cache, apply supplementary/interactive filters via pandas

Add container query mode (LOT/工單/WAFER LOT with wildcard support),
supplementary filters (Package/WC GROUP/Reason) from cached data,
PB_* series exclusion (was PB_Diode only), and query loading spinner.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
egg
2026-02-23 07:08:27 +08:00
parent 57a0b780b1
commit 58e4c87fb6
11 changed files with 1707 additions and 657 deletions

View File

@@ -27,6 +27,7 @@ dependencies:
# Data Processing
- pandas==2.3.3 # Pin DBAPI2-compatible release for current pd.read_sql flow
- pyarrow>=17.0.0,<20.0.0 # Parquet serialization for Redis DataFrame cache
- openpyxl>=3.0.0
# Cache (Redis)