欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > 企业信息化3:人力资源管理HR系统

企业信息化3:人力资源管理HR系统

2025/9/20 11:51:04 来源:https://blog.csdn.net/mosquito_lover1/article/details/145354632  浏览:    关键词:企业信息化3:人力资源管理HR系统

借助HR人力资源管理系统,帮助企业把HR管理人员从传统的组织、人事、薪资、考勤、绩效、招聘、培训等基础业务操作过程中解放出来,深度思考公司人力资源发展与建设规划、员工职业发展体系建设等。

人力资源部负责公司人力资源管理体系建设以及日常管理工作,其主要职能如下:

(一)规划管理
1.负责编制公司人力资源发展与建设规划,并组织实施。
2.负责建立完善公司职位评价、任职资格、招聘配置、培养开发、薪酬与激励、绩效管理和职业发展等管理体系,建立完善业务流程,并组织实施。
3.组织制订并完善公司经营层职能部门职责,协同用人部门确定岗位设置和岗位职责。
4.负责对事业总部、分子公司人力资源建设与管理工作予以支持和指导。
5.配合干部部做好公司干部人才队伍建设,建立干部管理和培养体系;做好管辖范围内干部的培养、选拔、任用、薪酬及绩效考核管理等工作。

(二)招聘配置
1.定期分析公司人力资源状况,科学预测公司人力资源需求,组织制定年度人力资源需求计划;负责开展人力资源招聘与配置工作。
2.负责“招聘”微信公众号等招聘宣传平台的运行管理,提升企业影响力。
3.负责建立并拓展招聘渠道,负责建立校企合作,多渠道引进和培养人才。

(三)培养发展
1.协同干部部组织开展公司人才库管理,做好管辖范围内人才梯队建设。
2.负责组织制定公司年度培训计划,组织开展公司员工的培训工作。
3.负责分层分类建立培训课程体系,开展员工培养与发展工作。
4.负责组织开发公司内部课程,做好在线学习平台的运行管理。
5.负责组织公司各类职称(技能)等级的评定工作。

(四)薪酬管理
1.负责工资总额管理,组织制定薪酬预算,并对预算执行进行监控与管理。
2.负责研究制定公司薪酬策略与激励方案,并组织实施。
3.负责公司职能部门员工的薪酬管理工作。

(五)绩效管理
1.牵头组织制定公司年度绩效考核指标,负责组织实施年度绩效考核。
2.负责公司职能部门员工的绩效考核与激励、奖励与责任追究管理。

(六)劳动关系
1.负责公司劳动关系管理政策的制订与实施。
2.负责协调处置公司及事业总部、分子公司各类投诉及劳动争议案件,并对公司各部门用工合法性进行监督和检查。
3.负责公司职能部门员工的劳动关系管理,包括入职、转正、调动、离职、劳动合同、档案管理等。

设计文档主要内容:

1. 系统概述

1.1 系统目标

本系统旨在提供一个现代化的人力资源管理平台,实现人力资源各个环节的信息化管理,提高人力资源管理效率。

1.2 系统功能范围

系统包含以下主要功能模块:


• 规划管理
• 招聘配置
• 培养发展
• 薪酬管理
• 绩效管理
• 劳动关系

2. 系统架构

2.1 技术架构


• 后端框架:Flask 2.0.1
• 数据库:SQLAlchemy 1.4.23
• 前端框架:Bootstrap 4.5.2
• 图表库:ECharts 5.2.2
• 认证系统:Flask-Login 0.5.0

2.2 系统结构

hrms/
├── app/                    # 应用主目录
│   ├── models/            # 数据模型
│   ├── routes/            # 路由控制
│   ├── templates/         # 页面模板
│   └── static/            # 静态资源
├── config.py              # 配置文件
└── run.py                 # 启动文件

3. 功能模块设计

3.1 用户认证模块

  • • 用户登录
  • • 会话管理
  • • 权限控制

3.2 规划管理模块

  • • 人力资源发展规划
  • • 职位评价体系
  • • 任职资格管理
  • • 干部管理体系

3.3 招聘配置模块

  • • 招聘需求管理
  • • 应聘者信息管理
  • • 面试流程管理
  • • 录用管理

3.4 培养发展模块

  • • 培训计划管理
  • • 培训实施管理
  • • 培训评估
  • • 职业发展规划

3.5 薪酬管理模块

  • • 薪酬标准管理
  • • 薪酬核算
  • • 福利管理
  • • 薪酬统计分析

3.6 绩效管理模块

  • • 绩效指标管理
  • • 绩效考核
  • • 绩效分析
  • • 绩效反馈

3.7 劳动关系模块

  • • 劳动合同管理
  • • 员工关系管理
  • • 档案管理
  • • 离职管理

4. 数据库设计

4.1 用户表(User)

字段名

类型

说明

id

Integer

主键

username

String

用户名

email

String

邮箱

password_hash

String

密码哈希

role

String

角色

4.2 部门表(Department)

字段名

类型

说明

id

Integer

主键

name

String

部门名称

description

