【bishe014】Java企业员工工资系统

第1章 绪论

1.1 课题背景

在当今数字化经济高速发展的时代,企业面临着前所未有的竞争压力。人力资源作为企业的核心资产之一,其管理效率和质量直接关系到企业的竞争力。工资管理作为人力资源管理的重要环节,不仅涉及员工的切身利益,更影响着企业的运营成本和内部稳定性。随着企业规模的不断扩张,员工数量日益增多,工资构成愈发复杂,传统手工或半手工的工资管理方式已难以满足企业高效运营的需求。繁琐的工资计算流程、易出错的数据处理以及滞后的信息反馈,不仅耗费大量人力物力,还容易引发员工对工资准确性的质疑,进而影响员工的工作积极性和企业的凝聚力。

与此同时,信息技术的飞速发展为企业管理变革提供了强大的动力。云计算、大数据、人工智能等新兴技术的广泛应用,促使企业纷纷寻求数字化转型,以提升管理效率和决策的科学性。在这样的大环境下,开发一套高效、智能、集成化的企业工资管理系统迫在眉睫,它将帮助企业打破传统管理模式的束缚,实现工资管理的自动化、精准化和信息化。

1.2 国内外发展现状

在国外,发达国家的企业工资管理系统发展相对成熟。众多知名企业借助先进的信息技术,构建了高度自动化和智能化的工资管理体系。例如,欧美一些大型跨国公司采用的人力资源管理系统,不仅能够实时处理全球各地员工的工资数据,还能根据不同地区的法律法规和企业政策进行精准的工资计算和发放。这些系统具备强大的数据分析功能,通过对大量历史工资数据的挖掘和分析,为企业提供人力资源成本优化、薪酬策略调整等决策支持。此外,国外的工资管理系统注重用户体验和数据安全,采用先进的加密技术和严格的权限管理,确保员工信息的保密性和完整性。

而在国内,随着信息化建设的不断推进,越来越多的企业开始重视工资管理系统的应用。一些大型国有企业和民营企业纷纷引入或自主研发工资管理系统,实现了工资计算、发放等基础业务的自动化。但整体来看,与国外相比仍存在一定差距。部分中小企业由于资金和技术限制,工资管理系统功能较为单一,仅能满足基本的工资核算需求,缺乏对考勤、绩效等关联业务的深度整合,数据的分析和利用能力也有待提高。不过,随着国内软件产业的迅速发展以及企业数字化转型意识的增强,国内企业工资管理系统正朝着功能集成化、智能化的方向快速发展。

1.3 研究目的与意义

本研究旨在设计与实现一个基于 Java 的企业工资管理系统,以解决传统工资管理模式存在的诸多弊端,提升企业工资管理的效率和质量。通过整合员工信息、考勤数据、绩效评估等多方面信息,实现工资的自动化计算和精准发放,减少人工干预带来的错误和风险。同时,为不同角色的用户(如员工、部门经理、HR 管理员、财务人员和企业管理员)提供便捷、高效的操作界面,满足其在工资管理过程中的不同需求,促进企业内部信息的流通和协同工作。

该系统的研究与实现具有重要的现实意义。从企业角度来看,它能够降低企业的人力成本和管理成本,提高工资管理的准确性和时效性,增强员工对企业的信任和满意度,进而提升企业的整体运营效率和竞争力。从行业发展角度而言,为国内企业工资管理系统的优化和升级提供了有益的参考和实践经验,推动整个行业朝着更加智能化、信息化的方向发展。

第2章 关键技术介绍

2.1 IDEA

IntelliJ IDEA 是一款卓越的集成开发环境,堪称软件开发领域的利器。由 JetBrains 精心打造,它凭借智能感知技术,能精准预测并补全代码,极大提升编码效率;深度的代码分析功能如同敏锐的“代码医生”,可实时检测潜在问题与优化点,确保代码质量[5]。对于 Java 开发,从基础语法到复杂框架,如 Spring、Struts 等,都提供全方位支持,无缝衔接各种技术栈。其界面设计简洁直观,人性化的布局便于快速上手,丰富的插件生态宛如一个巨大的“工具箱”,能满足不同开发场景的个性化需求。强大的调试功能让开发者能轻松追踪代码执行流程,快速定位和解决问题[6]。版本控制集成、项目管理等功能也十分出色,助力团队协作开发更加高效流畅,深受全球开发者的喜爱与信赖。

2.2 Java

