摘 要
在信息化快速发展的背景下,企业人事管理逐渐向数字化、智能化转型。传统的人事管理方式由于效率低下、数据处理复杂和管理决策滞后,限制了企业的进一步发展。因此,基于Spring Boot的企业人事管理系统应运而生,旨在引入现代化先进技术和科学的管理方式,以提升企业人力资源管理的效率与精确度。
本文通过对企业人事管理的需求分析,设计并实现了一套功能完备、操作简单、界面友好的企业人事管理系统,具有注册、登录、后台首页、系统用户、部门信息管理、职位信息管理、年月信息管理、系统公告管理、员工打卡管理、主管打卡管理、财务支出管理、员工薪资管理、主管薪资管理、资产信息管理、资产申请管理、员工资产管理、主管资产管理、请假申请管理、员工请假管理、主管请假管理等多项功能的完整系统。
本系统采用Spring Boot框架,结合MySQL数据库,运用RESTful API架构,实现前后端分离,确保系统的高并发处理能力和良好的用户体验。经过多轮的功能测试和用户验证,本系统能够有效地提升了人事管理的自动化水平,得到了用户的积极反馈,显示出良好的可操作性和实用性。
关键词:企业人事管理系统;SpringBoot;Java;MySQL;人事管理
Abstract
Against the backdrop of rapid development of informatization, enterprise personnel management is gradually transitioning towards digitization and intelligence. The traditional personnel management methods have limited the further development of enterprises due to low efficiency, complex data processing, and lagging management decisions. Therefore, the enterprise personnel management system based on Spring Boot has emerged, aiming to introduce modern advanced technology and scientific management methods to improve the efficiency and accuracy of enterprise human resource management.
This article analyzes the needs of enterprise personnel management and designs and implements a fully functional, easy-to-use, and user-friendly enterprise personnel management system. It has multiple functions such as registration, login, backend homepage, system users, department information management, position information management, year and month information management, system announcement management, employee check-in management, supervisor check-in management, financial expenditure management, employee salary management, supervisor salary management, asset information management, asset application management, employee asset management, supervisor asset management, leave application management, employee leave management, and supervisor leave management.
This system adopts the Spring Boot framework, combined with MySQL database, and utilizes RESTful API architecture to achieve front-end and back-end separation, ensuring high concurrency processing capability and good user experience of the system. After multiple rounds of functional testing and user verification, this system has effectively improved the automation level of personnel management, received positive feedback from users, and demonstrated good operability and practicality.
Key words: Enterprise Personnel Management System; SpringBoot; Java; MySQL; personnel management.
目 录
第1章绪 论
1.1 项目背景与意义
1.1.1 研究背景
随着全球经济一体化进程的加快和企业竞争的加剧,对人力资源管理的要求日益提高。人事管理不仅涉及人员招聘、培训、考核等基本业务,还涉及薪资、考勤、请假、资产管理等多个方面。在传统管理模式下,企业往往面临着数据分散、沟通不畅、管理效率低等问题,这不仅影响了企业决策的及时性,还影响了员工的工作积极性。同时在信息技术的迅猛发展的情况下,企业人事管理也日益向数字化和智能化方向转型。因此,亟需构建一个高效、智能化的信息管理系统,以适应企业现代化管理的需求。
基于Spring Boot的企业人事管理系统的设计与实现通过引入现代化科技来辅助人事管理,能够实现企业人事管理的自动化和智能化,提高企业人事管理的效率和准确性。此系统利用Java开发语言,借助SpringBoot框架搭建了安全稳定的服务端,支持RESTful API接口,实现了数据的高效管理和安全传输,配合MySQL数据库储存和处理数据,保证系统信息数据的完整和安全,采用了前后端分离开发模式,为不同用户设计简单已操作的用户界面,能够很好地满足不同用户的需求,提高用户体验感,简化企业人事管理流程,提高管理效率。
1.1.2 研究意义
在当今竞争激烈的市场环境中,企业需要快速响应市场变化,优化内部管理,提升员工工作效率。本研究旨在基于Spring Boot设计和实现一个高效、可靠且便捷的人事管理系统,通过集中管理部门、职位、考勤、薪资、资产、请假等多项功能,形成一个高效的管理平台,帮助企业实现人力资源的全面数字化管理,提高企业管理水平,降低人力成本,以强化其核心竞争力,具有重要的理论和实践意义。
基于Spring Boot的企业人事管理系统的设计与实现一方面可以通过信息化手段,减少人工操作,提高数据处理效率,实现人事管理的自动化和系统化,减轻管理人员的负担,提高整体管理效率。另一方面系统提供实时的数据统计与分析,实现数据透明化,帮助管理层及时掌握员工状态、部门效能、财务支出等,做出更加科学的决策。同时,通过系统化的信息服务,员工可以快速访问个人信息、薪资信息、请假申请、打卡记录、资产信息等,提高员工对人事管理的满意度。此外,借助本系统不仅可以能够有效记录和监控人事管理的各个环节,帮助企业遵循法律法规,降低管理风险,还可以为企业在现代数字化转型进程中提供一个优秀的管理工具,提升其运营效率和市场响应能力。本研究还能为企业人事管理的现代化提供理论支持和实践指导,为后续类似系统的开发和实施奠定基础。
人事管理系统的研究和应用近年来在国内外迅速发展,尤其是在信息化、数字化的推动下,越来越多的企业开始重视人事管理系统的建设。以下是国内和国外研究现状的整理与分析。
1.2.1 国外研究现状
国外方面,很多企业例如IBM、SAP等,已经通过引入先进的信息技术,实现了人事管理的数字化转型。IBM推出的Watson Talent采用人工智能技术,能够通过数据分析为企业提供人力资源管理建议,提高招聘和员工管理的效率。部分国外企业开始利用云计算技术构建人事管理系统,以提升系统的灵活性与可扩展性。例如,Oracle的云人力资源管理系统(Oracle HCM Cloud)以其强大的数据分析能力和灵活的定制功能,受到众多企业的青睐。通过云端数据管理,企业可以实现多地点、多分支机构的数据共享与协同。另外,随着员工体验管理的兴起,国外的研究也逐渐将人事管理的重点从传统的流程导向转向员工的参与和满意度。例如,LinkedIn推出的Talent Hub结合了招聘、人才管理和员工体验,致力于提升员工在职场中的体验和福利。
1.2.2 国内研究现状
近年来国内也开始重视信息化在人员管理中的应用,研究和开发了多种人事管理系统。例如,国内的软件公司用友网络推出的人力资源管理系统(HRMS)旨在帮助企业实现人事信息的集中管理、考勤管理、薪资管理等功能,受到中小企业的广泛欢迎。针对员工的便捷性,越来越多的企业开始开发移动端人事管理系统。例如,智联招聘和猎云网等平台,通过移动端应用实现了简历投递、面试管理等功能,提升了招聘的效率,并方便了员工的信息查询和绩效反馈。在大数据和人工智能发展的背景下,国内的部分公司开始尝试将这些技术应用于人事管理中。比如,蓝海云聚焦于“数据驱动”来优化招聘决策,通过分析历史招聘数据,预测候选人的适合度。这种方式提升了招聘的成功率,也为企业的长远人力资源规划提供了数据基础。此外,随着国家对数字化转型和产业升级的重视,很多地方政策开始鼓励企业发展智能化人事管理系统。人力资源服务产业也迅速扩大,市场对高效便捷的人事管理系统的需求不断增加,推动了相关企业的技术研发和应用创新。
总体来看,国外在企业人事管理系统的发展上起步较早,技术应用和市场探索相对成熟,强调数据分析与员工体验。而国内则处于快速发展阶段,越来越多的企业开始重视数字化的人事管理,同时也在探索与传统管理模式的结合,以适应市场快速变化的需求。未来,随着技术的不断进步,国内外在这一领域的研究与实践将继续深化,企业人事管理系统会朝着更加智能化、个性化的方向发展。
1.3 主要研究内容
在开发企业人事管理系统时,后端采用了Java作为编程语言,并利用了SpringBoot框架,这使得复杂的业务逻辑和数据操作得以高效完成。与此同时,系统的数据存储和管理通过MySQL数据库实现。在开发工具的选取上,使用了Eclipse,它的强大功能和易用性使得编程工作更为高效;而Navicat作为数据库管理工具,使得数据库操作更为方便和快捷。这样的技术选择,确保了管理系统的开发流程既高效又稳定。本系统面对对象主要分为员工用户、主管用户和管理员三大角色,实现了包括注册、登录、后台首页、系统用户、部门信息管理、职位信息管理、年月信息管理、系统公告管理、员工打卡管理、主管打卡管理、财务支出管理、员工薪资管理、主管薪资管理、资产信息管理、资产申请管理、员工资产管理、主管资产管理、请假申请管理、员工请假管理、主管请假管理等功能,能够很好地满足各方需求,简化工作流程,提高管理效率。
第2章开发环境及技术架构
2.1 开发环境与工具
企业人事管理系统使用Java语言作为主要语言,基于Web技术,利用SpringBoot框架开发而成,存储数据使用的是使用较为广泛的MySQL数据库。系统所使用的系统开发环境如下表2-1所示。
表2-1系统开发环境
| 操作系统版本: | Win10 |
| 数据库环境: | MySQL5.7 |
| JDK版本: | JDK1.8.0_191 |
| 主要技术: | Springboot2、Apache Tomcat8.5、Webpack 4.0、Element UI、Navicat、bootstrap…… |
| 浏览器: | Chrome |
MySQL是一款广受欢迎的关系数据库管理系统,它能够高效地存储和处理大量的数据。MySQL在Web应用程序中有着卓越的表现,是众多开发者的首选。MySQL遵循SQL语言的标准,这是一种通用的数据库操作语言,简单易学,功能强大。结合Apache服务器,MySQL可以构建出一个优秀的开发环境。
SpringBoot是一个新颖的框架,由Pivotal团队推出,旨在简化Spring应用的创建和开发过程。SpringBoot通过提供一些默认的配置和约定,避免了开发者重复编写模板化的代码。SpringBoot力求成为快速应用开发领域的领导者,让开发者能够更专注于业务逻辑。
Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程和高级映射。Mybatis可以消除大部分的JDBC代码和参数的手工设置,让开发者更方便地操作数据库。Mybatis可以和Spring框架完美地集成,提高开发效率和性能。
Tomcat是一种免费的服务器,它能够有效地处理大量的网络访问,特别是在访问量较少的情况下。当将Tomcat安装在电脑上时,它能够自动分析前端HTML页面的请求,从而提高网络的性能。事实上,Tomcat是对Apache的一种延伸,但它与Apache之间的关系更加紧密,因为它们在不同的进程中运行,而且它们之间也有着自己的独立性。
本系统是基于SpringBoot、MySQL的后台信息管理系统。
2.2.1 B/S模式
B/S模式,即浏览器/服务器模式,是一种常见的网络应用架构模式。在B/S模式中,用户通过浏览器作为客户端与服务器进行交互。在浏览器/服务器(browser / Server Architecture)系统中,用户只需通过浏览器,就能够轻松地向分布在网络各处的众多服务器发送海量的请求。B/S系统大大地简化了客户端的工作,让用户体验更加便捷。
2.2.2 SpringBoot框架
Spring是一个知名的开源框架,它于2003年诞生于Rod Johnson的《Expert One-on-One Java EE Development and Design》一书中。Spring的初衷是为了解决企业级应用开发的复杂性,它让简单的JavaBean也能够实现原本只有EJB才能做到的功能。Spring不仅适用于服务器端的开发,它还能够为任何Java应用程序带来简洁、可测试和低耦合的优势。尽管Spring的组件代码很轻量级,但是它的配置却很繁琐。最初,Spring是使用XML配置的,但是随着项目的增长,XML配置也变得越来越多。
为了改进和优化Spring的缺点,SpringBoot框架应运而生,它基于约定优于配置的理念,让开发者无需编写大量的配置文件,只需遵循一些简单的规则即可。SpringBoot使开发者能够专注于业务逻辑的编码,而不用在配置和业务之间切换思维,这在很大程度上提高了开发效率,缩短了项目开发周期。
第3章需求分析
3.1 可行性分析
可行性分析在系统开发的初期阶段至关重要,主要用于评估项目实施的可能性和风险,确保资源的有效利用,减少项目失败的概率。通过全面的可行性分析,可以为项目决策提供科学依据,确保项目的健康发展。
通过综合考虑经济、操作、技术等因素,可以对基于Spring Boot的企业人事管理系统的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。
3.1.1 经济可行性分析
经济可行性在此仅代表平台的开发成本,运维成本不在此考虑。
在项目上使用的工具大部分都是当下流行开源免费的,且所使用的开发工具皆在学校学习过,可以由本人独自开发设计,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响。此外,借助数字化系统所带来的自动化管理,企业在长期运营中将会节省大量人力资源和时间成本。
所以经济可行性没有问题。
3.1.2 操作可行性分析
操作可行性主要考虑系统的易用性和用户接受度。系统将参考几个该模式下系统的开发案例,对他们的操作界面分析,将众多案例结合在一起,设计出简洁友好的用户界面,方便用户和管理者能够快速上手。同时,可以提供必要的培训和技术支持,确保所有用户能够有效使用系统。系统还支持多种终端设备的访问,包括PC和移动设备,增强使用的灵活性。
因此操作可行性也没有问题。
3.1.3 技术可行性分析
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的JAVA语言能够迎合所有系统的搭建。开发这个企业人事管理系统的时候我采用了JAVA+SpringBoot+MySQL 用以运行整体程序。Spring Boot简化了Java EE应用的开发,使得构建高性能的微服务架构变得更加高效。系统可以利用Spring Security进行身份验证和权限管理,确保数据的安全性。同时,系统设计可采用RESTful API的方式,实现前后端的分离,提升系统的灵活性和扩展性。
综上所述技术可行性也没有问题。
经过综合分析,基于Spring Boot的企业人事管理系统在技术、经济和操作层面均具有较强的可行性。通过本系统的实施,不仅可以提高企业人事管理的效率与准确性,还有助于增强企业的竞争力与市场适应能力。因此,本项目值得深入开展。
在设计基于Spring Boot的企业人事管理系统时,功能需求分析是确保系统满足用户需求的关键步骤。以下是对该系统各角色及其功能需求的详细分析:
- 员工用户角色:
- 注册登录:提供注册和登录系统的功能,员工用户可以通过注册拥有系统账户,注册信息需经过管理员审核通过才可登录系统,使用各项功能,并可对自己的个人信息和密码信息进行修改。。
- 后台首页:员工用户登录系统后首先进入后台首页界面,该界面主要提供西重要信息概览和数据分析统计图表(自己的员工薪资统计)。
- 系统公告管理:员工用户可搜索和浏览系统公告信息。
- 员工打卡管理:员工用户可管理自己的员工打卡信息,包括添加、查询、删除、编辑员工打卡。
- 员工薪资管理:员工用户可搜索和浏览自己的员工薪资信息。
- 资产信息管理:员工用户可搜索和浏览所有资产信息,并提供员工申请操作。
- 资产申请管理:员工用户可管理自己的资产申请信息,包括查询、删除、编辑资产申请,确认申请审核状态。
- 员工资产管理:员工用户可管搜索和浏览自己的员工资产信息。
- 请假申请管理:员工用户可管理自己的请假申请信息,包括添加、查询、删除、编辑请假申请。
- 员工请假管理:员工用户可搜索和浏览自己的员工请假信息。
- 主管用户角色:
- 注册登录:提供注册和登录系统的功能,主管用户可以通过注册拥有系统账户,注册信息需经过管理员审核通过才可登录系统,使用各项功能,并可对自己的个人信息和密码信息进行修改。
- 后台首页:员工用户登录系统后首先进入后台首页界面,该界面主要提供西重要信息概览和数据分析统计图表(自己的员工薪资统计)。
- 后台首页:主管用户登录系统后首先进入后台首页界面,该界面主要提供西重要信息概览和数据分析统计图表(自己的主管薪资统计图表)。
- 系统公告管理:主管用户可搜索和浏览系统公告信息。
- 员工打卡管理:主管用户可管理自己的员工打卡信息,包括查询、删除、编辑员工打卡,负责审核员工打卡信息。
- 主管打卡管理:主管用户可管理自己的管打卡信息,包括添加、查询、删除、编辑主管打卡(主管打卡信息由管理员审核)。
- 主管薪资管理:主管用户可搜索和浏览自己的主管薪资信息。
- 资产信息管理:主管用户可搜索和浏览所有资产信息,提供主管申请操作。
- 资产申请管理:主管用户可管理搜索和浏览自己的资产申请信息,可进入详情页审核员工的资产申请信息;并提供主管审批操作,填写主管意见及备注。
- 员工资产管理:主管用户可管理自己的员工资产信息,包括查询、删除、编辑员工资产,支持审核员工资产信息。
- 主管资产管理:主管用户可管理自己的主管资产信息,包括查询、删除、编辑主管资产(由管理员负责审核主管资产信息)。
- 请假申请管理:主管用户可管理所有请假申请信息,包括查询、删除、编辑请假申请,可进入详情页审核员工的请假申请信息;并提供主管审批操作,填写主管意见及备注。
- 员工请假管理:主管用户可管理自己的员工请假信息,包括查询、删除、编辑员工请假。
- 主管请假管理:主管用户可管理自己的主管请假信息,包括添加、查询、删除、编辑主管请假。
- 管理员角色:
- 登录:管理员可直接使用账号密码登录系统后台,进行管理,可对自己的个人信息和密码信息进行修改。
- 后台首页:管理员登录系统后首先进入后台首页界面,该界面主要提供西重要信息概览和数据分析统计图表(包括财务支出、员工薪资、主管薪资等图表)。
- 系统用户:管理员可管理系统的所有系统用户信息,包括员工用户、主管用户、管理员账号等,支持用户权限管理和角色设置,可增改删查和审核系统用户信息。
- 部门信息管理:管理员可管理所有部门信息的添加、删除、更新等操作,提供搜索功能。
- 职位信息管理:管理员可管理所有职位信息,包括可新增、编辑、删除、查询职位信息。
- 年月信息管理:管理员可管理所有年月信息的发布、删除、更新等操作,提供搜索功能。
- 系统公告管理:管理员可管理平台发布的系统公告信息,包括可新增、编辑、删除、查询系统公告。
- 员工打卡管理:管理员可管理所有员工打卡信息,包括添加、查询、删除、编辑员工打卡,支持审核员工打卡信息。
- 主管打卡管理:管理员可管理所有主管打卡信息,包括添加、查询、删除、编辑主管打卡,负责审核主管打卡信息。
- 财务支出管理:管理员可管理所有财务支出信息的添加、删除、更新等操作,提供搜索功能。
- 员工薪资管理:管理员可管理所有员工薪资信息,包括新增、编辑、删除、查询员工薪资。
- 主管薪资管理:管理员可管理所有主管薪资信息,包括新增、编辑、删除、查询主管薪资。
- 资产信息管理:管理员可管理所有资产信息的添加、删除、更新等操作,支持关键词搜索,并提供员工申请、主管申请操作。
- 资产申请管理:管理员可管理所有资产申请信息,包括查询、删除、编辑资产申请,提供主管审批操作,支持审核资产申请信息。
- 员工资产管理:管理员可管理所有员工资产信息,包括查询、删除、编辑员工资产,负责审核员工资产信息。
- 主管资产管理:管理员可管理所有主管资产信息,包括查询、删除、编辑主管资产,负责审核主管资产信息。
- 请假申请管理:管理员可管理所有请假申请信息,包括查询、删除、编辑请假申请,提供主管审批操作,支持审核请假申请信息。
- 员工请假管理:管理员可管理所有员工请假信息,包括查询、删除、编辑员工请假,支持审核员工请假信息。
- 主管请假管理:管理员可管理所有主管请假信息,包括查询、删除、编辑主管请假,负责审核主管请假信息。
根据使用该系统的用户角色可以划分为员工用户、主管用户和管理员,具体如下所示。
企业人事管理系统员工用户角色用例图如下所示。

