feat: 新增崗位描述與清單整合功能 v2.1

主要功能更新:
- 崗位描述保存功能:保存後資料寫入資料庫
- 崗位清單自動刷新:切換模組時自動載入最新資料
- 崗位清單檢視功能:點擊「檢視」按鈕載入對應描述
- 管理者頁面擴充:新增崗位資料管理與匯出功能
- CSV 批次匯入:支援崗位與職務資料批次匯入

後端 API 新增:
- Position Description CRUD APIs
- Position List Query & Export APIs
- CSV Template Download & Import APIs

文件更新:
- SDD.md 更新至版本 2.1
- README.md 更新功能說明與版本歷史

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-04 12:46:36 +08:00
parent d17af39bf4
commit b2584772c4
31 changed files with 6795 additions and 365 deletions

47
.env.example Normal file
View File

@@ -0,0 +1,47 @@
# HR Position Management System - Environment Variables Example
# 複製此檔案為 .env 並填入實際值
# IMPORTANT: 請勿將 .env 檔案提交到版本控制系統!
# ==================== MySQL Database Configuration ====================
DB_HOST=your_database_host
DB_PORT=3306
DB_NAME=your_database_name
DB_USER=your_database_user
DB_PASSWORD=your_secure_password_here
# ==================== Gitea Version Control Configuration ====================
GITEA_URL=https://your-gitea-server.com/
GITEA_USER=your_gitea_username
GITEA_PASSWORD=your_gitea_password
GITEA_TOKEN=your_gitea_access_token
# ==================== LLM API Keys ====================
# Google Gemini API
GEMINI_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-1.5-flash
# DeepSeek API
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_API_URL=https://api.deepseek.com/v1
# OpenAI API
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_API_URL=https://api.openai.com/v1
# ==================== Flask Configuration ====================
FLASK_APP=start_server.py
FLASK_ENV=development
FLASK_HOST=127.0.0.1
FLASK_PORT=5000
FLASK_DEBUG=false
# 重要:請產生一個隨機的安全密鑰
# 可使用: python -c "import secrets; print(secrets.token_hex(32))"
SECRET_KEY=generate_a_secure_random_key_here
# ==================== CORS Configuration ====================
# 允許的來源,以逗號分隔
CORS_ORIGINS=http://localhost:5000,http://127.0.0.1:5000
# ==================== Application Configuration ====================
HR_DB_SCHEMA=hr_position_system