Java 是一种广泛应用的高级编程语言,由 Sun Microsystems(现属 Oracle)开发。它具有“一次编写,到处运行”的特性,得益于 Java 虚拟机(JVM),编写的代码可以在不同操作系统和硬件环境中无缝运行,极大地提高了程序的可移植性。Java 具备完全面向对象的编程模型,通过类、对象、继承、多态和封装等概念,使开发者能够以结构化和模块化的方式构建复杂应用程序[7]。它拥有庞大的类库,涵盖了从网络编程、图形用户界面(GUI)开发到数据库访问等各个领域,为开发人员提供了丰富的资源和工具[8]。此外,Java 的安全性高,通过严格的类型检查、内存管理和安全机制,有效防止了程序中的许多常见错误和安全漏洞,广泛应用于企业级应用开发、安卓应用开发、大型系统、游戏开发以及分布式系统等诸多领域,是推动现代软件开发的重要力量[11]。

2.3 MySQL

MySQL是一种开源的关系型数据库管理系统(RDBMS),支持ACID事务特性,具备高并发处理能力和数据安全性。其轻量级架构和跨平台特性使其成为企业级应用的首选。在本系统中,MySQL用于存储员工信息、薪资数据、考勤记录等核心业务数据,并通过索引优化和事务管理提升查询效率。其核心产品 MySQL数据库,以高性能、高可靠性和强大的功能著称,能够处理海量数据的存储、管理与检索,广泛应用于金融、电信、政府等对数据安全和稳定性要求极高的行业。除了数据库,Oracle 还提供丰富的企业级软件解决方案,如 ERP(企业资源计划)、CRM(客户关系管理)等,助力企业实现高效的业务流程管理和决策支持。在云服务方面,Oracle Cloud 涵盖了基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)等多种模式,为企业提供灵活、可扩展的云计算资源[10]。凭借不断创新的技术和卓越的服务,Oracle 在全球企业数字化转型进程中扮演着至关重要的角色 。  

2.4 SSM

SSM 即 Spring、SpringMVC 和 MyBatis 框架的整合,是 Java 企业级开发中备受青睐的经典架构组合。Spring 作为核心框架,通过依赖注入(DI)实现对象间解耦,以面向切面编程(AOP)简化系统级功能开发;SpringMVC 负责 Web 层请求处理,提供清晰的 MVC 架构模式;MyBatis 专注于数据持久化,通过灵活的 SQL 映射操作数据库。三者协同工作,构成一个完整、高效的开发框架[9]。

SSM 架构特点鲜明且优势显著。其特点在于分层架构清晰,各层职责明确,易于理解与维护;轻量级特性使其对系统资源消耗少,部署简便;高度的灵活性允许按需选用框架组件,适应不同项目需求。优势方面,它极大提升开发效率,减少重复代码;便于系统的维护与扩展,降低软件演化成本;在性能上表现卓越,能应对高并发场景;还具备强大的兼容性,可与众多技术集成,为构建复杂的企业级应用提供坚实支撑 。

第3章 系统分析

3.1需求分析

3.1.1 员工需求分析

员工作为工资管理系统的直接关联者,最关注自身相关信息的准确性与获取便利性。首先,员工需要便捷的登录注册功能,能够快速进入系统查看个人工资明细,包括基本工资、绩效工资、奖金、扣除项等详细信息,确保工资核算的透明度,便于核对每月收入。其次,员工希望能够实时掌握自己的考勤情况,查看考勤记录,明确出勤天数、迟到早退次数等,以便与工资计算中的考勤关联部分相对应。再者,员工在绩效评估后,期望能及时查看个人绩效结果及对应的绩效奖金计算方式,了解自身工作表现与薪酬的挂钩情况。另外,请假管理功能对于员工也十分重要,员工需要在系统中提交请假申请,能够随时查看申请状态,如已提交、审批中、已通过或被驳回等,同时希望系统能清晰展示请假对工资的影响,例如请假期间工资的扣除规则。员工需求用例图如图3-1所示。

图3-1员工用例图

3.1.2 部门经理需求分析

部门经理需要从部门整体层面管理相关事务。在考勤管理方面,部门经理需要查看本部门员工的考勤汇总数据,了解员工的出勤状况,以便进行人员调度和工作安排,同时能够对部门内员工的考勤异常情况进行核实与处理。在绩效管理上,部门经理负责对下属员工进行绩效评估,需要系统提供便捷的绩效评价入口,能够录入员工的绩效评分、评价内容等信息,并查看员工的绩效历史记录,为后续的绩效改进和薪酬调整提供依据。对于请假管理,部门经理需要审批本部门员工的请假申请,依据部门工作安排和公司规定,做出合理的审批决策,并能查看部门员工的请假统计情况,以便合理规划部门工作。此外,部门经理可能还需要了解本部门员工的工资概况,包括工资总额、人均工资等,用于部门成本核算和预算规划。部门经理需求用例图如图3-2所示。

