django企业人事管理系统-毕业设计源码43320

摘    要

在当今竞争激烈的企业环境中,高效的人事管理是企业成功的关键之一。为了满足企业对于更智能、便捷和可定制的人事管理需求,开发一款基于Django框架的企业人事管理系统具有重要意义。该系统旨在整合人力资源管理流程,包括员工招聘、培训发展、绩效评估、薪资管理等方面,以提供全面且高效的人事管理解决方案。通过充分利用Django框架的优势,如灵活的数据模型和强大的后台管理功能,该系统能够满足企业不断变化的需求,并提供直观友好的用户界面,使企业能够轻松管理人力资源并实现组织目标。

企业人事管理系统需要提供直观易懂的界面和操作流程,以提高用户满意度和工作效率。数据分析将为企业决策和人力资源管理提供支持。然而,在实际应用中,需要根据企业的特定需求和变化进行优化和改进,以提高系统的价值和用户满意度。总之,基于Django的企业人事管理系统有着广泛的应用前景,可以帮助企业实现高效的人力资源管理。

关键词:企业人事管理系统;Django框架;MySQL数据库

Abstract

In today's highly competive business environment, efficient personnel management is one of the key factors for enterprise success. Developing an enterprise personnel management system based on the Django framework is of great significance in order to meet the needs of enterprises for more intelligent, convenient, and customizable personnel management. The system aims to integrate human resource management processes, including employee recrument, training and development, performance evaluation, salary management, etc., to provide comprehensive and efficient personnel management solutions. By fully utilizing the advantages of the Django framework, such as flexible data models and powerful backend management functions, the system can meet the constantly changing needs of enterprises and provide an intuive and user-friendly interface, enabling enterprises to easily manage human resources and achieve organizational goals.

The enterprise personnel management system needs to provide an intuive and easy to understand interface and operation process to improve user satisfaction and work efficiency. Data analysis will provide support for enterprise decision-making and human resource management. However, in practical applications,  is necessary to optimize and improve the system according to the specific needs and changes of the enterprise, in order to increase the value of the system and user satisfaction. In summary, the enterprise personnel management system based on Django has broad application prospects and can help enterprises achieve efficient human resource management.

Keywords: Enterprise personnel management system; Django framework; MySQL database

 

摘    要

Abstract

引    言

1相关技术介绍

1.1Python语言

1.2MySQL数据库

1.3MVVM模式

1.4B/S结构

2系统分析

2.1可行性分析

2.2功能需求分析

2.3非功能需求分析

2.4安全性需求分析

2.4.1系统的安全性

2.4.2 数据的安全性

2.5系统业务流程分析

3系统设计

3.1系统架构设计

3.2系统总体设计

3.3系统功能设计

3.4数据库设计

3.4.1数据库概念设计

3.4.3数据库表设计

4系统实现

4.1用户登录模块的实现

4.2部门信息模块的实现

4.3员工考勤管理模块的实现

4.4员工薪资管理模块的实现

4.5管理员登录模块实现

4.6管理员用户管理模块的实现

4.7管理员员工考勤管理模块的实现

5系统实验与结果分析

5.1测试的目的

5.2系统部分测试

5.3系统测试结果

6结    论

参考文献

致    谢

引    言

在现代企业中,人力资源管理是至关重要的一环。为了有效地管理和利用人力资源,开发一款基于Django框架的企业人事管理系统具有重要意义。该系统旨在提供智能、便捷和可定制的解决方案,整合员工招聘、培训发展、绩效评估和薪资管理等流程,以满足不断变化的需求。借助Django框架的优势,系统能够提供直观友好的用户界面,并提供数据分析和报告功能,帮助企业提高效率、降低成本并增强竞争力。通过研究和开发,我们致力于为企业提供全面、高效的人事管理解决方案,实现更好地利用和管理人力资源的目标。

1相关技术介绍

1.1Python语言

