Skip to content

TigerChenXH/HrManage

Repository files navigation

HR管理系统

一个基于Django开发的企业人力资源管理系统,提供员工信息管理、部门管理、考勤管理、薪资管理、招聘管理等核心功能。

功能特性

🏢 部门管理

  • 多级部门层次结构
  • 部门负责人设置
  • 员工数量统计
  • 部门信息维护

👥 员工信息管理

  • 员工档案管理
  • 员工信息增删改查
  • 员工搜索和筛选
  • Excel批量导入导出
  • 员工统计报表

⏰ 考勤管理

  • 在线签到签退
  • 考勤记录查询
  • 请假申请和审批
  • 加班申请和审批
  • 考勤统计分析

💰 薪资管理

  • 薪资结构配置
  • 工资计算和发放
  • 个人所得税计算
  • 薪资调整记录
  • 工资条生成

🎯 招聘管理

  • 职位发布和管理
  • 简历收集和筛选
  • 面试安排和记录
  • Offer管理
  • 招聘流程跟踪

🔐 权限管理

  • 用户角色区分
  • 管理员、HR、普通员工权限
  • Django内置用户认证
  • 数据访问控制

技术架构

后端技术

  • 框架: Django 4.2+
  • 数据库: MySQL / SQLite
  • 语言: Python 3.8+
  • ORM: Django ORM

前端技术

  • UI框架: Bootstrap 5
  • 图标: Font Awesome
  • 图表: ECharts
  • 模板: Django Templates

开发工具

  • Excel处理: openpyxl
  • 图片处理: Pillow
  • 数据分析: pandas

项目结构

hr_system/
│
├── hr_system/              # Django项目主目录
│   ├── settings.py         # 项目设置
│   ├── urls.py             # 主URL配置
│   ├── wsgi.py             # WSGI配置
│   └── asgi.py             # ASGI配置
│
├── departments/            # 部门管理应用
│   ├── models.py           # 部门数据模型
│   ├── views.py            # 部门业务逻辑
│   ├── urls.py             # 部门URL路由
│   ├── forms.py            # 部门表单
│   ├── admin.py            # 部门后台管理
│   └── templates/          # 部门模板文件
│
├── employees/              # 员工管理应用
│   ├── models.py           # 员工数据模型
│   ├── views.py            # 员工业务逻辑
│   ├── urls.py             # 员工URL路由
│   ├── forms.py            # 员工表单
│   ├── admin.py            # 员工后台管理
│   └── templates/          # 员工模板文件
│
├── attendance/             # 考勤管理应用
│   ├── models.py           # 考勤数据模型
│   ├── views.py            # 考勤业务逻辑
│   ├── urls.py             # 考勤URL路由
│   ├── forms.py            # 考勤表单
│   ├── admin.py            # 考勤后台管理
│   └── templates/          # 考勤模板文件
│
├── salary/                 # 薪资管理应用
│   ├── models.py           # 薪资数据模型
│   ├── views.py            # 薪资业务逻辑
│   ├── urls.py             # 薪资URL路由
│   ├── forms.py            # 薪资表单
│   ├── admin.py            # 薪资后台管理
│   └── templates/          # 薪资模板文件
│
├── recruitment/            # 招聘管理应用
│   ├── models.py           # 招聘数据模型
│   ├── views.py            # 招聘业务逻辑
│   ├── urls.py             # 招聘URL路由
│   ├── forms.py            # 招聘表单
│   ├── admin.py            # 招聘后台管理
│   └── templates/          # 招聘模板文件
│
├── templates/              # 公共模板目录
│   ├── base.html           # 基础模板
│   └── registration/       # 用户认证模板
│
├── static/                 # 静态文件目录
│   ├── css/                # 样式文件
│   ├── js/                 # JavaScript文件
│   └── images/             # 图片文件
│
├── manage.py               # Django管理脚本
├── init_data.py            # 数据初始化脚本
├── requirements.txt        # 依赖包列表
└── README.md               # 项目文档

快速开始

1. 环境准备

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

2. 数据库配置

使用SQLite(开发环境,默认)

# settings.py 中已配置SQLite作为默认数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

使用MySQL(生产环境推荐)

# 修改 settings.py 中的数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'hr_management',
        'USER': 'your_username',
        'PASSWORD': 'your_password',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
            'charset': 'utf8mb4',
        },
    }
}