图3-2 部门经理用例图

3.1.3 HR 需求分析

HR 在企业工资管理中承担着关键角色。在员工信息管理方面,HR 需要系统能够全面、准确地录入和维护员工的基本信息,包括个人资料、入职时间、岗位信息、薪资结构等,并且能够方便地进行信息查询、修改和更新,确保员工信息的及时性和准确性。对于考勤数据审核,HR 需要对各部门提交的考勤数据进行最终审核,确保考勤数据的真实性和完整性,若发现异常数据能够及时追溯和处理。在角色权限配置上,HR 要根据企业的组织架构和管理需求,为不同岗位的员工分配合适的系统操作权限,保证系统使用的安全性和规范性。在绩效考核审核环节,HR 需要对各部门提交的员工绩效评估结果进行审核,确保绩效考核过程的公平、公正,同时要对绩效数据进行统计分析,为企业的薪酬调整、人才选拔等提供数据支持。HR需求用例图如图3-3所示。

图3-3HR用例图

3.1.4 财务人员需求分析

财务人员主要负责工资的核算与发放以及相关报表的生成。在薪酬审核方面,财务人员需要仔细核对员工的工资数据,包括基本工资、绩效奖金、考勤扣除等各项明细,确保工资计算的准确性,避免出现工资发放错误。工资计算功能要求系统能够根据设定的工资计算公式和员工的考勤、绩效等数据,自动、准确地计算出每位员工的应发工资和实发工资。财务人员还需要系统具备报表生成功能,能够生成各种工资报表,如月度工资发放报表、年度工资统计报表等,以满足财务记账、税务申报等工作需求。此外,财务人员要进行绩效奖金计算,依据 HR 审核通过的绩效数据和企业的绩效奖金政策,准确计算每位员工的绩效奖金金额。在请假管理方面,财务人员需要依据请假审批结果,准确核算请假期间员工工资的扣除情况。财务人员需求用例图如图3-4所示。

图3-4财务人员用例图

3.1.5 管理员需求分析

管理员需要从企业全局进行管理。在部门管理上,管理员能够创建、修改和删除企业的部门信息,调整部门架构,添加或移除部门负责人等,确保企业组织架构在系统中的实时更新。在用户管理方面,管理员拥有对所有用户的管理权限,包括员工、部门经理、HR、财务人员等,能够进行用户信息的录入、修改、删除,以及重置用户密码等操作,同时要对用户的登录情况进行监控,保障系统的安全运行。在绩效管理方面,管理员需要从宏观层面了解企业整体的绩效情况,能够查看各部门、各岗位的绩效统计数据,为企业制定绩效改进策略和薪酬调整政策提供决策依据。在请假管理方面,管理员可以查看企业所有员工的请假汇总数据,分析请假趋势,以便从企业层面合理安排资源,同时对一些特殊的请假审批情况进行最终裁定。管理员需求用例图如图3-5所示。

图3-5管理员用例图

3.2系统可行性分析

3.2.1技术可行性

本系统采用Java语言开发,数据存储依托于MySQL数据库,前端页面效果则利用layui框架和jsp技术进行设计。在大学学习过程中,通过专业课程掌握的Java技术,可以实现web开发模式。通过自学视频网站教程和官方API,可以实现Java与数据库的联动。因此,从技术角度来看,本系统是完全可行的。

3.2.2经济可行性

本系统从经济视角审视,能够显著提高管理人员的工作效率,并降低管理成本。从可持续发展的角度考量,尽管初期投资较大,但长期而言,使用本系统无疑是节约管理成本的有效途径。因此,在经济可行性方面进行分析,长期采用本系统将有助于减少管理开支。

3.2.3操作可行性

本系统基于计算机架构,采用服务器/浏览器模式,并配备直观的图形用户界面,为用户提供相应的友好提示。系统中的大多数功能实现了自动化识别,仅少数功能需要手动输入。对于操作人员而言,经过简短的培训即可轻松掌握本系统的使用。

3.2.4法律可行性

3.3安全性分析

3.3.1数据安全分析

