Files
ewoooc/routes
OoO b6fdb4f473
All checks were successful
CD Pipeline / deploy (push) Successful in 2m32s
feat(ppt): awaken vendor report + v3.1.0 procurement strategy upgrade
Wave 1.1:把沉睡的 vendor generator 喚醒並全面升 v3.1.0:

generate_vendor_ppt(services/ppt_generator.py)— 8 頁
- P1 封面:含集中度警示徽章(健康分散 / 偏高 / 過高)+ 三句話策略要點
- P2 執行摘要:4 KPI 含 △% vs 上期 + 帕雷托 80/20 集中度結論帶
- P3 廠商業績排行:橫條 + 帕雷托雙視圖(matplotlib 暖色系)
- P4-P5 廠商明細表 TOP 30:含 △ 排名變化、🆕 新進榜、業績佔比 bar、
  毛利率紅綠燈(綠 ≥15% / 黃 8~15% / 紅 <8%)
- P6 AI 採購策略洞察(結構化 8 段)
- P7 附錄

query_vendor_summary(routes/openclaw_bot_routes.py)
- 期間(單月/自訂日期區間)廠商業績聚合
- 計算 sales / profit / margin / qty / orders
- 同步抓上期同等期間做 vs 上期 △ 比對

_ppt_ai_analysis 加 is_vendor 分支
- 角色:採購主管 + 供應鏈管理顧問
- 結構:整體解讀 / 集中度與供應風險 / 議價優先 / SMART 行動 / 風險預警
- SMART 行動分三層:立即執行 / 中期強化 / 長期結構(含 OEM/ODM 自有品牌)
- 引用 MARKET_TREND_2026 共用知識基底
- max_tokens 1800,字數 800-1000

路由綁定 _generate_ppt_cmd
- /ppt vendor          當月廠商報告
- /ppt vendor 2026/04  指定月份
- /ppt vendor 2026/04/01-2026/04/15  自訂期間
- 自動抓上期同等期間做 △ 比對

Telegram 按鈕(menu_keyboards.py 的 _submenu_reports)
- 新增「🏭 廠商業績報告」進報表選單

bump TEMPLATE_VERSIONS['vendor'] v2.0 (DEPRECATED) → v3.1.0

煙霧測試:本機 venv 跑 vendor PPT 生成 8 頁 200KB 全綠。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 02:04:41 +08:00
..

路由模組說明

app.py 直接註冊所有 Flask BlueprintUSE_MODULAR_ROUTESregister_blueprints()MODULAR_ENDPOINTS 與 duplicate cleanup 開關已在 ADR-017 Phase 3f-1 移除。

啟動防線

app.py 會在啟動時檢查 app.url_map,同一組 (URL, HTTP methods) 不允許被兩個 endpoint 重複註冊;若發現衝突會直接 SystemExit

模組清單

模組 說明 主要路由
dashboard_routes.py 商品看板首頁 /
sales_routes.py 業績分析與 ABC 明細 /sales_analysis, /growth_analysis, /abc_analysis/detail, /api/sales_analysis/*
system_public_routes.py 無 prefix 公開系統頁與監控 /health, /metrics, /ai_automation_smoke, /api/ai-automation/smoke*, /settings, /system_settings, /logs, /api/logs, /api/backup
system_routes.py 內部系統維護 API /api/system/*
edm_routes.py EDM 與節慶儀表板 /edm, /festival
monthly_routes.py 月結分析 /monthly_summary_analysis, /api/monthly_summary_data
daily_sales_routes.py 當日業績 /daily_sales, /daily_sales/export*
api_routes.py 通用任務與查詢 API /api/run_task, /api/history/*
export_routes.py 匯出功能 /api/export/*
import_routes.py 匯入功能 /api/import_excel, /api/import/monthly_summary

新增 route 時請優先放入對應 Blueprint並用本機 app.url_map duplicate check 驗證。 若 route 內開始出現大量資料處理、SQL、AI prompt 或外部 API 呼叫,請依 docs/guides/modularization_governance.md 抽到 services/utils/,不要讓 Blueprint 變成新巨檔。