早在上个世纪90年代,Python就由吉多·范罗苏姆进行创造,自诞生之日起,Python就一直深深的受到了程序开发者的广泛喜爱,它作为计算机主要的编程语言,一直到今。Python语言是真的是一种纯面向对象的计算机语言,在Python的世界中,所有的方法、数据类型、符号等都是以类的方式存在的,最顶层的就是Object,所有的类都是对object的继承。继承是Python中的核心思想,与C语言不同的是,子类只有一个父类,这样的好处就是操作更加的简便,让人更容易理解,在代码的书写上也会容易较多。Python另外一个特性就是多态性,调用父类接口的方法可以实现子类的实现,这样的好处就是很好的对实现方法进行了隐藏(封装),而且又能够把API进行公开,一举两得。接口思想很好的诠释了想象对象的思想,让面向对象编程渐渐转向面向接口编程。如今,随着编程思想的继续发展,Python也加入了一些函数式编程的思想,这样的好处就是让编程代码更加的简洁与方便。本管理系统采用Python编程语言进行后台的开发,一是鉴于标准化制定以后,Python语言常用于大型商业应用程序后台系统中,生态稳定;二是也希望通过本系统的开发提高自己编写Python代码的能力。

1.2MySQL数据库

随着MySQL不断升级,其功能已变得愈发全面且精细。自MySQL4版至5版的重大改动使得其实际运用表现出色。新版本的支持数据压缩与加密进一步强化了信息的安全保障。此外,系统迭代后,数据库的镜像能力得到显著提升,操作流程更顺畅、易于理解,驱动程序的使用及生成效率也有所提高。最大变革在于空间信息的展示优化,这使我们在应用地图上标记位置和计算更为简便。强劲的数据备份功能确保用户使用过程中的安全感,并允许用户自主安装和使用Office特性和工具。另外,新的界面设计提供了两项实用区域:一是信息区,用于整理表格和文本;二是仪表盘信息控制器,可在仪表盘信息区查看多条信息并对它们进行对比分析,从而大大提高了用户体验。

在本研究设计中的企业人事管理系统实施阶段,我们主要采用了MySQL作为后端的数据库处理工具。之所以做出这个决定,是因为企业级别的应用程序和开发环境通常需要大量高频次的数据库交互,并且对于数据安全的保障需求也相当严格。因此,考虑到所有这些因素,我们选择了具有较高安全性的MySQL用于企业人事管理系统的后台数据储存工作。

1.3MVVM模式

MVVM模式(Model-View-ViewModel)是一种软件架构模式,用于将用户界面(View)与业务逻辑和数据(Model)进行分离,并通过一个中间层(ViewModel)来实现它们之间的交互和通信。

在MVVM模式中,Model代表应用程序的数据和业务逻辑。它负责处理数据的获取、存储和更新,并提供给View和ViewModel使用。Model可以是数据库、网络服务、文件系统等。

View是用户界面的可视化部分,负责展示数据和接收用户的输入。它通常由标记语言(如HTML、XAML)和样式表(CSS)来定义,并通过绑定机制与ViewModel进行交互。

ViewModel是连接View和Model的中间层,它负责处理View的状态和行为,并将其转换为对Model的操作。ViewModel还负责将Model中的数据转换为View所需的格式,并通过数据绑定机制将其传递给View进行展示。

MVVM模式的核心思想是数据绑定。通过数据绑定,ViewModel可以将数据的变化自动反映到View上,而不需要手动编写大量的代码来同步数据。这种双向绑定的机制使得开发人员能够更加专注于业务逻辑的实现,提高了开发效率和代码的可维护性。

MVVM模式还支持命令绑定和事件驱动的编程模式。通过命令绑定,View中的用户操作可以直接与ViewModel中的命令进行关联,从而实现对应的业务逻辑。而事件驱动的编程模式则允许ViewModel对来自Model或其他外部事件的响应进行处理。

MVVM模式通过将用户界面、业务逻辑和数据分离,提供了一种结构清晰、可测试和可扩展的软件架构。它在现代前端开发中得到广泛应用,并且与一些流行的框架(如AngularJS、Vue.js)紧密相关。通过合理地应用MVVM模式,开发人员可以更好地组织和管理复杂的应用程序,并提供良好的用户体验。

1.4B/S结构

相比于之前的结构,BS(Browser/Server)是一种更加简便的系统设计方式。通过使用Web服务器来实现信息的传输和交换。只要安装了网页浏览器作为用户端,就可以实现在线工作的"减肥"效应,无需再担心频繁更新软件的情况出现。


