Files
hr-position-system/README.md
DonaldFang 方士碩 d17af39bf4 feat: 新增多項功能 v2.1
- 新增 CSV 匯入匯出功能(所有頁籤)
- 新增崗位清單頁籤(含欄位排序)
- 新增管理者頁面(使用者 CRUD)
- 新增事業體選項(SBU/MBU/HQBU/ITBU/HRBU/ACCBU)
- 新增組織單位欄位(處級/部級/課級)
- 崗位描述/備注改為條列式說明
- 新增 README.md 文件
- 新增開發指令記錄檔

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:06:50 +08:00

207 lines
4.7 KiB
Markdown
Raw 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.

# HR Position Management System
人力資源崗位管理系統 v2.0
## 功能特色
### 1. 崗位基礎資料維護
- **組織架構設定**
- 事業體選擇SBU/MBU/HQBU/ITBU/HRBU/ACCBU
- 處級單位Division
- 部級單位Department
- 課級單位Section
- **崗位資訊**
- 崗位編號、名稱、級別
- 崗位類別與性質
- 編制人數、生效日期
- 條列式崗位描述與備注
### 2. 職務基礎資料維護
- 職務類別管理(管理職/技術職/業務職/行政職/研發職)
- 職務編號與名稱(中英文)
- 生效日期、編制人數
- 職級與福利設定(全勤/住房補貼)
### 3. 崗位描述維護
- 工作職責說明
- 技能要求
- 工作環境描述
- 職涯發展路徑
### 4. 崗位清單(新功能)
- 顯示所有崗位資料(表格形式)
- 點擊欄位標題排序(升序/降序切換)
- 支援匯出 CSV
### 5. 管理者頁面(新功能)
- 使用者管理(新增/編輯/刪除)
- 三種權限等級:
- 一般使用者(綠色標籤)
- 管理者(橘色標籤)
- 最高權限管理者(紅色標籤)
- 匯出使用者清單 CSV
### 6. 通用功能
- **CSV 匯入/匯出**:所有頁籤皆支援
- **AI 自動填充**「I'm feeling lucky」按鈕
- **錯誤訊息處理**:可展開、可複製
---
## 技術架構
| 層級 | 技術 |
|------|------|
| 前端 | HTML5, CSS3, JavaScript (Vanilla) |
| 後端 | Python Flask |
| 資料庫 | MySQL 5.7+ |
| 版本控制 | Git / Gitea |
| AI 整合 | Gemini API (gemini-2.5-flash) |
---
## 環境需求
- Python 3.8+
- MySQL 5.7+
- 現代瀏覽器Chrome, Firefox, Edge
---
## 快速啟動
### 方式一:純前端(無需後端)
直接用瀏覽器開啟 `index.html` 即可使用基本功能。
### 方式二:完整版(含 Flask API
```bash
# 1. 複製專案
git clone https://gitea.theaken.com/donald/hr-position-system.git
cd hr-position-system
# 2. 安裝 Python 套件
pip install -r requirements.txt
# 3. 設定環境變數
# 編輯 .env 填入資料庫和 API 金鑰
# 4. 初始化資料庫
python init_database.py
# 5. 啟動伺服器
python start_server.py
# 6. 開啟瀏覽器
# http://127.0.0.1:5000
```
---
## API 端點
### 崗位資料 API
| 方法 | 路徑 | 說明 |
|------|------|------|
| GET | `/api/positions` | 獲取所有崗位 |
| GET | `/api/positions/<id>` | 獲取單一崗位 |
| POST | `/api/positions` | 新增崗位 |
| PUT | `/api/positions/<id>` | 更新崗位 |
| DELETE | `/api/positions/<id>` | 刪除崗位 |
### 職務資料 API
| 方法 | 路徑 | 說明 |
|------|------|------|
| GET | `/api/jobs` | 獲取所有職務 |
| POST | `/api/jobs` | 新增職務 |
### LLM API
| 方法 | 路徑 | 說明 |
|------|------|------|
| GET | `/api/llm/config` | 取得 LLM 設定 |
| GET | `/api/llm/test/<api>` | 測試 API 連線 |
| POST | `/api/llm/generate` | 生成文字 |
---
## 專案結構
```
hr-position-system/
├── index.html # 主要應用頁面
├── start_server.py # Flask 伺服器Windows 相容)
├── llm_config.py # LLM API 設定
├── csv_utils.js # CSV 工具模組
├── error_handler.js # 錯誤處理模組
├── api_test.html # API 測試頁面
├── database_schema.sql # 資料庫結構
├── init_database.py # 資料庫初始化
├── requirements.txt # Python 套件
├── .env # 環境變數(不上傳)
├── .gitignore # Git 忽略清單
├── SDD.md # 系統設計文件
├── USER_COMMANDS_LOG.md # 開發指令記錄
└── README.md # 本文件
```
---
## 快捷鍵
| 快捷鍵 | 功能 |
|--------|------|
| `Ctrl+S` | 保存并退出 |
| `Ctrl+N` | 保存并新增 |
---
## 版本歷史
### v2.0 (2024-12-04)
- 新增 CSV 匯入匯出功能(所有頁籤)
- 新增崗位清單頁籤(含欄位排序)
- 新增管理者頁面(使用者 CRUD
- 新增事業體與組織單位欄位
- 崗位描述/備注改為條列式說明
- 修正 CORS 錯誤
- 改善錯誤訊息顯示(可複製)
- 修正 Windows 編碼問題
### v1.0 (2024-12-04)
- 初始版本
- 崗位基礎資料維護
- 職務基礎資料維護
- 崗位描述維護
---
## 環境變數設定(.env
```env
# 資料庫設定
DB_HOST=mysql.theaken.com
DB_PORT=33306
DB_NAME=db_A102
DB_USER=A102
DB_PASSWORD=your_password
# LLM API 金鑰
GEMINI_API_KEY=your_gemini_key
DEEPSEEK_API_KEY=your_deepseek_key
OPENAI_API_KEY=your_openai_key
# Gitea 設定
GITEA_URL=https://gitea.theaken.com
GITEA_TOKEN=your_token
```
---
## 授權
此專案為內部使用系統。
## 聯絡方式
如有問題請聯繫系統管理員。