在企业工资管理系统中,数据安全至关重要。系统存储着海量敏感信息,涵盖员工个人资料、薪资明细、绩效数据等。从数据存储角度,需采用可靠的数据库管理系统,如 MySQL,定期进行数据备份,以防硬件故障或意外情况导致数据丢失。同时,对数据库进行加密存储,确保数据在静态时不被非法获取。在数据访问控制方面,严格依据用户角色和权限分配访问级别。例如,员工仅能查看自身相关信息,HR 管理员拥有员工信息维护权限但受限访问财务数据,财务人员专注于工资核算数据操作。通过细致的权限管理,可有效防止越权访问,保障数据的保密性与完整性。此外,建立数据审计机制,详细记录所有数据操作行为,一旦出现数据异常,能迅速追溯根源,维护数据安全。

3.3.2 网络安全分析

网络安全是企业工资管理系统稳定运行的关键保障。系统基于 B/S 架构,通过网络传输大量数据。在网络架构层面,采用防火墙技术,阻挡外部非法网络访问,隔离内部网络与不可信外部网络,防范网络攻击和恶意软件入侵。同时,合理划分内部网络区域,如将核心数据服务器放置在安全等级较高的区域,限制不同角色用户所在网络区域的访问权限。在数据传输过程中,使用 SSL/TLS 等加密协议,对传输中的数据进行加密,确保数据在网络中传输时不被窃取或篡改。此外,定期进行网络漏洞扫描,及时发现并修复系统存在的安全漏洞,更新系统的安全补丁,抵御不断变化的网络威胁,保障企业工资管理系统网络环境的安全性与稳定性。

第4章 总体设计

4.1 系统功能结构设计

企业工资管理系统功能结构设计以满足不同用户角色需求为,系统分为员工、部门经理、HR 管理员、财务人员和管理员五大用户角色模块。员工模块主要包含登录注册、考勤管理、绩效管理与请假管理功能,方便员工查看个人信息及管理自身事务。部门经理模块侧重于本部门的考勤、绩效与请假管理,支持部门层面的数据统计与审批操作。HR 管理员模块集中于员工信息管理、考勤数据审核、角色权限配置以及绩效考核审核,是企业人力资源管理策略的执行中枢。财务人员模块围绕薪酬审核、工资计算、报表生成、绩效奖金计算与请假管理中的工资核算部分,保障工资发放准确无误。管理员模块则负责部门管理、涵盖所有用户的用户管理,以及从企业全局视角出发的绩效管理与请假管理,对整个系统的运行进行宏观把控,各模块既相对独立又紧密协作,共同支撑企业工资管理流程的顺畅运转。本系统的业务功能架构图详见图4-1。

图4-1 系统功能结构图

4.2 主要功能设计

4.2.1 员工模块设计

(1)用户登录设计

登录页面是本系统的唯一入口,因此,如何确保本系统的登录安全性成为了本系统开发的重点。在登录功能开发过程中,使用了前端与服务端双重加密的方式进行验证用户是否存在非法登录的情况。当用户发起登录请求后,前端页面会将用户输入的信息利用SHA加密算法进行首次加密处理,将加密后的字符串进行传输,在业务逻辑中,后端会使用md5再次加密,然后将加密数据与数据库中的数据进行比对。比对通过后,用户即可完成登录操作,比对失败,则提示用户名密码输入错误的提示。登录流程图如图4-2所示。

图4-2 登录流程图

(2)考勤打卡设计

员工在上班期间,需要每一天进行签到处理。员工进入签到页面流程,填写签到信息,系统会判断签到信息是否输入正确,正确后会生成签到信息,完成签到操作。签到流程图如图4-3所示。

图4-3 进入签到流程图

(3)请假申请设计

员工可以在系统内部提交请假申请,输入请假的原因,部门经理需要对员工的请假信息进行审核,审核通过后,完成请假操作。请假流程图如图4-4所示。

图4-4请假管理流程图

4.2.2 部门经理模块设计

(1)绩效设定设计

部门经理可以对员工设定考核目标。部门经理根据页面的友好提示,输入绩效基础信息,系统会对管理员填写的绩效信息进行判断,通过后完成了绩效设定流程。绩效设定流程如图4-5所示。

图4-5 绩效新增流程

  1. 绩效考核设计

部门经理可以查看全部员工的自评考核信息,部门经理对员工的考核信息进行输入考核信息,系统会根据部门经理输入的考核信息进行数据录入。绩效考核流程如图4-6所示。

图4-6绩效考核流程图

4.2.3 HR模块设计

(1)签到管理设计

HR可以在签到管理中可以查看所有员工的打卡信息,对于员工的打卡信息,HR可以进行打卡审核,审核流程如图4-7所示。

图4-7签到审核流程

(2)绩效管理设计

HR可以在绩效管理中可以查看所有员工的绩效信息,对于员工的绩效卡信息,HR可以进行查看,绩效查看流程如图4-8所示。

