Files
ewoooc/docs/daily_sales_implementation_checklist.md
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml)
- 部署模式: rsync Python 檔案至 188 → docker restart (volume mount)
- Dockerfile/requirements 變動時自動重建 Docker image
- 部署通知: Telegram (開始/成功/失敗)
- 健康檢查: https://mo.wooo.work/health (最多 5 次重試)
- 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 01:21:13 +08:00

231 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 每日業績儀表板 - 實作檢查清單
## 📋 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