2系统分析                                                                                      

 2.1可行性分析

在开发基于Django框架的企业人事管理系统之前,需要进行可行性分析以评估该系统的可行性和潜在的成功性。可行性分析包括技术可行性、经济可行性和操作可行性三个方面的考虑。

技术可行性:技术可行性评估了系统所需的技术资源和实施方案是否可行。对于基于Django框架的企业人事管理系统,首先需要确保开发团队具备必要的技术能力和经验,熟悉Django框架及其相关技术栈。另外,需要评估系统所需的硬件和软件资源,以确保系统能够在现有的技术基础上进行开发和运行。还需要考虑到系统的安全性和稳定性,以保护敏感的人事数据和确保系统的可靠性。

经济可行性:经济可行性分析评估开发和运营基于Django的企业人事管理系统的成本和收益。需要考虑到系统开发过程中所需的人力资源、硬件设备、软件许可等成本,并与预期的收入来源进行比较。收入来源可以包括系统销售、订阅费用或其他商业合作等。通过评估成本和收益,可以确定系统的投资回报率和预期的经济效益

操作可行性:操作可行性分析涉及系统的操作和管理方面的考虑。基于Django框架的企业人事管理系统需要具备易于使用和管理的特点,以便企业管理员能够轻松地使用和维护系统。需要考虑到系统的界面设计、功能布局和交互流程,以提供良好的用户体验和操作便利性。此外,还需要确保系统具备良好的扩展性和可维护性,以适应企业的变化和需求。

通过对技术可行性、经济可行性和操作可行性的评估,可以全面了解基于Django的企业人事管理系统的可行性,并为其开发和实施提供指导。这些分析结果将有助于确保系统的成功开发和运营,并为企业提供高效的人力资源管理解决方案。

2.2功能需求分析

企业人事管理系统可以帮助用户快速、便捷地完成各项工作,包括注册、登录、部门信息管理、员工考勤管理、员工薪资管理、通知公告管理、个人通知管理、员工笔记管理、报告日志管理等,以满足用户的各种需求。管理员主要对系统用户、部门信息管理、员工考勤管理、员工薪资管理、通知公告管理、个人通知管理、员工笔记管理、报告日志管理等。

员工用户用例图2.1所示。

图2.1 员工用例图

管理员用例图2.2所示。

图2.2 管理员用例图

表3-1 公告浏览用例描述

描述项

说明

用例名称

公告查询

用例描述

用户可以查看公告的详情

参与者

用户

前置条件

使用者是普通用户类型并成功进入该系统

后置条件

浏览成功

主事件流

(1)用户可以浏览公告的模块、公告的内容

(2)用户点击公告可以对公告进行详情阅读

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1 部门信息用例描述

描述项

说明

用例名称

部门信息

用例描述

用户可以将部门信息的内容进行提交

参与者

用户

前置条件

用户是注册用户并成功进入该系统

后置条件

信息内容添加成功且显示在部门信息

主事件流

系统检查是否是普通用户

异常事件流

e1.报500错误

e2.数据库连接异常

e3.交流内容不显示

表3-1 个人信息管理用例描述

用例名称

管理和修改个人信息

参与者

用户

描述

用户查看、修改个人信息

前置条件

用户已登录到系统中

后置条件

事件流

(1)用户查看个人信息

(2)用户修改个人信息

补充说明

(a)用户可修改密码

(b)用户可修改个人资料,例如姓名,头像等

表3-1 评论用例描述

用例名称

评论

参与者

用户

描述

用户发表评论

前置条件

用户已登录

后置条件

评论内容不违规

事件流

(1)在评论页输入评论数据,提交评论

(2)更新并显示评论板

补充说明

(a)评论内容不能为空

表3-1 收藏用例描述

用例名称

收藏

参与者

用户

描述

用户将内容加入收藏夹

前置条件

用户已登录

后置条件

事件流

(1)在收藏页加入收藏

(2)更新并显示收藏夹

补充说明

表3-1 用户管理用例描述

描述项

说明

用例名称

用户操作

用例描述

管理员正确登录后台管理的条件下,对用户进行管理

