# 訂單記錄

# 寄庫出貨與來電訂單管理系統

此專案建立一個基於 Google Sheets 的簡易訂單管理系統，透過 Flask 網頁介面進行「寄庫出貨訂單」與「消費者來電訂單」的新增、查詢、修改與刪除。所有資料集中儲存在 Google 試算表中，便於多人協作與同步管理。

---

### 🔧 技術架構

- **後端技術**：
    
    
    - Python + Flask 架構，提供 Web API 與表單操作介面。
    - 採用 `google-api-python-client` 串接 Google Sheets 作為資料庫。
    - 使用 Service Account (`service_account.json`) 進行授權驗證。
- **資料儲存**：
    
    
    - 所有訂單儲存在指定的 Google Sheet（`工作表1`），每筆資料一行。
    - 欄位包含：出貨方式、預定交貨日、訂單編號、商品資訊、訂購人、收件人、電話、地址、建檔人、是否已輸入正航、ID、建立日期。

---

### 📋 功能說明

#### 🔍 主頁 `/`

- 顯示所有訂單，支援分頁、關鍵字搜尋與日期區間篩選（根據「預定交貨日」）。
- 訂單會依「建立日期」自動排序，最新建立的排在最前面。

#### ➕ 新增訂單 `/add`

- 使用者可透過表單建立新訂單。
- 建立後自動產生唯一 ID 與建立日期。
- 所有資料將插入 Google Sheets 尾端。

#### ✏️ 編輯訂單 `/edit_order/<order_id>`

- 根據訂單的唯一 ID，載入該筆資料供使用者編輯。
- 支援更新「交貨日」、「已輸入正航(Y/N)」與其他欄位內容。
- 資料會直接更新回 Google Sheets 的對應行。

#### ❌ 刪除訂單 `/delete_order/<order_id>`

- 根據訂單 ID 找出所在行，直接在 Google Sheets 中刪除整行資料。

---

### 🧠 額外特點

- **ID 欄位為每筆訂單產生唯一識別碼（UUID）**
- **日期欄位統一使用 `YYYYMMDD` 格式（內部處理與儲存）**
- **系統使用者無需登入 Google 帳戶，透過後端已授權的服務帳戶執行操作**

---