图3-1 员工用户角色用例图
企业人事管理系统主管用户角色用例图如下所示。

图3-2 主管用户角色用例图
企业人事管理系统管理员角色用例图如下所示。

图3-3 管理员角色用例图
3.3 性能需求分析
用户操作响应时间:系统应保证用户在操作平台时的响应速度,例如浏览、搜索、添加等操作应该迅速响应。
系统稳定性:平台应具备一定的容错能力和稳定性,防止因为意外情况导致系统崩溃。
数据安全:用户信息等敏感数据需要加密存储,确保数据安全性。
系统并发能力:平台应考虑到可能大量用户同时访问的情况,保证系统的并发处理能力。
日志记录:系统需要记录用户操作日志、异常日志等,便于排查问题和分析用户行为。
基于以上性能需求将确保企业人事管理系统能够稳定、高效地运行,能够很好地满足用户和管理员的需求。
3.4 系统流程分析
3.4.1 用户注册流程图
注册的过程,第一部分是账号的注册,第二部分是信息完善。在业务开展过程中,管理员可对用户信息进行修改等管理操作,注册流程如图3-4用户注册流程图所示。

图3-4 用户注册流程图
3.4.2 用户登录流程图
登录时,用户填写用户名、密码、选择身份进行登录,在登录过程中后端会对发送过来的信息进行验证和判断,具体的登录流程如图3-5用户登录流程图所示。