Text

部门描述

manager_id

Integer

部门主管

4.3 员工表(Employee)

字段名

类型

说明

id

Integer

主键

name

String

姓名

department_id

Integer

所属部门

position_id

Integer

职位

status

String

在职状态

entry_date

Date

入职日期

5. 界面设计

5.1 登录界面

  • • 简洁的登录表单
  • • 用户名和密码输入
  • • 错误提示功能

5.2 仪表盘

  • • 员工总数统计
  • • 部门人员分布
  • • 人员流动趋势
  • • 待办事项提醒

5.3 功能模块界面

  • • 统一的导航栏
  • • 响应式布局
  • • 数据表格展示
  • • 表单交互设计

 设计文档下载地址:https://download.csdn.net/download/mosquito_lover1/90311504

项目结构:

hrms/
├── app/
│   ├── __init__.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── department.py
│   │   ├── position.py
│   │   ├── employee.py
│   │   ├── salary.py
│   │   ├── performance.py
│   │   └── contract.py
│   ├── routes/
│   │   ├── __init__.py
│   │   ├── auth.py
│   │   ├── planning.py
│   │   ├── recruitment.py
│   │   ├── development.py
│   │   ├── salary.py
│   │   ├── performance.py
│   │   └── labor.py
│   ├── templates/
│   │   ├── base.html
│   │   ├── auth/
│   │   │   ├── login.html
│   │   │   └── register.html
│   │   └── admin/
│   └── static/
├── config.py
├── requirements.txt
└── run.py

配置文件:

import os

class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'your-secret-key-here'
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
        'sqlite:///hrms.db'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

应用程序入口文件:

from app import create_app

app = create_app()

if __name__ == '__main__':
    app.run(debug=True)

应用程序工厂:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager
from config import Config

db = SQLAlchemy()
login_manager = LoginManager()
login_manager.login_view = 'auth.login'

def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)

    db.init_app(app)
    login_manager.init_app(app)

    from app.routes import auth, planning, recruitment, development, salary, performance, labor
    
    app.register_blueprint(auth.bp)
    app.register_blueprint(planning.bp)
    app.register_blueprint(recruitment.bp)
    app.register_blueprint(development.bp)
    app.register_blueprint(salary.bp)
    app.register_blueprint(performance.bp)
    app.register_blueprint(labor.bp)

    return app

用户模型:

from app import db, login_manager
from werkzeug.security import generate_password_hash, check_password_hash
from flask_login import UserMixin

class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    password_hash = db.Column(db.String(128))
    role = db.Column(db.String(20), nullable=False, default='user')

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)

@login_manager.user_loader
def load_user(id):
    return User.query.get(int(id))

认证路由:

from flask import Blueprint, render_template, redirect, url_for, flash, request
from flask_login import login_user, logout_user, login_required
from app.models.user import User
from app import db

bp = Blueprint('auth', __name__)

@bp.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        user = User.query.filter_by(username=username).first()
        
        if user and user.check_password(password):
            login_user(user)
            return redirect(url_for('planning.index'))
        flash('Invalid username or password')
    return render_template('auth/login.html')

@bp.route('/logout')
@login_required
def logout():
    logout_user()
    return redirect(url_for('auth.login'))

基础模板:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>人力资源管理系统</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <a class="navbar-brand" href="#">HRMS</a>
        <div class="collapse navbar-collapse">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item">
                    <a class="nav-link" href="{ { url_for('planning.index') }}">规划管理</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="{ { url_for('recruitment.index') }}">招聘配置</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="{ { url_for('development.index') }}">培养发展</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="{ { url_for('salary.index') }}">薪酬管理</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="{ { url_for('performance.index') }}">绩效管理</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="{ { url_for('labor.index') }}">劳动关系</a>
                </li>
            </ul>
            <ul class="navbar-nav ml-auto">
                {% if current_user.is_authenticated %}
                <li class="nav-item">
                    <a class="nav-link" href="{ { url_for('auth.logout') }}">退出</a>
                </li>
                {% endif %}
            </ul>
        </div>
    </nav>

    <div class="container mt-4">
        {% with messages = get_flashed_messages() %}
            {% if messages %}
                {% for message in messages %}
                    <div class="alert alert-info">{ { message }}</div>
                {% endfor %}
            {% endif %}
        {% endwith %}
        
        {% block content %}{% endblock %}
    </div>

    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>

登陆模板:

{% extends "base.html" %}

{% block content %}
<div class="row justify-content-center">
    <div class="col-md-6">
        <div class="card">
            <div class="card-header">登录</div>
            <div class="card-body">
                <form method="POST">
                    <div class="form-group">
                        <label for="username">用户名</label>
                        <input type="text" class="form-control" id="username" name="username" required>
                    </div>
                    <div class="form-group">
                        <label for="password">密码</label>
                        <input type="password" class="form-control" id="password" name="password" required>
                    </div>
                    <button type="submit" class="btn btn-primary">登录</button>
                </form>
            </div>
        </div>
    </div>
</div>
{% endblock %}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词