图4-8绩效查询流程

4.2.4财务人员模块设计

  1. 请假查看设计

财务人员可以在请假管理中可以查看所有员工的请假信息,对于员工的请假信息,财务人员可以进行查看,请假查看流程如图4-9所示。

图4-9请假查看流程

  1. 薪资管理设计

财务人员可以对员工进行薪资核算。财务人员根据页面的友好提示,输入薪资基础信息,系统会对财务人员填写的薪资信息进行判断,通过后完成了薪资发布流程。薪资管理流程如图4-10所示。

图4-10新增薪资流程

4.2.5管理员模块设计

(1)员工管理设计

员工管理作为系统内部员工数据的来源,是系统较为重要的功能。管理员可以实体员工管理进行员工信息的统计。管理员可以根据页面提示进行员工信息查询,可以使用员工姓名进行条件查询。当有新入职员工以及离职员工时,管理员可以使用员工新增以及员工删除等功能进行处理。管理员新增员工流程图如图4-11所示。

图4-11 员工管理流程图

(2)部门管理设计

部门管理作为系统内部部门数据的来源,是系统较为重要的功能。管理员可以实体部门管理进行部门信息的管理。管理员新增部门流程图如图4-12所示。

图4-12 员工管理流程图

4.3数据库设计

4.3.1 实体属性设计

根据需求分析以及业务设计,对企业工资系统进行了实体属性分析。在设计数据库之表结构之前,为了更好的描述每一个业务表的字段以及各个业务表直接的关系,采用了实体属性模型对系统进行设计,将每一个设计好的业务抽象成实体属性,更清晰的描各个业务之间的关系。

  1. 用户实体关系图(E-R图)如图4-13所示。

图4-13用户实体属性

  1. 部门实体关系图(E-R图)如图4-14所示。

图4-14部门实体属性

  1. 岗位实体关系图(E-R图)如图4-15所示。

图4-15岗位实体属性

  1. 薪资实体关系图(E-R图)如图4-16所示。

图4-16薪资实体属性

  1. 考勤实体关系图(E-R图)如图4-17所示。

图4-17考勤实体属性

  1. 绩效实体关系图(E-R图)如图4-18所示。

图4-18绩效实体属性

  1. 请假信息实体关系图(E-R图)如图4-19所示。

图4-19请假实体属性

系统实体E-R图如图4-20所示。

图4-10 实体E-R图

4.3.2 数据库表设计

数据库性能的差异在一定程度上决定了系统的响应速度,是软件设计的重要一环。根据数据库实体设计的规则,对系统的数据库表结构进行了设计。其中,对于数据量大的表结构信息,比如订单、商品等表结构,考虑设计唯一索引,保证查询效率。

  1. 用户信息表

用户信息表主要存储了用户的基本信息,是本系统的基础核心表,所有与用户有关的操作都需要用到用户信息表。用户信息表如表4-1所示。

表4-1用户信息表

字段名

数据类型

长度

注释

Id

int

16

主键id

Name

varchar

255

姓名

Sex

int

2

性别

Password

varchar

255

密码

Type

int

2

类型

1管理员

2员工

3部门经理

4hr

5财务人员

Createdate

datetime

创建时间

  1. 部门信息表

部门信息表主要记录了系统内部的部门信息,详细结构如表4-2所示。

表4-2部门 信息表

字段名

数据类型

长度

注释

Id

int

16

主键id

Deptname

varchar

255

部门名称

Num

int

2

部门人数

User

varchar

255

负责人

Createdate

datetime

创建时间

  1. 岗位信息表

岗位信息记录了系统内部的岗位情况,详情结构如表4-3所示。

表4-3岗位信息表

字段名

数据类型

长度

注释

Id

int

16

主键id

Name

varchar

255

岗位名称

Derptid

int

2

所属部门

Content

varchar

255

岗位职责

Createdate

datetime

创建时间

  1. 薪资信息表

薪资信息记录了系统内部所有员工的薪资信息,详细的表结构如表4-4所示。

表4-4薪资信息表

字段名

数据类型

长度

注释

Id

int

16

主键id

Name

varchar

255

岗位名称

Derptid

int

2

所属部门

Price

varchar

255

工资

Createdate

datetime

创建时间

  1. 考勤信息表

考勤信息主要记录了每一个员工的出勤基本信息,详细表结构如表4-5所示。

表4-5考勤信息表

字段名

数据类型

长度

注释

Id

int

16

主键id

Name

varchar

255

员工工号

Derptid

int

2

员工姓名

Content

varchar

255