3. 数据库初始化

# 生成数据库迁移文件
python manage.py makemigrations

# 执行数据库迁移
python manage.py migrate

# 创建测试数据
python init_data.py

4. 启动服务

# 启动开发服务器
python manage.py runserver

# 访问系统
# 用户端:http://127.0.0.1:8000/
# 管理后台:http://127.0.0.1:8000/admin/

5. 登录系统

管理员账号

  • 用户名:admin
  • 密码:admin123

测试员工账号

  • 用户名:zhang_ceo(总经理)
  • 密码:123456
  • 其他员工账号格式:[姓名拼音] / 123456

主要功能说明

部门管理

  • 支持多级部门结构
  • 可设置部门负责人
  • 提供部门员工统计
  • 支持部门层级可视化

员工管理

  • 完整的员工档案信息
  • 支持Excel批量导入导出
  • 员工照片上传
  • 多条件搜索筛选
  • 员工统计分析

考勤管理

  • 在线签到签退功能
  • 迟到早退自动判断
  • 请假流程:申请→审批→生效
  • 加班申请和审批
  • 考勤统计报表

薪资管理

  • 灵活的薪资结构配置
  • 自动计算个人所得税
  • 社保公积金扣除
  • 薪资调整记录
  • 工资条生成和发放

招聘管理

  • 职位发布和管理
  • 候选人信息维护
  • 面试安排和记录
  • 招聘流程跟踪
  • Offer发放管理

配置说明

考勤规则配置

在Django管理后台可以配置:

  • 上下班时间
  • 午休时间
  • 迟到早退阈值
  • 工作日设置

薪资结构配置

支持配置:

  • 基本工资比例
  • 绩效工资比例
  • 津贴补助比例
  • 社保公积金比例
  • 个税计算规则

请假类型配置

可配置多种请假类型:

  • 年假、病假、事假
  • 婚假、产假、陪产假
  • 是否带薪、年度限额

部署说明

生产环境部署

  1. 环境配置
# 设置环境变量
export DJANGO_SETTINGS_MODULE=hr_system.settings
export DEBUG=False
export SECRET_KEY='your-secret-key'
  1. 静态文件收集
python manage.py collectstatic
  1. 使用Gunicorn部署
gunicorn hr_system.wsgi:application -b 0.0.0.0:8000
  1. 使用Nginx反向代理
server {
    listen 80;
    server_name your-domain.com;
    
    location /static/ {
        alias /path/to/staticfiles/;
    }
    
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

开发指南

添加新功能模块

  1. 创建新的Django应用
python manage.py startapp new_module
  1. 在settings.py中注册应用
INSTALLED_APPS = [
    # ...
    'new_module',
]
  1. 创建数据模型、视图、URL配置
  2. 生成并执行数据库迁移
  3. 在主URL配置中包含模块URL

数据模型扩展

每个模块的models.py都有详细的字段说明和关系定义,可以根据需要扩展:

  • 添加新字段
  • 修改字段约束
  • 增加索引优化
  • 扩展模型方法

前端界面定制

  • 模板文件位于各模块的templates目录
  • 静态文件(CSS/JS)位于static目录
  • 使用Bootstrap 5框架,便于响应式设计
  • ECharts图表库用于数据可视化

常见问题

1. 数据库连接问题

确保数据库服务正常运行,检查连接配置是否正确。

2. 静态文件不显示

运行python manage.py collectstatic收集静态文件。

3. 权限问题

确保文件和目录有正确的读写权限。

4. 依赖包安装失败

使用国内镜像源:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

系统截图

登录页面

  • 简洁的登录界面
  • 支持用户名密码登录
  • 记住登录状态

员工管理

  • 员工列表展示
  • 详细信息查看
  • 批量导入导出

考勤管理

  • 签到签退操作
  • 考勤记录查询
  • 统计报表展示

部门管理

  • 树状部门结构
  • 部门详情查看
  • 员工分布统计

技术支持

如有问题或建议,请通过以下方式联系:

许可证

本项目采用MIT许可证,详见LICENSE文件。

更新日志

v1.0.0 (2023-12-01)

  • 初始版本发布
  • 完成基础功能模块
  • 支持员工、部门、考勤管理
  • 提供完整的管理后台

HR管理系统 - 让人力资源管理更简单高效!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors