springboot外聘人员人事管理系统-毕业设计源码41115

摘 要

随着互联网技术的发展,信息化成为管理水平重要标志。高校信息化建设取得成就,但外聘人员管理仍人工。针对此现状,设计开发适合高校的外聘人员人事管理系统至关重要。系统包括系统用户模块、招聘需求模块、面试计划模块、普通用户档案模块、合同档案模块、工资信息模块、考勤信息模块、权限管理模块等八功能模块,优化了业务流程。经过可行性分析和设计开发,采用Java技术、Spring Boot框架实现,功能测试表明系统基本符合用户需求。系统提升了外聘人员管理水平和人事工作效率,对信息化管理水平的完善起到积极作用。

关键词:Java开发语言;springboot框架技术;外聘人员人事管理系统

Abstract

With the development of Internet technology, informatization has become an important symbol of management level. Achievements have been made in the informatization construction of universities, but the management of external personnel is still manual. In response to this situation, it is crucial to design and develop a personnel management system suitable for external personnel in universities. The system includes eight functional modules, including system user module, recruitment requirements module, interview plan module, employee profile module, contract profile module, salary information module, attendance information module, and permission management module, optimizing business processes. After feasibility analysis and design development, the system was implemented using Java technology and Spring Boot framework. Functional testing showed that the system basically meets user needs. The system has improved the management level and personnel work efficiency of external personnel, playing a positive role in improving the level of information management.

Key words:Java development language; Springboot framework technology; External Personnel Personnel Management System

目  录

第1章 绪论

1.1 研究背景

1.2 研究意义

1.3 本文结构

第2章 相关技术介绍

2.1Java编程语言

2.2 springboot框架

2.3Vue.js 主要功能3

第3章 系统分析

3.1 可行性分析

3.1.1 操作可行性

3.1.2 技术可行性

3.2 系统功能需求

3.3 系统性能需求

第4章 系统设计

4.1 总体结构设计

4.2 功能模块设计

4.3 数据库设计

4.3.1 概念设计

4.3.2 逻辑设计

第5章 系统实现

5.1 登录模块的实现

5.2 普通用户模块的实现

5.2.1 员工档案管理模块的实现

5.2.2 合同档案管理模块的实现

5.2.3 个人信息模块的实现

5.2.4 密码修改模块的实现

5.3 后台模块的实现

5.3.1 用户管理模块的实现

5.3.2 招聘需求管理模块的实现

5.3.3 面试计划管理模块的实现

5.3.4 工资信息管理模块的实现

第6章 系统测试

6.1 测试方法

6.2 测试用例

6.3 测试结果

第7章 总结与展望

参考文献

致谢 37

  1. 绪论

    1. 研究背景

随着现代企业管理的复杂性和外部劳动力需求的增加,外聘人员人事管理系统的研究和应用日益受到关注。在追求效率和专业化的当今商业环境下,企业需要更加系统化和智能化的人事管理工具来有效管理外聘人员的招聘、合同管理、薪酬福利、考勤等相关事务。随着科技的发展,人事管理系统不再局限于传统的人力资源管理方式,而是借助信息技术和数字化手段实现智能化管理。外聘人员人事管理系统能够提升管理效率,优化流程,降低人力成本,提高管理水平和数据准确性。随着企业规模的扩大和管理需求的增加,对外聘人员的全面管理和监控也变得尤为重要。

外聘人员人事管理系统的研究背景随着企业管理的现代化需求而不断演进。企业对于外聘人员管理的要求越来越高,需要更高效、精准的管理系统来支持人事决策和业务运营。因此,研究外聘人员人事管理系统的背景在于满足企业对人力资源管理的新需求,提高外聘人员管理效率和质量,推动企业管理水平的持续提升。

    1. 研究意义

随着信息化时代的发展愈发凸显。随着互联网技术的不断进步,管理工作逐渐向数字化、智能化发展,信息化已成为管理水平的重要标志。外聘人员在现代企业中扮演着重要角色,其管理涉及招聘、合同、薪酬、考勤等方面,需要系统化、高效的管理方式。设计和开发一套外聘人员人事管理系统具有重要意义。首先,通过系统化管理外聘人员信息,可以提高管理效率、准确性和透明度,减少人为错误和漏洞。其次,系统化的外聘人员管理有助于优化招聘流程、合同管理和薪酬发放,提升整体人事管理水平。此外,系统化管理还能为企业提供数据支持和决策依据,帮助企业更好地制定人才战略和人力资源规划。

随着外聘人员数量和多样性的增加,外聘人员人事管理系统的研究意义进一步凸显。借助信息技术和智能化工具,可以更好地应对外聘人员管理中的挑战和复杂性,提高管理效率和质量,推动企业人力资源管理向数字化、智能化转型。因此,外聘人员人事管理系统的研究不仅有助于提升管理效率,还能促进企业人力资源管理的现代化和科学化发展。

    1. 本文结构

(1)绪论

从开发系统的背景以及研究意义,详细描述了系统的在哪些方面能得到应用、然后对本文分结构。

(2)系统开发环境介绍

使用技术简介、数据库概念和特点、编码工具、建模工具等。

(3)系统分析

可行性分析概述、用户需求调研、系统性能需求、系统数据组成。

(4)系统设计

系统网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计。

(5)系统的实现

员工档案管理模块的实现、交流模块设计、竞赛报名模块的实现。

(6)系统测试

系统编码实现后,需要进行测试,测试包括黑盒测试和白盒测试,本系统采用黑盒测试,通过输入不同组的测试数据进行测试的功能模块测试。

  1. 相关技术介绍

    1. Java编程语言

Java语言是一种广泛应用于软件开发的高级编程语言。它以简单易学、面向对象、平台无关、安全可靠和强大的标准库等特点著称。Java摒弃了复杂的指针概念,提供了自动内存管理机制,使得程序员可以更专注于业务逻辑的实现。其面向对象的设计使得代码更易重用和维护。Java可以在不同操作系统和硬件平台上运行,实现了跨平台的特性。同时,Java具备丰富的安全性机制,防止恶意代码对系统造成危害。另外,Java拥有强大的标准库和API,提供了广泛的功能支持,让开发人员能够更高效地开发各种应用。总之,Java编程语言的优势使其成为一种被广泛应用于各个领域的优秀编程语言。

    1. springboot框架

Spring框架是Java平台上的一种开源应用框架,提供控制反转(IOC)和面向切面编程(AOP)等特性。它以简洁、灵活的设计理念备受青睐,并成为了EJB模型的补充和替代。Spring框架通过IOC容器实现对象生命周期的管理和依赖注入,提供了统一的配置和管理方式。同时,它还提供了AOP框架来实现声明式的事务管理和模块化的关注点处理。Spring框架还集成了多种持久化技术和Web框架,方便开发人员进行数据访问和构建Web应用。总而言之,Spring框架以其简洁、灵活的特性,在Java应用程序开发中提供了一系列解决方案,帮助开发人员提高开发效率和代码质量。

    1. Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

  1. 系统分析

    1. 可行性分析

为了迎合当今社会的现况,便于在市场中打开局面、占有一席之地;在大数据时代下,所有的信息化资源全部都是共享资源、为了长远性考虑,对此需要考虑如何推动整体的系统开发实现标准化。保证系统成功,所以就必须从效益、技术等上面做可行性报告研究。

      1. 操作可行性

外聘人员人事管理系统的注册与登录页面设计简洁易用,可以通过常见的窗口形式实现登录功能,使用者只需熟悉计算机操作即可轻松登录。该平台基于Java技术开发,并采用B/S结构,使得系统功能更加完整,设计更具个性化,使用者体验更为简便。外聘人员人事管理系统具备易于运行、简单管理和良好的交互性等优点,在实际操作中也非常简单。因此,该平台也具备商业应用的潜力。

综上所述,该外聘人员人事管理系统的研发符合技术、工艺和技术要求,具有较高的可操作性。

      1. 技术可行性

技术可行性是指在确定的科学技术或决策方法中,所涉及的技术资源已经掌握或相关人员熟悉。在技术研究过程中,需要全面调查系统研发过程中的关键技术问题,并尽可能选择成熟的技术,引用先进的技术,评估关键技术的有效性。对于外聘人员人事管理系统的设计和实施,Java技术起着关键作用。基于B/S架构和MySQL数据库管理,Java技术对于前端应用和后端数据库管理都非常重要。为了确保该程序的有效应用,需要保持功能全面、易懂易用的特性。在构建数据库管理时,需要确保数据分析信息的完整性和稳定性。早期就对Java的基本重要知识点有一定的理解和熟悉,并对MySQL数据库进行了简要的掌握和熟悉。早期对软件工程测试、UML语言等基础课程进行了练习和掌握,这些练习使得我们能够进行信息系统开发、测试和评估。

因此,将Java与MySQL结合起来研发一个外聘人员人事管理系统是合理且有效的。这样的平台将提供全面的功能,并且能够满足用户的需求。

    1. 系统功能需求

普通用户用例图如下所示。

图3-1 普通用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

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

描述项

说明

用例名称

用户操作

用例描述

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

参与者

管理员

前置条件

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

后置条件

操作成功

主事件流

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

管理员可以删除用户信息

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1招聘需求管理用例描述

描述项

说明

用例名称

招聘需求操作

用例描述

管理员在正确登录后台管理系统后,对招聘需求模块进行管理操作

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入招聘需求管理页面,查询招聘需求的信息

(2)管理员可以对招聘需求进行增加、删除和编辑招聘需求操作

(3)管理员新增招聘需求,添加成功跳转到查询页面

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1合同档案管理用例描述

描述项

说明

用例名称

合同档案操作

用例描述

管理员在正确登录后台管理系统后,对合同档案模块进行管理操作

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入合同档案管理页面,查询合同档案的信息

(2)管理员可以对合同档案进行增加、删除和编辑合同档案操作

(3)管理员新增合同档案,添加成功跳转到查询页面

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1工资信息管理用例描述

描述项

说明

用例名称

工资信息操作

用例描述

管理员在正确登录后台管理系统后,对工资信息模块进行管理操作

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

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

(2)管理员可以对工资信息进行增加、删除和编辑工资信息操作

(3)管理员新增工资信息,添加成功跳转到查询页面

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1员工档案管理用例描述

描述项

说明

用例名称

员工档案操作

用例描述

管理员在正确登录后台管理系统后,对员工档案模块进行管理操作

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入员工档案管理页面,查询员工档案的信息

(2)管理员可以对员工档案进行增加、删除和编辑员工档案操作

(3)管理员新增员工档案,添加成功跳转到查询页面

异常事件流

e1.报500错误

e2.数据库连接异常

    1. 系统性能需求

(1)友好界面:系统需要具有用户友好的界面设计,使用户能够轻松地浏览和操作系统。清晰、直观的布局、易于理解的导航和操作流程,以及合适的字体、颜色和图标等元素都是创建友好界面的重要因素。

(2)稳定性要求:系统需要保持稳定运行,避免出现崩溃或数据丢失等问题。稳定性要求包括系统的可靠性、容错性和高可用性。系统应该能够处理并恢复各种异常情况,确保在任何时间点都能够正常运行。

(3)可扩展性:外聘人员人事管理系统需要具备良好的可扩展性,能够满足未来的发展需求。随着用户数量和数据量的增加,系统应该能够扩展以支持更多的用户和处理更大规模的数据。这可以通过合理的架构设计、模块化的组织和灵活的配置实现。

(4)满足需求:系统需要满足用户的需求,并提供所需的功能和服务。这包括对工资信息管理、面试计划管理、合同档案管理、招聘需求管理、员工档案管理、招聘需求管理等功能。系统应该能够高效地处理用户的请求,并提供准确、实时的信息反馈。

  1. 系统设计

    1. 总体结构设计

层次框图是由多个层级的矩形框架组成的树形结构,其中顶部表示整个数据结构,下方的长方形表示独立的数据单元。这种精简的架构可以清晰地描述数据结构,并满足需求分析的要求。首先对顶层信息进行分类,然后在每个路径上不断优化,直至确定完整的数据结构。

该系统由两个模块组成:管理员和普通用户。尽管这些模块看起来是独立的,但实际上它们通过数据库连接在一起。每个模块都具有特定的权限,唯一的区别在于访问方式的不同。通过对调研资料进行分析,完成了各个模块的功能定义。基于对这些功能的分析,本系统提出了两个主要模块,每个模块可以进一步划分为若干个子模块。

系统的功能结构图如下图所示。

图4-2 系统功能结构图

    1. 功能模块设计

外聘人员人事管理系统在前端设计采用多种技术交互使用达到界面简洁大方,使用Java作为系统的编译语言,对于之前的分析所产生的问题进行解决,功能模块设计后进行编码实现具体功能:

登录模块: 用户必须输入正确的账号和密码才能成功登录系统,确保安全访问。

考勤信息管理模块: 授权用户具有相关权限,可执行考勤信息的添加、查询、修改、删除操作,同时对员工用户、员工工号等数据项进行独立操作,设置数据类型及其他参数。

合同档案管理模块: 授权用户具备相关权限,可进行合同档案的添加、查询、修改、删除操作,同时对员工用户、员工工号等数据项进行单独操作,设置数据类型等参数。

    1. 数据库设计
      1. 概念设计

在需求分析中,我们用来分析的对象往往是抽象的概念,所以在这个环节应当避免过于细致的细节分析,而是通过这些抽象的概念来分析实体所具备的属性和实体之间的联系。外聘人员人事管理系统利用E-R图对上述实体和联系进行描述。

图4-3 普通用户信息E-R关系图

图4-4 招聘需求信息E-R关系图

图4-5面试计划信息E-R关系图

图4-6 工资信息E-R关系图

总体ER图如下图所示。

图4-8 总体ER图

      1. 逻辑设计

所有系统的应用数据相互区分。一旦在相应的系统中实现,它们将与自己相应的网络和服务器通信。所以这个系统可以连接这些数据。当我们选择桥梁截面时,以下将简要介绍如何建立系统。在单击上一个按键的时候,就会自动在对话框中弹出数据源的名字,之后再单击下一个按键时,就在填写相对应的身份验证和登录信息。按照系统功能设计的特点与职能模块的分类,外聘人员人事管理系统的总体设计和实施过程一共涉及到了几个资料表格。

以下就介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:

表attendance_information (考勤信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

attendance_information_id

int

10

0

N

Y

考勤信息ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_no

varchar

64

0

Y

N

员工工号

4

employee_name

varchar

64

0

Y

N

员工姓名

5

attendance_month

varchar

64

0

Y

N

考勤月份

6

attendance_date

date

10

0

Y

N

考勤日期

7

attendance_status

varchar

64

0

Y

N

考勤状态

8

working_hours

datetime

19

0

Y

N

上班时间

9

off_duty_time

datetime

19

0

Y

N

下班时间

10

attendance_instructions

text

65535

0

Y

N

考勤说明

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表contract_archives (合同档案)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

contract_archives_id

int

10

0

N

Y

合同档案ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_no

varchar

64

0

Y

N

员工工号

4

employee_name

varchar

64

0

Y

N

员工姓名

5

contract_name

varchar

64

0

Y

N

合同名称

6

contract_number

varchar

64

0

Y

N

合同编号

7

contract_party_a

varchar

64

0

Y

N

合同甲方

8

contract_party_b

varchar

64

0

Y

N

合同乙方

9

signing_date

date

10

0

Y

N

签订日期

10

contract_content

text

65535

0

Y

N

合同内容

11

contract_documents

varchar

255

0

Y

N

合同文件

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_files (员工档案)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_files_id

int

10

0

N

Y

员工档案ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_no

varchar

64

0

Y

N

员工工号

4

employee_name

varchar

64

0

Y

N

员工姓名

5

employee_age

varchar

64

0

Y

N

员工年龄

6

employee_gender

varchar

64

0

Y

N

员工性别

7

employee_phone_number

varchar

64

0

Y

N

员工电话

8

id_number

varchar

64

0

Y

N

身份证号

9

home_address

varchar

64

0

Y

N

家庭住址

10

the_highest_educational_level

varchar

64

0

Y

N

最高学历

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表interview_plan (面试计划)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

interview_plan_id

int

10

0

N

Y

面试计划ID

2

plan_name

varchar

64

0

Y

N

计划名称

3

plan_type

varchar

64

0

Y

N

计划类型

4

interview_time

varchar

64

0

Y

N

面试时间

5

interviewees

varchar

64

0

Y

N

面试人员

6

interview_location

varchar

64

0

Y

N

面试地点

7

plan_content

text

65535

0

Y

N

计划内容

8

plan_details

text

65535

0

Y

N

计划明细

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表recruitment_needs (招聘需求)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

recruitment_needs_id

int

10

0

N

Y

招聘需求ID

2

requirement_name

varchar

64

0

Y

N

需求名称

3

department_name

varchar

64

0

Y

N

部门名称

4

recruitment_positions

varchar

64

0

Y

N

招聘职位

5

position_type

varchar

64

0

Y

N

职位类型

6

number_of_recruiters

varchar

64

0

Y

N

招聘人数

7

recruitment_time

datetime

19

0

Y

N

招聘时间

8

recruitment_location

varchar

64

0

Y

N

招聘地点

9

position_salary

varchar

64

0

Y

N

职位薪资

10

job_requirements

text

65535

0

Y

N

职位要求

11

job_description

text

65535

0

Y

N

职位内容

12

welfare_treatment

text

65535

0

Y

N

福利待遇

13

requirement_content

text

65535

0

Y

N

需求内容

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

employee_no

varchar

64

0

N

N

员工工号

3

employee_name

varchar

64

0

Y

N

员工姓名

4

employee_gender

varchar

64

0

Y

N

员工性别

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表salary_information (工资信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

salary_information_id

int

10

0

N

Y

工资信息ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_no

varchar

64

0

Y

N

员工工号

4

employee_name

varchar

64

0

Y

N

员工姓名

5

salary_month

varchar

64

0

Y

N

发薪月份

6

basic_salary

varchar

64

0

Y

N

基本工资

7

overtime_wages

varchar

64

0

Y

N

加班工资

8

bonus_amount

varchar

64

0

Y

N

奖金金额

9

penalty_amount

varchar

64

0

Y

N

罚款金额

10

attendance_deduction

varchar

64

0

Y

N

考勤扣款

11

net_salary

varchar

64

0

Y

N

实发工资

12

salary_details

text

65535

0

Y

N

工资明细

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

  1. 系统实现

    1. 登录模块的实现

用户登录验证不再仅限于匹配登录信息和权限,而是引入验证码作为额外验证要素,只有在界面上所有编辑框的数据准确无误的情况下才能成功登录。管理员和前台用户的登录流程是相同的,主要依靠权限字段来识别用户或管理员的角色。

用户登录流程图如下所示。

图5-1 用户登录流程图

登录界面如下图所示。

图5-2 登录界面

登录关键代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

    1. 普通用户模块的实现
      1. 员工档案管理模块的实现

普通用户点击“员工档案”按钮,可以对员工档案的员工用户、员工工号、员工姓名、员工年龄、员工性别、员工电话等信息进行更新。

员工档案界面如下图所示。

图5-3 员工档案管理界面

      1. 合同档案管理模块的实现

普通用户点击“合同档案”按钮,可以对合同档案的员工用户、员工工号、员工姓名、合同名称、合同编号、合同甲方、合同乙方等详细信息。

合同档案管理界面如图所示。

图5-4 合同档案管理界面

      1. 个人信息模块的实现

用户点击“个人信息”按钮,可以对个人的头像、昵称、手机号码等信息进行更新。

个人信息界面如下图所示。

图5-5个人信息界面

      1. 密码修改模块的实现

用户点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,则修改成功,否则给出错误提示信息。

密码修改界面如图所示。

图5-1 密码修改管理界面

    1. 后台模块的实现
      1. 用户管理模块的实现

用户需要先注册才能获得登录权限。当选择“普通用户”选项时,系统会自动跳转至用户注册界面,并触发“add”函数。用户需在指定的文本框中填写相关基础信息,确认后即可完成注册。注册完成后,用户可以使用检索工具栏填写相应的用户信息,系统将显示该用户的所有相关信息。

用户管理流程图如下所示。

图5-6 用户管理流程图

用户管理界面如下图所示。

图5-7用户管理界面

用户管理关键代码如下所示。

  @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

      1. 招聘需求管理模块的实现

在主页左侧菜单栏中点击“招聘需求管理”按钮,再从二级目录中点击“新增招聘需求”按钮,进入到新增招聘需求界面。在此处招聘需求可以添加招聘需求的需求名称、部门名称、招聘职位、职位类型、招聘人数、招聘时间。

在主页左侧菜单栏中点击“招聘需求管理”按钮,再从二级目录中点击“查询招聘需求”按钮,进入到查询招聘需求界面。在此处招聘需求可以查询当前所有招聘需求记录。

招聘需求管理流程如下图所示。

图5-8 招聘需求管理流程

招聘需求添加的界面如所示。

图5-9招聘需求展示界面

招聘需求添加界面如下图所示。

图5-10招聘需求添加界面

招聘需求管理关键代码如下:

  @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

      1. 面试计划管理模块的实现

在主页左侧菜单栏点击“面试计划管理”按钮,然后从二级目录中选择“新增面试计划”,进入新增面试计划界面。在该界面,可以填写面试计划的计划名称、计划类型、面试时间、面试人员、面试地点等信息。

在主页左侧菜单栏点击“面试计划管理”按钮,再从二级目录中选择“查询面试计划”,进入查询面试计划界面。在该界面,可以查询当前所有面试计划记录。

面试计划管理流程如下图所示。

图5-11 面试计划管理流程

面试计划管理界面如所示。

图5-12 面试计划管理界面

面试计划管理关键代码如下所示。

 @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

      1. 工资信息模块的实现

工资信息管理包括新增工资信息、删除工资信息、修改工资信息、查询工资信息等,以工资信息新增为例,在视图层请求工资信息新增,反馈后,调用业务逻辑层,通过业务逻辑层的接口调用底层的数据逻辑层完成数据库联动操作。

工资信息管理的流程如所示。

图5-13 工资信息管理流程

工资信息管理界面如下图所示。

图5-13 工资信息管理界面

  1. 系统测试

    1. 测试方法

系统的测试方面有两种,一种是黑盒测试,另一种则为白盒测试,黑盒测试通俗来说就是功能方面的测试,我们也称之为需求测试,在黑盒测试的过程中,我们是不知道其开发原理的,只是作为一名使用者对系统进行测试,我们主要是凭借之前的测试经验,取一些临界值,然后通过测试用例来对其进行测试,这种测试方法是最快的查找问题方法,其次我们可以找一些具有代表性的数据,对系统进行用例测试,在黑盒测试的过程中常用的测试工具是winrunner和AutoRunner;白盒测试我们称之为结果测试,也就是逻辑驱动测试,在白盒测试的过程中,我们主要是根据系统开发的原理进行测试的,主要是以开发者的身份去测试这个代码是不是完成了其具体的功能,实现的具体路径对不对,当然这种测试方法是费时费力的,因为每个功能,他的运行路径不止一条,通过对程序当中运行的路径进行测试,检测开发的代码是不是存在bug,有没有实现预期,在白盒测试的过程中常用的测试工具为Jcontract、C++ Test以及CodeWizard等。

    1. 测试用例

登录模块的功能测试:

6.1 登录模块功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

登录模块测试

登录成功的情况

使用者可以通过浏览器进入到外聘人员人事管理系统登录界面,输入用户名:admin和密码admin,完成滑动拼图验证后,点击“登录”按钮。

成功登录到管理员管理的界面

正确

登录模块测试

登录失败的情况

使用者可以通过浏览器进入到外聘人员人事管理系统登录界面,输入用户名:admin和密码111,完成滑动拼图验证后,点击“登录”按钮。

系统提示“用户名和密码不匹配”

正确

普通用户信息添加功能测试:

6.2 普通用户信息添加功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

 普通用户添加模块测试

普通用户添加成功的情况

管理员在“系统用户”菜单中点击“普通用户”会显示出所有的普通用户信息,点击“添加”按钮,输入账号、密码、昵称、手机号码、邮箱等,输入正确的信息后,点击“提交”按钮。

提示添加成功

正确

普通用户添加模块测试

普通用户添加失败的情况

管理员在“系统用户”菜单中点击“普通用户”会显示出所有的普通用户信息,点击“添加”按钮,不输入账号,其他信息正常填写后,点击“提交”按钮。

提示“添加失败,账号不能为空”

正确

查询工资信息功能模块测试:

6.3 查询工资信息功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

查询工资信息功能测试

查询成功的情况

普通用户在菜单栏中点击“工资信息”,然后互出现自己的工资信息

查询成功

正确

面试计划添加功能模块测试:

6.4 添加面试计划功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

 面试计划添加模块测试

面试计划添加成功的情况

管理员点击“面试计划”会显示出所有的用户的面试计划,点击“添加”按钮,选择面试计划,输入计划名称,输入正确的信息后,点击“提交”按钮。

提示添加成功

正确

面试计划添加模块测试

面试计划添加失败的情况

管理员点击“面试计划”会显示出所有用户的面试计划,点击“添加”按钮,不选择计划名称,其他信息正常填写后,点击“提交”按钮。

提示“添加失败,普通用户不能为空”

正确

    1. 测试结果

在本章节对外聘人员人事管理系统进行了黑白盒测试,并对系统中的部分功能进行了用例分析,能够发现系统还是比较稳定的,系统的所有功能基本可以实现,能够满足管理员和普通用户对工资信息的查询、管理的需求。通过测试可以看出在系统的运行过程中,其功能完整,对于输入的错误信息,能够把错误信息提示出来,方便普通用户操作的时候发现自己输入的信息哪里有错误,进而进行改正,而且系统界面都设有导航栏,操作非常便捷,不需要对使用者进行任何培训,对于企业来说是一个很有价值的系统。

总结与展望

外聘人员人事管理系统采用Spring Boot框架开发,系统集成了成熟、强大且易于理解和使用的优点,降低了开发难度。该系统实现了基于Spring Boot的外聘人员人事管理系统,将数据操作维护过程转化为电脑操作流程,包括系统用户、个人信息、工资信息数据、面试计划和招聘需求数据的维护。这帮助用户简化数据操作流程,提高工作效率和盈利能力。

目前完成的外聘人员人事管理系统还有许多改进空间。首先是功能方面,用户应具备修改个人信息的功能,因此应增加个人中心功能。另外,增加更多功能将使系统更加丰富多样,如数据分析和未来预测等功能。其次是技术方面的改进,由于对开发框架不够熟悉,系统采用Java页面来管理权限部分,这种方式相对不够灵活。将URL路径记录到数据库并实现增删查改会更好。另外,需要提高对EasyUI的熟练程度,改善视觉效果和用户界面体验。希望未来能对系统进行改进并提升用户体验。

参考文献

[1]束方鹏,张逸. 基于SpringBoot框架的数据转换系统及方法[P]. 江苏省: CN117289914B, 2024-02-02.

[2]唐家乐. 浅析组织人事管理系统的开发与探索 [J]. 中国管理信息化, 2024, 27 (01): 132-135.

[3]吴昊,张丹. 基于SpringBoot框架的大学生网上兼职系统设计与实现 [J]. 电脑知识与技术, 2023, 19 (35): 68-72.

[4]耿江,白尚鹏,周钰荣. 一种人事管理系统主机防护壳体结构[P]. 山西省: CN220171498U, 2023-12-12.

[5]苏婉怡,揣小龙,刘美瑜等. 基于Java技术的实验室管理系统设计与实现 [J]. 无线互联科技, 2023, 20 (23): 58-60.

[6]田玉昆. 基于Java Web技术的手机销售网站的设计与实现 [J]. 电脑知识与技术, 2023, 19 (32): 47-49.

[7]Ximeless Unveils Revolutionary Event Management System, Set To Transform The Event Industry. [J]. M2 Presswire, 2023,

[8]尹应荆. JAVA编程语言在计算机软件开发中的应用 [J]. 石河子科技, 2023, (05): 45-47.

[9]周培根. 信息化背景下高校人事管理系统建设研究 [J]. 辽宁经济职业技术学院.辽宁经济管理干部学院学报, 2023, (04): 30-32.

[10]吕晓钢,王鹏飞,封晨. 基于SpringBoot生产大屏监控系统的设计与实现[C]// 天津市电子学会. 第三十七届中国(天津)2023’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集. 天津光电通信技术有限公司;, 2023: 3.

[11]曹灿,吕宜光. 基于Java Web的科研院所人事管理系统的设计与实现 [J]. 自动化技术与应用, 2023, 42 (06): 131-133.

[12]王力禾,曹楠. 智慧校园建设下高校人事管理系统的需求分析与设计 [J]. 电子元器件与信息技术, 2023, 7 (06): 202-205.

[13]高志平. 基于SpringBoot框架与ITIL方法的运维管理系统的设计与实现[D]. 华东师范大学, 2021.

[14]Cheng F . Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework [J]. Advances in Educational Technology and Psychology, 2021, 5 (2):

[15]孟祥雪. 基于SSM的外聘人员人事管理系统设计与实现[D]. 电子科技大学, 2020.

致  谢

在完成本论文之际,我要衷心感谢我的指导老师。在指导老师的网页设计课上,我学到了许多知识,这不仅对我的实习经历打下了良好基础,也在我的设计过程中提供了宝贵的帮助。指导老师给予我许多设计建议,并耐心指导我改进设计细节,分享了写论文的心得,时刻鼓励我前行。同时,我要感谢教导我完善项目前端的同学。在学习过程中,我边学边做,在开始阶段遇到许多困惑,但前端开发同学给予了我耐心的指导,帮助我顺利完成项目。在后端开发过程中,我也得到了同学们的帮助和技术讲解,使我能更好地完成论文。衷心感谢那些帮助过我的同学和一直指导教导我的老师们,祝愿大家事业蒸蒸日上。

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值