部门名称

Name

varchar

20

岗位名称

Kaoqindate

int

2

考勤时间

Chuqinday

int

4

出勤天数

Qingjiaday

int

4

请假天数

Jiabndau

int

4

加班时长

Tiaoxiuday

int

4

加班时长

  1. 绩效信息表

绩效信息记录了系统内部员工的绩效目标信息,表结构如表4-6所示。

表4-6绩效信息表

字段名

数据类型

长度

注释

Id

int

16

主键id

Name

varchar

255

员工工号

Derptid

int

2

员工姓名

Content

varchar

255

部门名称

Name

varchar

20

岗位名称

Start

Datetime

起始时间

End

Datetime

结束时间

Mubiao

varchar

2

绩效目标

Level

varchar

2

绩效等级

ZpLevel

varchar

2

自评等级

  1. 请假信息表

请假信息记录了系统内部的全部员工请假详细信息,请假信息表结构如表4-7所示。

表4-7请假信息表

字段名

数据类型

长度

注释

Id

int

16

主键id

Name

varchar

255

员工工号

Derptid

int

2

员工姓名

Content

varchar

255

部门名称

Name

varchar

20

岗位名称

Start

Datetime

起始时间

End

Datetime

结束时间

Zhengming

varchar

255

请假证明

Reason

varchar

255

请假原因

Status

Int

2

审核状态

第5章 详细设计与实现

5.1员工功能模块

5.1.1 用户登录

用户作为系统前台的主要使用者,使用本系统前必须要进行登录操作。系统为了保护用户账号的安全性,根据国密算法规则,使用了非对称算法对用户的密码信息进行加密处理。系统会对用户的密码使用sm4加密算法进行加密处理,在后端逻辑中,使用sm2算法进行解密,将节目后的用户信息与数据库中存储的用户信息进行对比,成功匹配后,完成用户的登录操作。用户登录的详情如图5-1所示。

用户登录的关键代码如下:

@IgnoreAuth

@RequestMapping(value = "/login")

public R login(String username, String password, String captcha, HttpServletRequest request) {

    UsersEntity u = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));

       if(u==null || !u.getPassword().equals(password)) {

           return R.error("账号或密码不正确");

       }

    String token = tokenService.generateToken(u.getId(), username,"users",  "管理员" );

    return R.ok().put("token", token);

}

5.1.2 薪资查看

员工登录系统后,可以使用薪资信息管理查看自己当前的薪资信息,可以使用月份进行搜索。薪资查看如图5-2所示。

5.1.3 考勤信息查看

员工可以使用考勤信息管理查看自己的考勤情况,系统会将员工的考勤信息返回到页面,包括出勤天数、请假天数、出差天数、调休天数等详细信息。考勤信息查看如图5-3所示。

考勤查看的关键代码如下:

@IgnoreAuth

   @RequestMapping("/list")

   public R list(@RequestParam Map<String, Object> params,KaoqinxinxiEntity kaoqinxinxi,

               @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date shijianStart,

               @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date shijianEnd,

    HttpServletRequest request){

       EntityWrapper<KaoqinxinxiEntity> ew = new EntityWrapper<KaoqinxinxiEntity>();

               if(shijianStart!=null) ew.ge("shijian", shijianStart);

               if(shijianEnd!=null) ew.le("shijian", shijianEnd);

    PageUtils page = kaoqinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kaoqinxinxi), params), params));

       return R.ok().put("data", page);

   }

5.1.4 签到打卡

员工每天上班后,可以使用签到打开进行上班打卡,点击新增按钮,按照系统提示,填写打卡信息,完成员工上班的打卡信息。签到打卡详情如图5-4所示。

5.1.5 签退打卡

员工在下班时,可以使用签退打卡进行下班打卡,点击新增按钮,按照系统提示,填写下班打卡信息,完成员工下班的签退操作。签退打卡详情如图5-5所示。

5.1.6 绩效查看

每一个月度,部门经理可以为每一个员工设定的固定绩效信息,员工可以使用绩效信息管理进行查看自己的驾校目标信息,确保按时完成绩效。绩效信息查看如图5-6所示。

5.1.7 绩效自评

当员工完成绩效目标后,需要对绩效信息进行自评,员功可以先对自己进行自评,自评完成后,部门经理会进行审核操作,审核员工的绩效信息,完成评定。绩效考核如图5-7所示。

绩效自评的关键代码如下:

@RequestMapping("/save")

@SysLog("新增绩效信息")

public R save(@RequestBody JixiaoxinxiEntity jixiaoxinxi, HttpServletRequest request){

    //ValidatorUtils.validateEntity(jixiaoxinxi);

    jixiaoxinxiService.insert(jixiaoxinxi);

    return R.ok();

}

5.1.8 请假申请

员工可以使用请假信息管理完成请假操作,根据系统的友好提示,输入请假信息,完成请假单的录入。请假信息管理如图5-8所示。

5.2部门经理功能模块

5.2.1 绩效设定

部门经理在登录系统后,可以对每一个员工进行设定绩效目标,设定完目标后,系统会将全部员工的绩效信息进行展示。绩效设定如图5-9所示。

5.2.2绩效审核

员工在完成绩效自评后,需要部门经理进行核实,对于不符合实际情况的自评信息,部门经理有权利对其进行再次打评以及给出相应的分数。绩效审核如图5-10所示。

5.2.3审核报表

系统为部门经理提供了相应的报表,以便于部门经理更直观的查看审核的数据信息。审核报表如图5-11所示。

审核报表关键代码如下:

@IgnoreAuth

   @RequestMapping("/list")

   public R list(@RequestParam Map<String, Object> params,QiantuidakaEntity qiantuidaka,

               @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date dakashijianStart,

               @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date dakashijianEnd,

    HttpServletRequest request){

       EntityWrapper<QiantuidakaEntity> ew = new EntityWrapper<QiantuidakaEntity>();

               if(dakashijianStart!=null) ew.ge("dakashijian", dakashijianStart);

               if(dakashijianEnd!=null) ew.le("dakashijian", dakashijianEnd);

    PageUtils page = qiantuidakaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qiantuidaka), params), params));

       return R.ok().put("data", page);

   }

5.2.4请假审核

员工发起请假后,需要部门经理对其请假信息进行审核,部门经理审核通过后,员工完成请假操作。请假审核的列表如图5-12所示。

5.3 HR功能模块

5.3.1考勤记录查看

HR可以通过考勤记录查看查看全部员工的考勤信息,并可以通过员工出勤统计,使用柱状图的形式查看全部员工的出勤信息。考勤记录查看如图5-13所示,统计如图5-14所示。

5.3.2签到打卡管理

HR可以使用签到打卡管理查看系统内部员工的签到打卡信息,并且打卡信息进行审核,同时可以使用签到打卡状态统计查看每一个员工的签到信息。如图5-15所示。

5.3.3签退打卡管理

HR可以使用签退打卡管理查看系统内部员工的签退打卡信息,并且打卡信息进行审核,同时可以使用签退打卡状态统计查看每一个员工的签退信息。如图5-16所示。

5.3.4绩效信息管理

HR可以使用绩效信息管理查看全部员工的绩效信息,可以查看每一个员工的绩效分数,详情如图5-17所示。

5.4财务人员功能模块

5.4.1绩效查看

财务人员可以查看每一个员工的绩效信息,可以使用员工姓名以及员工工号进行查找,通过统计绩效信息,为每一个员工计算薪资。绩效查看如图5-18所示。

5.4.2请假查看

财务人员可以查看每一个员工的请假信息,可以使用员工姓名以及员工工号进行查找,通过统计请假信息,为每一个员工计算薪资。请假查看如图5-19所示。

5.4.3薪资信息管理

财务人员可以使用薪资信息管理为每一员工计算薪资,当员工薪资出问题时,可以使用此功能进行核实以及后续的修改操作。薪资信息管理如图5-20所示。

5.5管理员功能模块

5.5.1数据统计

管理员进入系统后,可以使用数据统计查看当前系统内部的全部统计信息。通过使用此功能可以快速的了解当前系统内部的业务数据的详细信息。数据统计如图5-21所示。

5.5.2用户管理

用户管理作为系统内部的基础数据,管理员拥有对用户数据进行维护的权限。无论是系统注册用户还是管理员新增的用户,当管理员点击用户管理后,系统会进入到用户管理页面,展示全部用户信息,如图5-22所示。

5.5.3部门管理

部门管理作为系统内部的基础数据,管理员拥有对部门数据进行维护的权限。管理员点击部门管理,系统会显示全部部门信息,管理员可以根据实际需求进行编辑、新增、删除部门信息。部门管理如图5-23所示。

5.5.4岗位管理

岗位管理作为系统内部的基础数据,管理员拥有对岗位数据进行维护的权限。管理员点击岗位管理,系统会显示全部岗位信息,管理员可以根据实际需求进行编辑、新增、删除岗位信息。岗位管理如图5-23所示。

第6章 系统测试

6.1 测试意义

