- Fix dimension Pareto datasources: PJ_TYPE/PRODUCTLINENAME from DW_MES_CONTAINER, WORKFLOWNAME from DW_MES_LOTWIPHISTORY via WIPTRACKINGGROUPKEYID, EQUIPMENTNAME from LOTREJECTHISTORY only (no WIP fallback), workcenter dimension uses WORKCENTER_GROUP - Add multi-select Pareto click filtering with chip display and detail list integration - Add TOP 20 display scope selector for TYPE/WORKFLOW/機台 dimensions - Pass Pareto selection (dimension + values) through to list/export endpoints - Enable TRACE_WORKER_ENABLED=true by default in start_server.sh and .env.example - Archive reject-history-pareto-datasource-fix and reject-history-pareto-ux-enhancements - Update reject-history-api and reject-history-page specs with new Pareto behaviors Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
MODIFIED Requirements
Requirement: Reject History API SHALL provide CSV export endpoint
The API SHALL provide CSV export using the same filter and metric semantics as list/query APIs.
Scenario: Export payload consistency
- WHEN
GET /api/reject-history/exportis called with valid filters - THEN CSV headers SHALL include both
REJECT_TOTAL_QTYandDEFECT_QTY - THEN export rows SHALL follow the same semantic definitions as summary/list endpoints
Scenario: Cached export supports full detail-filter parity
- WHEN
GET /api/reject-history/export-cachedis called with an existingquery_id - THEN the endpoint SHALL apply primary policy toggles, supplementary filters, trend-date filters, metric filter, and Pareto-selected item filters
- THEN returned rows SHALL match the same filtered detail dataset semantics used by
GET /api/reject-history/view
Scenario: CSV encoding and escaping are stable
- WHEN either export endpoint returns CSV
- THEN response charset SHALL be
utf-8-sig - THEN values containing commas, quotes, or newlines SHALL be CSV-escaped correctly