# 每日業績儀表板 - 實作檢查清單 ## 📋 Phase 1: 資料庫與後端基礎 (預計 2-3 天) ### 資料庫設計 - [ ] 建立 `daily_sales` 表格(完整欄位對應 realtime_sales_monthly) - [ ] 建立 `daily_sales_summary` 表格(每日統計摘要) - [ ] 建立必要索引(日期、商品ID、訂單編號) - [ ] 撰寫資料庫 migration 腳本 - [ ] 測試資料庫結構 ### Excel 匯入後端 - [ ] 安裝 `pandas` 和 `openpyxl` 套件 - [ ] 實作 Excel 檔案讀取功能 - [ ] 實作欄位驗證邏輯 - [ ] 必填欄位檢查 - [ ] 日期格式驗證 - [ ] 數值型別驗證 - [ ] 實作重複訂單處理邏輯 - [ ] 實作批次寫入功能(使用 transaction) - [ ] 實作匯入結果回報 ### API 端點開發 - [ ] `POST /api/daily_sales/validate` - 驗證 Excel 檔案 - [ ] `POST /api/daily_sales/import` - 匯入資料 - [ ] `GET /api/daily_sales/calendar` - 取得月度資料 - [ ] `GET /api/daily_sales/detail` - 取得單日詳情 - [ ] `GET /api/daily_sales/compare` - 業績對比 - [ ] `GET /api/daily_sales/trends` - 趨勢資料 - [ ] `GET /api/daily_sales/top_products` - 熱銷商品 ### 業績計算邏輯 - [ ] 實作每日統計摘要計算 - [ ] 實作 DoD (日對日) 成長率計算 - [ ] 實作 WoW (週對週同日) 成長率計算 - [ ] 實作 MoM (月對月) 成長率計算 - [ ] 實作 YoY (年對年) 成長率計算 - [ ] 撰寫單元測試 --- ## 🎨 Phase 2: 前端開發 (預計 3-4 天) ### 頁面架構 - [ ] 建立新路由 `/daily_sales` - [ ] 建立 HTML 模板(延續現有設計風格) - [ ] 整合 Bootstrap 5.3 樣式 - [ ] 加入 Font Awesome 圖示 - [ ] 響應式設計測試 ### 行事曆整合 - [ ] 安裝 FullCalendar.js - [ ] 初始化行事曆元件 - [ ] 客製化日期格子樣式 - [ ] 顯示每日業績摘要 - [ ] 總業績金額 - [ ] 成長率指標 - [ ] 狀態顏色(紅/綠/灰) - [ ] 實作月份切換功能 - [ ] 實作「今天」快速跳轉 ### Excel 匯入介面 - [ ] 設計檔案上傳區域(拖拉或點選) - [ ] 整合 SheetJS (xlsx) 前端處理 - [ ] 實作檔案預覽功能(顯示前 10 筆) - [ ] 實作驗證結果顯示 - [ ] 實作進度條顯示(匯入中) - [ ] 實作匯入結果摘要(成功/失敗筆數) - [ ] 錯誤訊息友善顯示 ### 日期詳情 Modal - [ ] 設計 Modal 視窗 - [ ] 顯示當日完整統計 - [ ] 總業績、訂單數、客單價 - [ ] Top 10 熱銷商品表格 - [ ] 各類別業績圓餅圖 - [ ] 時段業績折線圖 - [ ] 實作資料載入動畫 --- ## 📊 Phase 3: 對比分析與視覺化 (預計 2-3 天) ### 業績對比功能 - [ ] 設計對比控制面板 - [ ] 日期選擇器(date picker) - [ ] 對比類型選擇(DoD/WoW/MoM/YoY) - [ ] 「對比」按鈕 - [ ] 實作對比結果顯示 - [ ] 指標對比表格 - [ ] 差異數值和百分比 - [ ] 上升/下降箭頭圖示 ### Chart.js 圖表 - [ ] 業績趨勢折線圖(過去 30 天) - [ ] 顯示業績曲線 - [ ] 標註特殊日期(活動日) - [ ] 懸停顯示詳細數據 - [ ] 週同日對比長條圖 - [ ] 顯示過去 4 週同日數據 - [ ] 標示成長率 - [ ] 顏色區分正負成長 - [ ] 熱銷商品水平長條圖 - [ ] Top 10 商品排名 - [ ] 顯示銷售件數 - [ ] 類別業績圓餅圖 - [ ] 各商品館佔比 - [ ] 懸停顯示百分比 ### 儀表板卡片 - [ ] 設計 4 張 KPI 卡片 - [ ] 今日業績卡片 - [ ] 本週業績卡片 - [ ] 本月業績卡片 - [ ] 熱銷商品卡片 - [ ] 實作卡片 hover 動畫 - [ ] 實作即時更新 --- ## 🔗 Phase 4: 整合與優化 (預計 2-3 天) ### 與現有儀表板整合 - [ ] 在 `/sales_analysis` 加入「每日業績」連結 - [ ] 在 `/sales_analysis` 顯示「今日業績快覽」卡片 - [ ] 實作資料累加邏輯 - [ ] 定時任務(每日凌晨 00:30) - [ ] 將 daily_sales 累加到 realtime_sales_monthly - [ ] 更新導航列,加入「每日業績」選項 ### 定時任務 - [ ] 安裝排程工具(APScheduler 或 cron) - [ ] 撰寫每日統計計算任務 - [ ] 撰寫成長率計算任務 - [ ] 撰寫資料累加任務 - [ ] 測試定時執行 ### 效能優化 - [ ] 資料庫查詢優化(使用索引) - [ ] API 回應快取(Redis) - [ ] 前端分頁載入 - [ ] 大量資料匯入使用背景任務 - [ ] 壓縮圖表資料大小 ### 測試 - [ ] 單元測試(後端邏輯) - [ ] API 測試(使用 Postman/pytest) - [ ] 前端功能測試 - [ ] Excel 匯入流程 - [ ] 行事曆互動 - [ ] 對比分析功能 - [ ] 圖表顯示 - [ ] 整合測試(完整流程) - [ ] 瀏覽器相容性測試 - [ ] 行動裝置測試 --- ## ✅ 上線前檢查 ### 資料備份 - [ ] 建立自動備份機制 - [ ] 測試資料還原流程 ### 文件 - [ ] 撰寫使用者操作手冊 - [ ] 撰寫 API 文件 - [ ] 更新系統架構文件 ### 安全性 - [ ] 檔案上傳大小限制 - [ ] 檔案類型驗證 - [ ] SQL Injection 防護 - [ ] XSS 防護 - [ ] CSRF Token ### 效能 - [ ] 頁面載入速度測試 (< 3 秒) - [ ] API 回應時間測試 (< 500ms) - [ ] 大量資料匯入測試 (10,000+ 筆) ### 部署 - [ ] 更新依賴套件清單(requirements.txt) - [ ] 更新資料庫 migration - [ ] 設定環境變數 - [ ] 重啟服務測試 --- ## 📝 額外功能(選配) ### 進階功能 - [ ] 業績目標設定介面 - [ ] 目標達成率追蹤 - [ ] 業績預測(使用移動平均) - [ ] 異常檢測(業績驟降警示) - [ ] Email 通知(業績報表) - [ ] 資料匯出(Excel/PDF) ### 行動支援 - [ ] 優化行事曆行動版顯示 - [ ] 手勢操作(滑動切換月份) - [ ] PWA 支援(離線查看) --- ## 🎯 開發時間估算 | 階段 | 預計天數 | 備註 | |------|---------|------| | Phase 1: 後端基礎 | 2-3 天 | 資料庫 + API | | Phase 2: 前端開發 | 3-4 天 | UI + 匯入功能 | | Phase 3: 對比分析 | 2-3 天 | 圖表 + 計算 | | Phase 4: 整合優化 | 2-3 天 | 測試 + 上線 | | **總計** | **9-13 天** | | --- ## 💡 重要提醒 1. **先做 MVP**:優先完成核心功能(匯入 + 行事曆顯示),再逐步加入對比分析 2. **增量開發**:每完成一個 Phase 就進行測試和驗證 3. **保持溝通**:每個階段結束後與需求方確認 4. **文件先行**:確保資料庫設計和 API 規格文件完整 5. **備份優先**:匯入前必須備份現有資料 --- **準備開始時間**: 2026-01-13(明天) **預計完成時間**: 2026-01-24