参与者

管理员

前置条件

管理员登录成功并跳转到后台主界面

后置条件

操作成功

主事件流

管理员跳转用户管理页面,查询用户详情的信息

管理员可以删除用户信息

异常事件流

e1.报500错误

e2.数据库连接异常

员工考勤用例描述如下表所示。

表3-1 员工考勤用例描述

用例名称

员工考勤

参与者

用户

描述

用户执行员工考勤操作

前置条件

用户已登录

后置条件

该考勤在,并且能被查询

事件流

(1)考勤统计的表单

(2)考勤的详情内容

补充说明

(a)员工考勤表单数据不能为空

员工薪资管理用例描述如下表所示。

表3-1 员工薪资管理用例描述

用例名称

岗位邀请

参与者

管理员

描述

管理员执行员工薪资管理操作

前置条件

管理员已登录

后置条件

该薪资存在,并且能被查看

事件流

(1)在员工薪资管理页点击要薪资的月份

(2)填写员工薪资数据

补充说明

(a)员工薪资表单数据不能为空

员工笔记管理用例描述如下表所示。

表3-1员工笔记管理用例描述

用例名称

部门信息

参与者

管理员

描述

管理员执行员工笔记管理操作

前置条件

管理员已登录

后置条件

该笔记存在,并且能被查询

事件流

(1)在员工笔记管理点击笔记的标题或者日期

(2)将员工的笔记进行查询或者删除等操作

补充说明

(a)员工笔记表单数据不能为空

表3-1 资讯管理用例描述

描述项

说明

用例名称

资讯操作

用例描述

管理员正确登录后台管理的条件下,资讯模块进行管理

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入资讯管理页面,查询资讯内容的信息

(2)管理员可以对资讯进行删除操作

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1 公告管理用例描述

用例名称

公告管理

参与者

管理者

描述

管理者提供新增、修改、删除、查阅等功能

前置条件

  1. 管理者成功登录系统
  2. 管理者只能对已存在的公告进行修改和删除

后置条件

事件流

(1)管理者查看修改公告

(2)管理者添加公告

(3)管理者删除公告

补充说明

(a)新添加的公告不符合要求时会添加失败

(b)修改的公告不符合要求时会修改失败

表3-1 回复管理用例描述

描述项

说明

用例名称

回复操作

用例描述

管理员正确登录后台管理的条件下,回复模块进行管理

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入回复管理页面,查询回复内容的信息

(2)管理员可以删除回复

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1 评论管理用例描述

描述项

说明

用例名称

评论操作

用例描述

管理员正确登录后台管理的条件下,评论模块进行管理

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入评论管理页面,查询评论内容的信息

(2)管理员可以从用户评论中删除数据

异常事件流

e1.报500错误

e2.数据库连接异常

2.3非功能需求分析

重新构思一下:我们应该重点关注的是,我们的软件系统应该能否为所有使用者提供最佳的服务。我们应该仔细检查它的实现,以确保它的功能和效率都达到最佳水平。否则,我们的产品将无法发挥其应有的作用。我们应该进行7个方面的非功能性评估,包括:性能评估,评估系统的实际表现;安全评估,评估系统的稳定性;完善评估,评估系统的一致性;可持续评估,评估系统的持久性。。经过详细的可扩展性和业务性能评估,我们得出结论:为了满足学习者的考核,我们必须进行7个关键指标的评估,包括性能、安全、扩展和完备程序。此外,我们还必须进行必要的非功能性需求评估。

2.4安全性需求分析

2.4.1系统的安全性

安全性是所有系统的基础,它能够确保企业和用户的信息不会被盗取。为了确保系统的安全,我们需要采取措施,不仅要确保用户的权益,还要确保企业的利益。特别是在学习、考试和系统维护方面,我们应该加强安全措施,确保整个系统的安全。

系统采取严格的权限管理措施,以确保用户的身份和权限,并且能够有效地防止角色之间的冲突,从而确保系统的安全性。

2.4.2 数据的安全性

数据库中的数据来源于外部,但由于各种原因,它们可能会变得无效或者污染。因此,如何确保输入的数据符合要求,特别是在多用户的关系数据库系统中,成为了一个重要的挑战。

