# 排班

# 排班系統

此系統是一個以 **Flask + SQLite** 建構的 **員工排班管理系統**，可進行排班、班別管理、勞基法檢核與月報表輸出。

---

## 🔧 系統架構

- **後端框架**：Flask
- **資料庫**：SQLite (`schedule.db`)
- **ORM 工具**：SQLAlchemy
- **主要模型**
    
    
    - **Employee**：員工資料
    - **ShiftType**：班別設定（班名、上班時間、下班時間）
    - **Shift**：班表紀錄（日期、班別、日別類型）

---

## 📑 功能說明

### 1. 員工管理

- `/employees`
    
    
    - 新增、刪除員工
    - 檢查重複姓名避免重複建立

### 2. 班別管理

- `/shift_types`
    
    
    - 設定班別名稱、上班時間、下班時間
    - 支援刪除與檢視

### 3. 排班管理

- `/schedule`
    
    
    - 按月份檢視與編輯班表
    - 儲存時會進行 **勞基法規範檢核**：
        
        
        - **連續上班不得超過6天**
        - **每7天需包含1天固定休假 + 1天彈性休息**（一例一休）
    - 若有違反會提示錯誤並回滾，不會儲存

### 4. 報表

- `/report`
    
    
    - 查詢當月員工的：
        
        
        - 總工時
        - 勞基法違規紀錄
    - 支援滾動 7 日檢查

### 5. 法規與操作說明

- `/law_info`：勞基法相關規範簡介
- `/manual`：系統使用操作手冊