- main_router: add run_automation_test that runs each site's download
flows in a cross sequence (expected/actual) plus a pass/fail report
with timings; expose it as menu [8]
- Site download functions now return False on their exception paths so
the test harness can record failures (baishi also flags config-read
failure)
- Replace overblown log/comment phrasing across all modules with plain
statements; trim docstrings
Co-Authored-By: Claude <noreply@anthropic.com>
- Add paths.py: BASE_DIR/DOWNLOAD_DIR/CONFIG_PATH anchored on __file__
so paths resolve regardless of the launch cwd
- Route main_router and all site modules through DOWNLOAD_DIR/CONFIG_PATH,
replacing os.getcwd()-based download dirs and the "config.yaml" literal
- main_router compare engine: read Excel as str with keep_default_na,
strip/normalize 运单号, drop blanks, and isin against a set so
int/float-vs-str mismatches no longer produce false "undelivered"
- Shunxin: give downloaded files unique microsecond temp names and read
Excel as str to preserve long-waybill precision
- Normalize bare except: to except Exception: across affected files
Co-Authored-By: Claude <noreply@anthropic.com>
- Add _close_tab(page, tab_name) for closing Ant Design Tabs by label
- Close 运单列表 / 车辆点到 in the expected-arrival flow after export
submission, and 数据导出 after download/merge
- Close 卸车扫描记录 and 数据导出 likewise in the actual-arrival flow
- Renumber step comments
Co-Authored-By: Claude <noreply@anthropic.com>
- task_process_undelivered_data now accepts site_name (default 顺心)
and reads/writes {site}-{应到/实到/应到未到}货物数据.xlsx
- Menu option 5 prompts for site name before running reconciliation
- Update 顺心 site outputs to 顺心-应到/实到货物数据.xlsx naming
- Remove redundant inline comments in site_shunxin.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Introduce main_router.py as multi-site controller with interactive menu
- Extract 顺心 site logic into site_shunxin.py (expected & actual download)
- Add site_baishi.py stub for upcoming 百世 integration
- Add global 应到未到 data reconciliation via Left Anti-Join on 运单号
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>