测试是确保系统质量的至关重要的步骤。通过详尽的测试流程,我们能够迅速识别系统内的各类缺陷与漏洞,包括功能异常、界面显示错误、数据处理失误等问题[16]。在功能测试环节,重点检查监测点信息浏览、水质变化操作、色度变化与监测数据等关键功能的运行状况,确保用户能够顺畅地完成从管理员录入数据到员工查看整个过程。界面测试则专注于系统的易用性和美观度,目的是在为用户提供出色的视觉体验和便捷的交互操作。只有经过严格的测试并修复了这些问题,我们才能向用户提供一个稳定、可靠、易用的水质检测系统,从而显著提升用户的使用体验,并增强用户对系统的信任和满意度。

6.2 功能测试用例与分析

6.2.1登录测试用例

登录功能作为系统的入口,需要大量的测试保证登录功能的稳定,通过设计登录功能测试用例,对系统的登录接口进行反复测验,验证预期结果以及实际结果是否一致。登录测试用例如表6-1所示。

表6-1 登录的测试用例和测试结果表

测试用例编号

测试项目

测试步骤

 预期结果

1

正确用户名和密码登录

打开用户登录页面

输入正确用户名、密码

点击登录按钮

登录成功,进入首页

2

错误用户名登录

打开登录页面

输入不存在的用户名

输入正确密码

点击登录按钮

登录失败,提示用户名不存在

3

错误密码登录

打开登录页面

输入正确用户名

输入错误密码

点击登录按钮

登录失败,提示密码错误

4

用户名和密码都错误登录

打开登录页面

输入错误用户名密码

点击登录

登录失败,提示用户名密码错误

6.2.2签到功能测试

为了确保员工签到以及登记功能可以正常使用,在测试过程中,对用户签到以及登记进行了完整的测试,测试过程如表6-2所示。

表6-2员工签到测试用例和测试结果表

测试用例编号

测试项目

测试步骤

 预期结果

1

未登录的用户进行签到

用户进入到系统,点击签到

未登录,签到失败

2

登录的用户进行签到

用户登录

用户进入到系统,点击签到

签到成功

3

未登录的用户进行登记

用户进入到系统,点击登记

未登录,登记失败

4

登录的用户进行登记

用户登录

用户进入到系统,点击登记

登记成功

6.2.3绩效管理测试

为了保证绩效管理功能的正常使用,在测试过程中,对绩效管理功能进行了完整的功能测试,保证了绩效管理功能的稳定。绩效管理测试表如表6-3所示。

表6-3 绩效管理测试表

测试用例编号

测试项目

测试步骤

 预期结果

1

部门经理分配绩效

访问系统,填写绩效信息

分配给员工

分配绩效成功

2

员工查看绩效信息

访问系统,进行绩效管理

查看绩效

正常显示绩效信息

3

员工自评绩效

使用绩效审核,填写自评信息

自评成功

4

部门经理审核绩效

使用绩效审核,查看员工自评信息

填写审核信息

审核完成

6.2.4薪资管理测试

为了保证员工薪资的正确,在测试过程中,对薪资管理功能进行了详细的测试,测试过程如表6-4所示。

表6-4 薪资管理测试表

测试用例编号

测试项目

测试步骤

 预期结果

1

财务管理员新增薪资

财务管理员进入系统

填写薪资信息

新增薪资成功

2

财务管理员修改薪资

财务管理员进入系统

修改薪资信息

修改薪资成功

3

员工查看薪资

员工进入信息

查看薪资信息

显示薪资信息

6.3 性能测试

模拟多个用户同时访问系统,测试系统在高并发情况下的响应时间、吞吐量和资源利用率。逐渐增加并发用户数,观察系统是否出现卡顿、崩溃等现象,确定系统能够承受的最大并发用户数。

持续增加系统的负载,如长时间保持高并发访问,测试系统在长时间高负载运行下的稳定性。检查系统是否会出现内存泄漏、数据库连接异常等问题,确保系统能够满足实际业务的长时间运行需求。

在超出系统预期负载的情况下进行测试,评估系统在极端情况下的表现。例如,瞬间大幅增加并发用户数,测试系统的容错能力和恢复能力,确定系统的性能瓶颈和崩溃点。

6.4测试结论

综合本次测试的各个方面,系统在功能、性能、兼容性和安全性等方面均达到了预期的要求。系统功能完整、操作流畅,能够满足用户的各种业务需求;在高并发场景下具有较好的性能表现,能够稳定运行;具备良好的兼容性,支持多种浏览器和设备;同时,系统在安全性方面也有可靠的保障,能够有效保护用户数据和系统安全。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值