图3-5 用户登录流程图
第4章系统设计
4.1 系统功能设计
基于Spring Boot的企业人事管理系统程序采用模块化设计方案,可以划分为三大模块,分别为员工用户模块、主管用户模块和管理员模块,下面又细分不同的分支,各自功能有所交叉相似但又职能各有不同。系统功能模块图如下图所示。

图4-1系统功能模块图
数据库的设计是系统的设计中比较重要的一部分内容,数据库设计是一切系统设计的基础,首先需要进行概念模型E-R图的设计,然后进行关系模型物理模型的建立。
4.2.1 概念模型
本文在系统分析阶段就抽取了一些实体,根据实体之间的关系,经过分析进行系统E-R图的设计。企业人事管理系统总体E-R图如下图所示。

图4-2 系统总体E-R图
4.2.2 物理模型
本系统采MySQL数据库管理系统对数据进行管理。下面是对各个表中的表中各个字段数据类型、大小等做简短描述。企业人事管理系统所需要的部分数据结构表如下表所示。
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | asset_application_id | int | 10 | 0 | N | Y | 资产申请ID | |
| 2 | employee_users | int | 10 | 0 | Y | N | 0 | 员工用户 |
| 3 | asset_name | varchar | 64 | 0 | Y | N | 资产名称 | |
| 4 | asset_number | varchar | 64 | 0 | Y | N | 资产编号 | |
| 5 | asset_type | varchar | 64 | 0 | Y | N | 资产类型 | |
| 6 | application_number | varchar | 64 | 0 | Y | N | 申请编号 | |
| 7 | approval_supervisor | int | 10 | 0 | Y | N | 0 | 审批主管 |
| 8 | application_quantity | double | 9 | 2 | Y | N | 0.00 | 申请数量 |
| 9 | reason_for_application | text | 65535 | 0 | Y | N | 申请原因 | |
| 10 | approval_status | varchar | 64 | 0 | Y | N | 审批状态 | |
| 11 | employee_assets_limit_times | int | 10 | 0 | N | N | 0 | 主管审批限制次数 |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 14 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 15 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 16 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | asset_information_id | int | 10 | 0 | N | Y | 资产信息ID | |
| 2 | asset_name | varchar | 64 | 0 | Y | N | 资产名称 | |
| 3 | asset_number | varchar | 64 | 0 | N | N | 资产编号 | |
| 4 | asset_type | varchar | 64 | 0 | Y | N | 资产类型 | |
| 5 | asset_images | varchar | 255 | 0 | Y | N | 资产图片 | |
| 6 | number_of_assets | double | 9 | 2 | Y | N | 0.00 | 资产数量 |
| 7 | enter_date | date | 10 | 0 | Y | N | 录入日期 | |
| 8 | asset_remarks | text | 65535 | 0 | Y | N | 资产备注 | |
| 9 | asset_application_limit_times | int | 10 | 0 | N | N | 0 | 员工申请限制次数 |
| 10 | supervising_assets_limit_times | int | 10 | 0 | N | N | 0 | 主管申请限制次数 |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | 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 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | employee_assets_id | int | 10 | 0 | N | Y | 员工资产ID | |
| 2 | employee_users | int | 10 | 0 | Y | N | 0 | 员工用户 |
| 3 | asset_name | varchar | 64 | 0 | Y | N | 资产名称 | |
| 4 | asset_number | varchar | 64 | 0 | Y | N | 资产编号 | |
| 5 | asset_type | varchar | 64 | 0 | Y | N | 资产类型 | |
| 6 | application_number | varchar | 64 | 0 | N | N | 申请编号 | |
| 7 | application_quantity | double | 9 | 2 | Y | N | 0.00 | 申请数量 |
| 8 | reason_for_application | text | 65535 | 0 | Y | N | 申请原因 | |
| 9 | approval_supervisor | int | 10 | 0 | Y | N | 0 | 审批主管 |
| 10 | supervisors_opinion | varchar | 64 | 0 | Y | N | 主管意见 | |
| 11 | opinion_remarks | text | 65535 | 0 | Y | N | 意见备注 | |
| 12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 16 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 17 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 18 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | employee_clock_in_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 | employee_id | varchar | 64 | 0 | Y | N | 员工工号 | |
| 5 | department_name | varchar | 64 | 0 | Y | N | 部门名称 | |
| 6 | job_title | varchar | 64 | 0 | Y | N | 职位名称 | |
| 7 | check_in_type | varchar | 64 | 0 | Y | N | 打卡类型 | |
| 8 | check_in_time | datetime | 19 | 0 | Y | N | 打卡时间 | |
| 9 | approval_supervisor | int | 10 | 0 | Y | N | 0 | 审批主管 |
| 10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | employee_leave_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 | employee_id | varchar | 64 | 0 | Y | N | 员工工号 | |
| 5 | department_name | varchar | 64 | 0 | Y | N | 部门名称 | |
| 6 | job_title | varchar | 64 | 0 | Y | N | 职位名称 | |
| 7 | attendance_number | varchar | 64 | 0 | N | N | 考勤编号 | |
| 8 | attendance_type | varchar | 64 | 0 | Y | N | 考勤类型 | |
| 9 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
| 10 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
| 11 | information_remarks | text | 65535 | 0 | Y | N | 信息备注 | |
| 12 | approval_supervisor | int | 10 | 0 | Y | N | 0 | 审批主管 |
| 13 | supervisors_opinion | varchar | 64 | 0 | Y | N | 主管意见 | |
| 14 | opinion_remarks | text | 65535 | 0 | Y | N | 意见备注 | |
| 15 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 16 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 19 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 20 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 21 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | employee_salary_id | int | 10 | 0 | N | Y | 员工薪资ID | |
| 2 | employee_users | int | 10 | 0 | Y | N | 0 | 员工用户 |
| 3 | employee_id | varchar | 64 | 0 | Y | N | 员工工号 | |
| 4 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
| 5 | department_name | varchar | 64 | 0 | Y | N | 部门名称 | |
| 6 | job_title | varchar | 64 | 0 | Y | N | 职位名称 | |
| 7 | year_and_month_of_issuance | varchar | 64 | 0 | Y | N | 发放年月 | |
| 8 | attendance_salary | double | 9 | 2 | Y | N | 0.00 | 考勤工资 |
| 9 | achievement_bonus | double | 9 | 2 | Y | N | 0.00 | 绩效奖金 |
| 10 | other_supplementary_payments | double | 9 | 2 | Y | N | 0.00 | 其他补款 |
| 11 | social_security_payment_agency | double | 9 | 2 | Y | N | 0.00 | 社保代缴 |
| 12 | other_deductions | double | 9 | 2 | Y | N | 0.00 | 其他扣款 |
| 13 | personal_income_tax_withholding | double | 9 | 2 | Y | N | 0.00 | 个税代扣 |
| 14 | net_salary | varchar | 64 | 0 | Y | N | 实发工资 | |
| 15 | salary_remarks | text | 65535 | 0 | Y | N | 工资备注 | |
| 16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | employee_users_id | int | 10 | 0 | N | Y | 员工用户ID | |
| 2 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
| 3 | employee_id | varchar | 64 | 0 | N | N | 员工工号 | |
| 4 | employee_gender | varchar | 64 | 0 | Y | N | 员工性别 | |
| 5 | phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
| 6 | department_name | varchar | 64 | 0 | Y | N | 部门名称 | |
| 7 | job_title | varchar | 64 | 0 | Y | N | 职位名称 | |
| 8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | financial_expenses_id | int | 10 | 0 | N | Y | 财务支出ID | |
| 2 | expenditure_items | varchar | 64 | 0 | Y | N | 支出名目 | |
| 3 | expenditure_date | date | 10 | 0 | Y | N | 支出日期 | |
| 4 | year_and_month_of_expenditure | varchar | 64 | 0 | Y | N | 支出年月 | |
| 5 | expenditure_amount | double | 9 | 2 | Y | N | 0.00 | 支出金额 |
| 6 | expenditure_description | 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 | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | job_information_id | int | 10 | 0 | N | Y | 职位信息ID | |
| 2 | job_title | varchar | 64 | 0 | Y | N | 职位名称 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | leave_application_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 | employee_id | varchar | 64 | 0 | Y | N | 员工工号 | |
| 5 | department_name | varchar | 64 | 0 | Y | N | 部门名称 | |
| 6 | job_title | varchar | 64 | 0 | Y | N | 职位名称 | |
| 7 | attendance_number | varchar | 64 | 0 | Y | N | 考勤编号 | |
| 8 | approval_supervisor | int | 10 | 0 | Y | N | 0 | 审批主管 |
| 9 | attendance_type | varchar | 64 | 0 | Y | N | 考勤类型 | |
| 10 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
| 11 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
| 12 | information_remarks | text | 65535 | 0 | Y | N | 信息备注 | |
| 13 | approval_status | varchar | 64 | 0 | Y | N | 审批状态 | |
| 14 | employee_leave_limit_times | int | 10 | 0 | N | N | 0 | 主管审批限制次数 |
| 15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | supervising_assets_id | int | 10 | 0 | N | Y | 主管资产ID | |
| 2 | supervisor_user | int | 10 | 0 | Y | N | 0 | 主管用户 |
| 3 | asset_name | varchar | 64 | 0 | Y | N | 资产名称 | |
| 4 | asset_number | varchar | 64 | 0 | Y | N | 资产编号 | |
| 5 | asset_type | varchar | 64 | 0 | Y | N | 资产类型 | |
| 6 | application_quantity | varchar | 64 | 0 | Y | N | 申请数量 | |
| 7 | reason_for_application | text | 65535 | 0 | Y | N | 申请原因 | |
| 8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 9 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 12 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 13 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 14 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | supervisors_salary_id | int | 10 | 0 | N | Y | 主管薪资ID | |
| 2 | supervisor_user | int | 10 | 0 | Y | N | 0 | 主管用户 |
| 3 | supervisor_id | varchar | 64 | 0 | Y | N | 主管工号 | |
| 4 | supervisors_name | varchar | 64 | 0 | Y | N | 主管姓名 | |
| 5 | competent_department | varchar | 64 | 0 | Y | N | 主管部门 | |
| 6 | year_and_month_of_issuance | varchar | 64 | 0 | Y | N | 发放年月 | |
| 7 | attendance_salary | double | 9 | 2 | Y | N | 0.00 | 考勤工资 |
| 8 | achievement_bonus | double | 9 | 2 | Y | N | 0.00 | 绩效奖金 |
| 9 | other_supplementary_payments | double | 9 | 2 | Y | N | 0.00 | 其他补款 |
| 10 | social_security_payment_agency | double | 9 | 2 | Y | N | 0.00 | 社保代缴 |
| 11 | other_deductions | double | 9 | 2 | Y | N | 0.00 | 其他扣款 |
| 12 | personal_income_tax_withholding | double | 9 | 2 | Y | N | 0.00 | 个税代扣 |
| 13 | net_salary | varchar | 64 | 0 | Y | N | 实发工资 | |
| 14 | salary_remarks | text | 65535 | 0 | Y | N | 工资备注 | |
| 15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | supervisor_clock_in_id | int | 10 | 0 | N | Y | 主管打卡ID | |
| 2 | supervisor_user | int | 10 | 0 | Y | N | 0 | 主管用户 |
| 3 | supervisor_id | varchar | 64 | 0 | Y | N | 主管工号 | |
| 4 | supervisors_name | varchar | 64 | 0 | Y | N | 主管姓名 | |
| 5 | competent_department | varchar | 64 | 0 | Y | N | 主管部门 | |
| 6 | check_in_type | varchar | 64 | 0 | Y | N | 打卡类型 | |
| 7 | check_in_time | datetime | 19 | 0 | Y | N | 打卡时间 | |
| 8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 9 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表supervisor_takes_leave (主管请假)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | supervisor_takes_leave_id | int | 10 | 0 | N | Y | 主管请假ID | |
| 2 | supervisor_user | int | 10 | 0 | Y | N | 0 | 主管用户 |
| 3 | supervisors_name | varchar | 64 | 0 | Y | N | 主管姓名 | |
| 4 | supervisor_id | varchar | 64 | 0 | Y | N | 主管工号 | |
| 5 | competent_department | varchar | 64 | 0 | Y | N | 主管部门 | |
| 6 | attendance_type | varchar | 64 | 0 | Y | N | 考勤类型 | |
| 7 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
| 8 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
| 9 | information_remarks | text | 65535 | 0 | Y | N | 信息备注 | |
| 10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | supervisor_user_id | int | 10 | 0 | N | Y | 主管用户ID | |
| 2 | supervisors_name | varchar | 64 | 0 | Y | N | 主管姓名 | |
| 3 | supervisor_id | varchar | 64 | 0 | N | N | 主管工号 | |
| 4 | supervisor_gender | varchar | 64 | 0 | Y | N | 主管性别 | |
| 5 | phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
| 6 | competent_department | varchar | 64 | 0 | Y | N | 主管部门 | |
| 7 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 8 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | system_announcement_id | int | 10 | 0 | N | Y | 系统公告ID | |
| 2 | announcement_name | varchar | 64 | 0 | Y | N | 公告名称 | |
| 3 | release_date | datetime | 19 | 0 | Y | N | 发布日期 | |
| 4 | department_of_publication | varchar | 64 | 0 | Y | N | 发布部门 | |
| 5 | announcement_details | longtext | 2147483647 | 0 | Y | N | 公告详情 | |
| 6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表year_and_month_information (年月信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | year_and_month_information_id | int | 10 | 0 | N | Y | 年月信息ID | |
| 2 | year_and_month_name | varchar | 64 | 0 | Y | N | 年月名称 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章系统实现
5.1 系统实现概述
本文研究的企业人事管理系统基于SpringBoot框架开发,旨在为用户提供一个便捷、高效、安全的企业人事管理工具。系统支持用户注册和登录,员工用户和主管用户搜索和浏览系统公告、薪资、资产等信息,提交打卡、请假、资产申请等信息;员工用户提交打卡和请假信息由主管用户审核;主管用户的打卡和请假信息则有管理员审核;资产申请经由主管审批后再由管理员审核。平台还包括管理员功能,用于管理用户、部门、职位、年月、公告、打卡、财务、薪资、资产、申请、请假等各类系统信息,保证信息数据的更新和审批,保证系统正常运转,提高工作效率。整体设计追求简洁高效,以提升用户体验和平台运行效率为目标。
本设计的系统每个页面都具备必要的交互设计,较好地呈现了企业人事管理系统的基础功能。组件的构建上思路清晰,易于理解,扁平风格突出简洁,配色清新。游客注册成为系统用户(注册信息需经过管理员审核通过才可登录系统)即可登录系统实现各项操作。
系统登录界面布局如下图:
图5-1 系统登录UI界面
系统登录关键代码如下:
| /** * 登录 * @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, "账号或密码不能为空"); } |
系统注册界面布局如下图:
图5-2 系统注册UI界面
系统注册关键代码如下:
| /** * 注册 * @param user * @return */ @PostMapping("register") public Map<String, Object> signUp(@RequestBody User user) { // 查询用户 Map<String, String> query = new HashMap<>(); Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user)); query.put("username",user.getUsername()); List list = service.selectBaseList(service.select(query, new HashMap<>())); if (list.size()>0){ return error(30000, "用户已存在"); } map.put("password",service.encryption(String.valueOf(map.get("password")))); service.insert(map); return success(1); } |
后台首页模块是系统的主入口,为用户提供系统功能导航和重要信息、用户个人信息展示,以及数据分析统计图表,便于用户能够快速上手使用。管理员可查看包括财务支出、员工薪资、主管薪资等图表信息,员工用户和主管用户只能查看自己的薪资统计图表。页面整体呈左右布局,设计简洁明晰。
后台首页界面布局如下图:
图5-3 后台首页UI界面
5.2 系统功能模块的实现
5.2.1 系统公告管理模块
系统公告管理功能模块可以为用户和管理提供全面系统公告信息展示和管理。
管理员可管理平台发布的系统公告信息,包括可新增、编辑、删除、查询系统公告,方便员工和主管及时获取系统和企业内部各类通知、公告信息。员工用户和主管用户可在系统公告管理模块,搜索和浏览管理员发布的公告信息。
系统公告管理界面布局如下图:
图5-4 系统公告管理UI界面
管理员添加系统公告界面布局如下图:
图5-5 添加系统公告信息UI界面
管理员添加系统公告信息关键代码如下所示:
| @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); } |
5.2.2 员工打卡管理模块
员工打卡管理和主管打卡管理两大功能模块是系统中的重要组成部分,旨在为员工、主管和管理员提供全面的考勤管理功能,这里主要以员工打卡管理模块为例介绍。
管理员可管理所有员工打卡和主管打卡信息,包括可以新增、审核、编辑、删除打卡信息,提供搜索功能;主要负责审核主管用户提交的打卡信息。
员工用户可在员工打卡管理模块,对自己的员工打卡信息进行添加、查询、删除、更新等操作。可在添加界面,填写正确且完整的请假信息并提交,提交的员工打卡信息由主管用户负责审核。
员工用户添加员工打卡信息界面布局如下图:
图5-6 员工用户添加员工打卡信息UI界面
员工用户添加员工打卡信息关键代码如下所示:
| @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); } |
主管用户可添加自己的打卡信息(主管的打卡由管理员审核),负责审核员工用户的打卡信息。主管用户可在主管打卡管理模块管理自己的打卡信息,包括添加、查询、删除、更新打卡信息;在员工打卡管理模块则可对员工用户提交给自己的员工打卡信息进行管理,可搜索和浏览员工打卡信息,进入详情页审核员工打卡信息
主管用户审核员工打卡信息界面布局如下图:
图5-7 主管用户审核员工打卡信息UI界面
主管用户审核员工打卡信息关键代码如下所示:
| @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); } |
5.2.3 员工薪资管理模块
系统薪资管理模块主要由员工薪资管理和主管薪资管理两部分组成,这里以员工用户薪资管理为例,员工薪资管理主要为员工用户提供便捷的薪资查询和展示功能,为管理员提交高效的薪资信息管理功能。
管理员可管理所有员工薪资信息,包括新增、编辑、删除、查询员工薪资。员工用户可搜索和浏览自己的员工薪资信息。
员工薪资管理界面布局如下图:
图5-8 员工薪资管理UI界面
点击“详情”按钮可进行详情页,浏览员工薪资详细信息,员工薪资详情页界面布局如下图:
图5-9 员工薪资详情页UI界面
5.2.4 资产信息管理模块
资产信息管理是系统中的重要组成部分,主要提供资产信息的展示和管理功能,旨在为用户提供便捷的资产信息查询和申请,为管理员提交高效的资产信息的增改删查等管理功能。
管理员可管理所有资产信息的添加、删除、更新等操作,支持关键词搜索,并提供员工申请、主管申请操作。
员工用户和主管用户可搜索和浏览所有资产信息,员工用户点击“员工申请”操作,可提交自己的资产申请信息,主管用户点击“主管申请”操作,可提交自己的资产申请信息;进入相应的申请界面,填写正确且完整的请假信息后,可提交的资产申请信息。
资产信息管理界面布局如下图:
图5-10 资产信息管理UI界面
管理员添加资产信息界面布局如下图:
图5-11 管理员添加资产信息UI界面
管理员添加资产信息关键代码如下所示:
| @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); } |
员工用户点击“员工申请”操作,可提交自己的资产申请信息,员工用户添加资产申请信息界面布局如下图:
图5-12 员工用户添加资产申请信息UI界面
5.2.5 资产申请管理模块
资产申请管理模块主要提供资产申请处理和审核功能,保证用户提交的资产申请能够及时处理。
管理员可管理所有资产申请信息,包括查询、删除、编辑资产申请,提供主管审批操作,员工用户提交的资产申请信息由主管审批填写主管意见后,再由管理员在员工资产和主管资产管理中进一步审核。
主管用户可管理搜索和浏览自己的资产申请信息,可进入详情页审核员工的资产申请信息;并提供主管审批操作,填写主管意见及备注。
员工用户可管理自己的资产申请信息,包括查询、删除、编辑资产申请,确认申请审核状态。
资产申请管理界面布局如下图:
图5-13 资产申请管理UI界面
管理员和主管用户可管理搜索和浏览资产申请信息,可进入详情页审核提交的资产申请信息。审核资产申请界面布局如下图:
图5-14 审核资产申请UI界面
审核资产申请关键代码如下:
| @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); } |
主管用户点击“主管审批”操作,可填写主管意见及备注,主管审批界面布局如下图:
图5-15 主管审批UI界面
主管审批关键代码如下:
| @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); } |
5.2.6 请假申请管理模块
请假申请管理模块主要提供请假申请处理和审核功能,保证用户提交的请假申请能够及时处理。
管理员可管理所有请假申请信息,包括查询、删除、编辑请假申请,提供主管审批操作,支持审核请假申请信息,员工用户提交的请假申请信息由主管审批填写主管意见后,再由管理员在员工请假和主管请假管理中进一步审核。
主管用户可管理搜索和浏览自己的请假申请信息,可进入详情页审核员工的请假申请信息;并提供主管审批操作,填写主管意见及备注。
员工用户可管理自己的请假申请信息,包括添加、查询、删除、编辑请假申请,提交的请假信息可在员工请假管理模块中进行管理。
请假申请管理界面布局如下图:
图5-16 请假申请管理UI界面
管理员和主管用户可管理搜索和浏览请假申请信息,可进入详情页审核提交的请假申请信息。审核请假申请界面布局如下图:
图5-17 审核请假申请UI界面
审核请假申请关键代码如下:
| @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); } |
主管用户点击“主管审批”操作,可填写主管意见及备注,主管审批界面布局如下图:
图5-18 主管审批UI界面
主管审批关键代码如下:
| @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); } |
第6章系统测试
6.1 测试目的
在对该系统进行完详细设计和编码之后,就要对企业人事管理系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。系统测试的目的在于确保软件正常运作,并实现其应有的功能,促进行中出现的错误和逻辑问题。系统测试不但可以找见程序运行中的系统错误,还可以找见程序运行的需要改进的地方,并去协助改良程序运行使其获得最高幅度的完备。世界一流的安装测试员可以增加软件品质,将软件系统错误概率降至最少。
6.2 功能测试
用户登录前首先需注册成为系统用户,使用账号和密码可进行登录。用户登录功能测试用例设计如下表所示:
表6-1 用户登录功功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证有效登录 | 1. 输入正确的用户名和密码 2. 点击登录按钮 | 显示登录成功,跳转至用户首页 | 登录成功,跳转至用户首页 | 通过 |
| TC002 | 验证空用户名登录 | 1. 不输入用户名,输入正确密码 2. 点击登录按钮 | 显示用户名不能为空提示信息 | 显示用户名不能为空提示信息 | 通过 |
| TC003 | 验证空密码登录 | 1. 输入正确用户名,不输入密码 2. 点击登录按钮 | 显示密码不能为空提示信息 | 显示密码不能为空提示信息 | 通过 |
| TC004 | 验证错误用户名登录 | 1. 输入错误的用户名和正确密码 2. 点击登录按钮 | 显示用户名或密码错误提示信息 | 显示用户名或密码错误提示信息 | 通过 |
| TC005 | 验证错误密码登录 | 1. 输入正确用户名和错误密码 2. 点击登录按钮 | 显示用户名或密码错误提示信息 | 显示用户名或密码错误提示信息 | 通过 |
- 资产信息模块功能测试
资产信息模块测试包括资产信息展示功能测试、资产信息添加功能测试、资产信息搜索、资产申请功能测试。资产信息模块测试用例如表6.2-6.5所示。
资产信息展示功能测试用例设计如下表所示:
表6-2 资产信息展示功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证正常展示资产信息 | 1. 进入资产信息展示页面 2. 浏览展示的资产信息内容 | 能够正常显示资产信息内容 | 资产信息内容正常显示 | 通过 |
| TC002 | 验证资产信息链接跳转 | 1. 进入资产信息展示页面 2. 点击资产信息链接 | 能够跳转至相应资产信息详情页面 | 成功跳转至资产信息详情页面 | 通过 |
| TC003 | 验证搜索功能 | 1. 进入资产信息展示页面 2. 使用搜索功能搜索资产信息 | 显示符合搜索条件的资产信息列表 | 显示符合搜索条件的资产信息列表 | 通过 |
资产信息添加功能测试用例设计如下表所示:
表6-3 资产信息添加功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证添加资产信息 | 1. 进入资产信息添加界面 2. 输入资产信息 3. 点击添加按钮 | 资产信息成功添加到系统页面中 | 资产信息成功添加到系统页面中 | 通过 |
| TC002 | 验证资产信息内容输入 | 1. 进入资产信息添加界面 2. 输入正确资产信息内容和答案 3. 点击添加按钮 | 资产信息内容成功录入系统 | 资产信息内容成功录入系统 | 通过 |
| TC003 | 验证资产信息图片上传 | 1. 进入资产信息添加界面 2. 上传资产信息相关图片 3. 点击添加按钮 | 图片成功上传并与资产信息关联 | 图片成功上传并与资产信息关联 | 通过 |
资产信息搜索功能测试用例设计如下表所示:
表6-4 资产信息搜索功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证资产信息输入资产名称搜索 | 1. 进入资产信息搜索界面 2. 输入资产名称 3. 确认并搜索 | 根据选择的资产名称关键词显示相关资产信息 | 根据选择的资产名称关键词成功显示相关资产信息 | 通过 |
| TC002 | 验证资产信息输入资产类型搜索 | 1. 进入资产信息搜索界面 2. 输入资产类型 3. 确认并搜索 | 根据选择的资产类型关键词显示相关资产信息 | 根据选择的资产类型关键词成功显示相关资产信息 | 通过 |
资产申请功能测试用例设计如下表所示:
表6-5 资产申请功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证添加员工申请信息 | 1. 点击“员工申请”进入员工资产申请信息添加界面 2. 输入员工申请信息 3. 点击添加按钮 | 员工资产申请信息成功添加到系统页面中 | 员工资产申请信息成功添加到系统页面中 | 通过 |
| TC001 | 验证添加主管申请信息 | 1. 点击“主管申请”进入主管资产申请信息添加界面 2. 输入主管申请信息 3. 点击添加按钮 | 主管资产申请信息成功添加到系统页面中 | 主管资产申请信息成功添加到系统页面中 | 通过 |
| TC002 | 验证资产申请信息内容输入 | 1. 进入资产申请信息添加界面 2. 输入正确资产申请信息内容 3. 点击添加按钮 | 资产申请信息内容成功录入系统 | 资产申请信息内容成功录入系统 | 通过 |
| TC003 | 验证审核资产申请信息 | 1. 管理员进入资产申请信息详情界面 2. 更新审核状态并编辑审核回复内容 3. 点击提交按钮 | 资产申请信息审核内容成功录入系统 | 资产申请信息审核内容成功录入系统 | 通过 |
6.3 性能测试
- 兼容性测试
表6-6 兼容性测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 兼容性_01 | 设备兼容性 | 测试系统在不同设备上的表现 | 在多种设备上访问系统并记录表现 | 系统在各种设备上都能正常加载和显示页面 |
| 兼容性_02 | 浏览器兼容性 | 测试系统在不同浏览器上的表现 | 在多种浏览器中访问系统并记录表现 | 系统在各种主流浏览器上都能正常加载和显示页面 |
| 兼容性_03 | 分辨率兼容性 | 测试系统在不同分辨率下的显示效果 | 在不同分辨率的设备上访问系统并记录表现 | 系统在各种分辨率下都能适应并正常显示内容 |
| 兼容性_04 | 操作系统兼容性 | 测试系统在不同操作系统上的运行情况 | 在不同操作系统上访问系统并记录表现 | 系统能够在常用操作系统上正常运行和显示 |
- 性能测试
表6-7 性能测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 性能_01 | 负载测试 | 测试系统在正常负载下的性能 | 逐步增加用户数来模拟不同的负载情况 | 系统能够稳定处理并响应不同数量的用户请求 |
| 性能_02 | 压力测试 | 测试系统在极端负载下的性能 | 以超过系统承受极限的用户数来测试系统 | 系统能够在高负载情况下仍然保持正常运行 |
| 性能_03 | 并发测试 | 测试系统能同时处理多少并发用户请求 | 同时发送多个并发用户请求来测试系统性能 | 系统能够有效地处理多个并发请求 |
| 性能_04 | 数据量测试 | 测试系统在大数据量下的性能 | 向系统添加大量数据并测试系统响应时间 | 系统能够在大数据量情况下保持较快的响应时间 |
6.4 测试结果
全部测试用例都已通过,且不存在漏洞,实现了本论文开始时所作要求和期望。本系统运行稳定,使用流畅,可以满足客户需求。试运行后进行系统评估,可以认为该系统达到预期的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预期目标所需。在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
简而言之,经过严格的测试,可以发现该系统的功能和性能非常出色,它的精度、可靠性、稳健性都达到了极高的水平,而且它还支持快速、精细的点击操作,使用者的使用感受更加良好。此外,它还支持各种主流浏览器,满足不同的使用要求。
第7章总结与展望
在基于SpringBoot框架下的企业人事管理系统设计与实现中,通过员工用户、主管用户和管理员等角色的划分,实现了多层次的用户管理和权限控制。借助员工打卡管理、主管打卡管理、财务支出管理、员工薪资管理、主管薪资管理、资产信息管理、资产申请管理、员工资产管理、主管资产管理、请假申请管理、员工请假管理、主管请假管理等功能模块,简化了人事管理中的考勤、请假和资产管理以及审核流程,提高整体整体工作效率。同时,系统公告管理功能的引入,为用户提供了便捷信息获取的渠道,方便用户快速及时的了解相关通知、公告信息,有效保障了平台的功能多元性。
在未来的发展中,可以进一步优化系统的响应速度和用户体验,加强对用户行为的分析与挖掘,以实现个性化功能定制,如员工学习培训、内部招聘推荐等模块。同时,结合大数据技术,对各类数据进行统计分析,提升平台的智能化水平,为用户提供更加智能化、便捷化的服务。此外,加强对安全性的防护和隐私保护,是平台未来发展的重要方向之一,保障用户信息的安全与私密性,维护良好的用户体验。
通过不断优化和创新, 基于SpringBoot的企业人事管理系统将更好地满足用户的多样化需求,成为用户信赖和选择的首要平台之一。通过本次项目,不仅可以深入理解了SpringBoot框架的应用和企业人事管理系统的设计思路,也积累了丰富的实际开发经验。未来,将进一步优化系统的稳定性和安全性,引入更多智能化和个性化的功能,以更好地满足用户需求和市场变化。
参考文献
[1]贾文强,刘新,傅鹏.基于Spring Boot+Vue框架的企业记录管理系统设计与实现[J].工业控制计算机,2024,37(10):151-152.
[2]耿宽宽.人事管理系统的设计与实现[J].山西电子技术,2024,(03):95-97.
[3]郦昕昕.基于B/S模式的人事管理系统设计与实现[J].集成电路应用,2024,41(05):246-247.DOI:10.19339/j.issn.1674-2583.2024.05.112.
[4]余孟哲.基于云计算环境的中小企业管理信息系统构建研究[J].企业改革与管理,2024,(07):61-62.DOI:10.13768/j.cnki.cn11-3793/f.2024.0346.
[5]张丽明.基于ERP的企业财务管理系统研究[J].中国乡镇企业会计,2024,(04):48-50.
[6]王伟,邢洋.基于“数据+分析”的医院人事管理信息化系统设计与应用[J].信息与电脑(理论版),2024,36(02):109-111.
[7]唐家乐.浅析组织人事管理系统的开发与探索[J].中国管理信息化,2024,27(01):132-135.
[8]相溢炯.企业管理中ERP系统的有效应用[J].现代企业文化,2023,(32):61-64.
[9]曹灿,吕宜光.基于Java Web的科研院所人事管理系统的设计与实现[J].自动化技术与应用,2023,42(06):131-133.DOI:10.20033/j.1003-7241.(2023)06-0131-03.
[10]Yuan G ,Ximu Y .Data analysis framework of tourism enterprise human resource management system based on MySQL and fuzzy clustering[J].International Journal of System Assurance Engineering and Management,2023,14(5):1647-1659.
[11]张汉昌.基于MVVM模式的企业人事管理系统设计与实现[D].西南民族大学,2023.DOI:10.27417/d.cnki.gxnmc.2023.000318.
[12]陈立飞,张静,罗召霞.基于B/S模式的人事管理系统的设计与实现[J].信息与电脑(理论版),2022,34(19):140-142.
[13]胡金梅,胡金萍.基于Web的公司人事管理系统设计[J].无线互联科技,2022,19(06):59-60.
[14]马云龙.基于Android技术的人事管理系统的设计与实现[J].现代信息科技,2022,6(05):129-133.DOI:10.19850/j.cnki.2096-4706.2022.05.034.
[15]杨科,人事管理系统V1.0.河南省,三门峡千图地理信息技术服务有限公司,2021-11-03.
[16]杨少杰.人力资源管理演变[M].中国法制出版社:202109.390.
[17]Shui L .Human Resource Management of Internet Enterprises Based on Big Data Mobile Information System[J].MOBILE INFORMATION SYSTEMS,2021,2021
[18]吴亮.中小企业人事管理系统设计[J].科学技术创新,2020,(31):73-74.
[19]刘蓉,丁旭.现代企业人事管理信息系统的设计与实现[J].黄河.黄土.黄种人,2020,(17):36-37.
[20]段修亮,赵霞.小型企业人事管理系统的设计与实现[J].科技风,2020,(01):76.DOI:10.19392/j.cnki.1671-7341.202001066.
致 谢
在完成本论文的研究与写作过程中,我深切感受到了来自各方的帮助和支持。在此,我衷心地向所有给予我帮助的人表示最诚挚的感谢。
首先,我要特别感谢我的导师,不仅在学术上给予我无私的指导,而且在生活上给予我关怀和支持。是您严谨的学术态度和勤奋的工作精神将永远激励我不断前进。
其次,我要感谢所有教导过我的老师们,是你们精彩课堂和深入的指导为我的研究工作提供了宝贵的知识和灵感。
我还要感谢我的家人,他们的理解和支持是我完成学业的坚强后盾。在我遇到困难和挑战时,他们总是给予我鼓励和力量。
此外,我也要感谢我的朋友和同学们,你们的陪伴和帮助使我的研究生活更加丰富多彩。我们共同度过的时光将成为我一生中宝贵的回忆。
最后,我要感谢所有支持本项目,为本项目提供建设性意见的人员,没有他们的协助,本论文无法顺利完成。
再次感谢所有帮助和支持我的人,是你们的帮助使我的研究之路不再孤单
2061

被折叠的 条评论
为什么被折叠?