为了确保数据的准确、可靠且可靠地存储到数据库中,我们必须严格遵守这些规则。

2.5系统业务流程分析

管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

企业人事管理系统的业务流程图2.3所示。

图2.3 系统业务流程图

3系统设计

3.1系统架构设计

在企业人事管理体系中,通常会将它划分成3个层次:Web、业务层、Model。web层由View层、Controller层组成,而Model层则由元数据拓扑层、数据访问层组成。

系统架构图3.1所示。

MVVM 通过对View 的状态与行为进行抽象,使得用户能够有效地区分 UI 与业务逻辑,从而实现对view的有效管控。此外, ViewModel 还能够从 Model 的数据集中提取信息,从而有效地解决因为需要呈现特定内容所带来的问题。该系统明确规定,应用程序的输入、输出以及处理都必须独立完成,并且被划分成三个独立的子系统,每个子系统都具备独特的功能。

图3.1 系统架构图

视图层是一种可以让用户轻松访问的、具有交互性的界面,它可以将用户的信息呈现出来,也可以接收用户的输入,但它不会对用户的信息产生任何实质性的影响。

Model 作为 MVVM 的核心组成部分,具有极高的效率,它能够从多种视角获取信息,并且能够根据多种视角的特点,调整模式,从而实现多种功能。它的功能强大,能够满足多种多样的场景,并且能够有效地解决实际问题,从而满足多种多样的场景的需求。在后期,我们往往只需简单地调整模式,就能够满足多种多样的场景的需求,从而实现多种多样的功能。 MVVM的核心组成部分具有极高的可靠性。

控制器是一个重要的系统,它能够在两个不同的系统中进行信息交换。它能够在两个系统中进行信息交换,同时还能够根据需要对信息进行分类。它能够根据需要对信息进行分类,然后根据分类的结果,对信息进行分类。

3.2系统总体设计

企业人事管理系统由前端用户界面和后端管理员界面组成。

虽然两个模块看起来各自独立,但它们所使用的数据库却是一致的。这些模块的功能是经过精心设计,根据先前的需求进行分析,并结合相关资料进行编排而成的。

综上所述,系统功能结构图3.2所示。

图3.2 系统功能结构图

3.3系统功能设计

登录模块是系统的核心部分,它提供了用户登录的功能,无论是普通用户还是高级管理员,都必须输入用户名和密码,并且在多次尝试登录之前,还需要输入验证码,以确保系统的安全性。一旦登录成功,系统将自动从数据库中提取用户的权限,并将用户导航到其主页面。

管理员负责对企业、用户进行全面的管理,包括添加、更新和查询。他们可以对企业、用户进行任何操作,包括更新、添加、删除等。

3.4数据库设计

数据库的设计承载者系统的各种数据,在一个系统中各种数据都需要一个专门的容器,数据库就是这个容器,在建立数据库的时候,主要是数据库模型的设计以及各个数据库表的设计两部分。

3.4.1数据库概念设计

下面是整个企业人事管理系统中主要的数据库表总E-R实体关系图。系统E-R图3.3所示。

图3.3 系统E-R图

3.4.3数据库表设计

企业人事管理系统与系统所拥有的数据表有以下:部门信息表,岗位邀请表,员工考勤表,个人简历表等。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表department_information (部门信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_information_id

int

10

0

N

Y

部门信息ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_head

varchar

64

0

Y

N

部门主管

4

department_phone_number

varchar

64

0

Y

N

部门电话

5

department_headcount

int

10

0

Y

N

0

部门人数

6

department_introduction

text

65535

0

Y

N

部门简介

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_attendance (员工考勤)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_attendance_id

int

10

0

N

Y

员工考勤ID

2

employee_name

varchar

64

0

Y

N

员工姓名

3

employee_gender

varchar

64

0

Y

N

员工性别

4

department_name

varchar

64

0

Y

N

部门名称

5

employee_title

varchar

64

0

Y

N

员工职称

6

employee_id

varchar

64

0

Y

N

员工工号

7

corresponding_user

int

10

0

Y

N

0

对应用户

8

attendance_month

varchar

64

0

Y

N

考勤月份

9

attendance_this_month

int

10

0

Y

N

0

本月考勤

10

absence_this_month

int

10

0

Y

N

0

本月缺勤

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_notes (员工笔记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_notes_id

int

10

0

N

Y

员工笔记ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

department_name

varchar

64

0

Y

N

部门名称

5

employee_id

varchar

64

0

Y

N

员工工号

6

note_title

varchar

64

0

Y

N

笔记标题

7

note_date

date

10

0

Y

N

笔记日期

8

notes_content

longtext

2147483647

0

Y

N

笔记内容

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_salary (员工薪资)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_salary_id

int

10

0

N

Y

员工薪资ID

2

employee_name

varchar

64

0

Y

N

员工姓名

3

employee_gender

varchar

64

0

Y

N

员工性别

4

department_name

varchar

64

0

Y

N

部门名称

5

employee_title

varchar

64

0

Y

N

员工职称

6

employee_id

varchar

64

0

Y

N

员工工号

7

corresponding_user

int

10

0

Y

N

0

对应用户

8

salary_month

varchar

64

0

Y

N

薪资月份

9

this_months_salary

int

10

0

Y

N

0

本月薪资

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_users (员工用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_users_id

int

10

0

N

Y

员工用户ID

2

employee_name

varchar

64

0

Y

N

员工姓名

3

employee_gender

varchar

64

0

Y

N

员工性别

4

employee_age

varchar

64

0

Y

N

员工年龄

5

department_name

varchar

64

0

Y

N

部门名称

6

employee_title

varchar

64

0

Y

N

员工职称

7

employee_id

varchar

64

0

N

N

员工工号

8

employee_phone_number

varchar

64

0

Y

N

员工电话

9

id_number

varchar

64

0

Y

N

身份证号

10

date_of_employment

date

10

0

Y

N

入职日期

11

employment_situation

varchar

64

0

Y

N

在职情况

12

examine_state

varchar

16

0

N

N

已通过

审核状态

13

user_id

int

10

0

N

N

0

用户ID

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表notification_announcement (通知公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notification_announcement_id

int

10

0

N

Y

通知公告ID

2

announcement_title

varchar

64

0

Y

N

公告标题

3

release_date

date

10

0

Y

N

发布日期

4

announcement_content

text

65535

0

Y

N

公告内容

5

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表personal_notifications (个人通知)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

personal_notifications_id

int

10

0

N

Y

个人通知ID

2

employee_name

varchar

64

0

Y

N

员工姓名

3

department_name

varchar

64

0

Y

N

部门名称

4

employee_id

varchar

64

0

Y

N

员工工号

5

corresponding_user

int

10

0

Y

N

0

对应用户

6

notification_message

text

65535

0

Y

N

通知消息

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表report_logs (报告日志)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

report_logs_id

int

10

0

N

Y

报告日志ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

department_name

varchar

64

0

Y

N

部门名称

5

employee_id

varchar

64

0

Y

N

员工工号

6

log_title

varchar

64

0

Y

N

日志标题

7

log_date

date

10

0

Y

N

日志日期

8

log_content

longtext

2147483647

0

Y

N

日志内容

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

4系统实现

4.1用户登录模块的实现

这个系统包含了一个简单的操作流程,它可以帮助快速访问系统。首先,需要填写一个有效的账号或者一个安全的密码,然后系统会根据填写信息来生成一个新的账号或者一个安全的密码。这个账号或者安全的密码是通过“用户名,密码不能为空”来识别的,一旦识别,就可以使账号或者安全的账号使用。当账号被激活时,系统会弹出一个警告窗口,请确保账号被正确激活。如果账号被激活,请确保账号被正确激活。激活之后,可以访问账号,查看个人资料,以及考试信息。通过删除username的数据,用户可以从当前窗口返回至最初的状态。

登录流程图4.1所示。

图4.1 登录流程图

用户登录界面图4.2所示。

图4.2 用户登录界面

 def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.2部门信息模块的实现

部门信息管理系统是一种用于记录、维护和管理企业内部部门信息的系统;部门信息管理系统,企业能够有效地管理和组织部门信息,确保部门信息的准确性和及时性。该系统能够提高跨部门协作的效率,加强部门间的沟通和协调,并为企业的组织发展和人力资源管理提供有力支持。

部门信息界面图4.3所示。

图4.3部门信息界面

4.3员工考勤管理模块的实现

员工考勤管理系统是一种用于记录、跟踪和管理员工出勤情况的系统;基本的员工考勤管理系统的功能描述,具体功能可以根据实际需求进行定制和扩展。该系统能够帮助企业实现员工出勤的自动化记录与管理,提高工作效率和管理精度,并为薪资结算、绩效评估和人力资源决策提供支持。

员工考勤管理流程图4.4所示。

图4.4考勤管理流程图

考勤管理界面图4.5所示。

图4.5考勤管理界面

4.4员工薪资管理模块的实现

员工薪资管理系统是一种用于管理和计算员工薪资的系统。它具有多项功能,包括员工信息维护、薪资计算与发放、工资组成管理、薪资调整与涨幅计算、福利管理、薪资报表与导出表格;这个系统能够提高薪资管理的准确性和效率,帮助企业合理配置薪资资源,满足员工的薪酬需求,并为财务管理和决策提供可靠的数据支持。界面图4.6所示。

图4.6 员工薪资管理界面

4.5管理员登录模块实现

管理员登录的简单操作,首先需要填写一个有效的账号或者一个安全的密码,即可登录进去管理员的页面;界面图4.7所示。

图4.7管理员登录界面

4.6管理员用户管理模块的实现

管理员功能模块主要有系统用户、部门信息管理、员工考勤管理、员工薪资管理、通知公告管理、个人通知管理、员工笔记管理、报告日志管理等内容;界面图4.8所示。

图4.8 管理员登录界面

4.7管理员员工考勤管理模块的实现

管理员可以有效地管理员工的考勤情况,监督出勤记录和异常情况,并为薪资结算、绩效评估和人力资源管理提供支持和依据。同时,管理员还能够查询和删除等考勤异常的信息;界面图4.9所示。

管理员员工考勤管理界面图4.9所示。

图4.9 管理员员工考勤管理流程图

员工考勤管理图4.10所示。

5系统实验与结果分析

5.1测试的目的

通过前面章节的介绍,我们可以看到本企业人事管理系统已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。

5.2系统部分测试

用户登录功能测试:

表5.1 用户登录功能测试表

测试名称

测试功能

操作过程

预期结果

测试

结果

用户登录模块测试

用户登录成功的情况

点击前登录界面输入账号和密码分别输入admin和admin后点击“登录”按钮。

登录成功并调整到用户界面

正确

部门信息添加功能测试:

表5.2 部门信息添加功能测试表

测试名称

测试功能

操作过程

预期结果

测试

结果

部门信息添加模块测试

部门信息添加成功的情况

在部门信息的页面中将点击添加,输入部门信息关信息,输入正确的信息后然后点击“提交”按钮。

提示添加成功

正确

部门信息添加模块测试

部门信息添加失败的情况

在部门信息页面中不填写的岗位名称,其他信息正常输入“提交”按钮。

提示“添加失败,信息不能为空”

正确

查询企业介绍信息功能模块测试:

表5.3 查询企业介绍信息功能测试表

测试名称

测试功能

操作过程

预期结果

测试

结果

查询企业介绍信息功能测试

查询成功的情况

在企业介绍界面输入企业名称名称进行查询

查询成功

正确

员工考勤信息添加功能测试:

表5.4 员工考勤添加功能测试表

测试名称

测试功能

操作过程

预期结果

测试

结果

员工考勤添加模块测试

员工考勤添加成功的情况

在员工考勤的页面中将点击添加,输入宿舍相关信息,输入正确的信息后然后点击“提交”按钮。

提示添加成功

正确

员工考勤添加模块测试

员工考勤添加失败的情况

在员工考勤页面中不填写的宿舍名称,其他信息正常输入“提交”按钮。

提示“添加失败,信息不能为空”

正确

5.3系统测试结果

通过编写企业人事管理系统的测试用例,已经检测完毕用户的登录模块、部门信息信息添加模块、查询企业介绍模块、员工考勤添加模块的功能测试,在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。


6结 论

近年来,由于计算机和互联网的快速发展,许多领域都在使用这些工具来处理不断增长的信息;通过使用Django框架开发企业人事管理系统,可以实现高效、灵活和可扩展的人力资源管理解决方案。该系统具备员工信息管理、组织架构管理、招聘与甄选、薪资和福利管理、员工培训与绩效评估、请假与考勤管理以及数据分析与报表生成等功能。管理员可以轻松地管理员工信息、跟踪招聘流程、计算薪资和福利、安排培训并评估绩效、管理请假与考勤,并生成各种类型的报表和统计数据用于决策和分析。这个系统为企业提供了一体化的人力资源解决方案,提高了组织的运行效率和员工满意度。

尽管我们已经尽力改进了系统,但我们仍然存在一些问题,比如我们没有足够的专业知识来支持我们的工作。我们需要继续努力,提高我们的工作效率,并尽可能地提供更好的服务。


参考文献

[1]陈建敏,姬五胜,赵宝乐.基于LabVIEW和Django的线上虚拟仿真实验室[J].物联网技术,2024,14(02):154-158.

[2]李娜.国有企业如何加强企业经济责任审计与组织人事管理[J].中国集体经济,2024,(05):53-56.

[3]张良峰.基于Django和Vue的低代码平台构建[J].数字通信世界,2024,(01):45-48.

[4]范春.高校企业人事管理中员工培训与发展研究[J].华章,2024,(01):141-143.

[5]林震远.企业发展中的干部人事档案管理[J].办公室业务,2023,(23):152-154.

[6]范春.高校企业人事管理优化对策分析[J].华章,2023,(12):94-96.

[7]魏晓玲,刘红英.基于Python和Django框架的琴房管理系统设计与实现[J].无线互联科技,2023,20(22):51-53.

[8]胡从寅,杨文远,赵鑫等.基于Django+Vue.js的设计作品交易平台的实现[J].软件,2023,44(11):42-46.

[9]Hagelin S .Shake my hand: Racial fantasies, white saviors, and Django Unchained's haunted screen[J].The Journal of Popular Culture,2023,56(5-6):781-796.

[10]冯雪.电力企业人事档案管理中的人工智能应用与实践[J].现代企业文化,2023,(29):38-41.

[11]李婷.现代人力资源管理视角下企业人事档案管理的变革探究[J].中外企业文化,2023,(09):226-228.

[12]孙婧.企业人事档案管理数字化思考[J].网络安全和信息化,2023,(09):9-12.

[13]马军伟,文治,薛泓林等.基于区块链的企业人事档案管理系统[J].信息技术与信息化,2021,(12):37-42.

[14]吴亮.中小企业人事管理系统设计[J].科学技术创新,2020,(31):73-74.

[15]刘蓉,丁旭.现代企业人事管理信息系统的设计与实现[J].黄河.黄土.黄种人,2020,(17):36-37.

[16]Wang H .Design and Development of Personnel Information Management System of Coastal Enterprises[J].Journal of Coastal Research,2020,106(sp1):664-667.

[17]段修亮,赵霞.小型企业人事管理系统的设计与实现[J].科技风,2020,(01):76.

[18]张天武.面向国有企业领导班子人事管理系统的设计与实现[J].企业科技与发展,2019,(12):85-86.

致    谢

在本次毕业论文的编写过程中,我们需要得到来自指导者与学院的专家的帮助。指导老师无论是在日常的教课中,还是在论文修改撰写中都给了我很大的帮助。教师认真负责的工作态度,谨慎的教学精神厚重的理论水准都使我获益匪浅我非常感谢老师,因为他们让我学到了许多知识。通过理论和实践,我的技能都有了显著的提升。

经过对毕业设计的全面研究和开发,我的系统企业人事管理系统取得了重大突破,从需求分析到实现复杂功能,再到最终的测试和维护,使我对系统企业人事管理系统有了更加深刻的理解。此外,我还在实践中不断提升自己的技能,解决复杂问题,这是这次毕业设计最大的收获。

最终,在整个系统开发的过程中,我的同学和朋友们给予了我极大的帮助,他们的建议让我能够迅速地理解系统的总体构想,因此,我深深地感谢他们的支持。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值