版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容摘要人事管理是企业管理中不可或缺的一部分,对于维护企业的稳定运行和合理管理员工起着至关重要的作用。本文基于SpringBoot和Vue2框架,已经设计并成功开发了一个功能强大的人事管理系统。。主要功能包括人事在线通信、员工资料管理、人事信息管理、薪资调整和分配、统计分析管理以及系统设置管理。这个系统具有员工信息的修改功能,方便储存、呈现和解读人事数据。此外,它也支持工资账目的处理以及系统配置,并且拥有实时的网络通讯等特性。这篇文章深入探讨了人力资源管理系统的需求评估、系统规划、系统执行以及系统检验等各个环节,并着重解释了系统结构、前端与后端的开发以及数据库的设计等关键的技术要素。实验结果表明,该系统稳定性高且性能优越,能够满足企业人事管理的基本需求。本研究成果对于企业的人事管理和信息化建设具有重要的参考价值。关键词:人事管理;MVVM;SpringBoot;Vue.js;ABSTRACTTheessentialityofpersonnelmanagementinenterprisemanagementisundeniable,playingacriticalpartinsustainingthesteadyfunctioningofbusinessesandmanagingpersonnelequitably.BasedonSpringBootandVue2framework,thispaperdesignsandimplementsapersonnelmanagementsystemwithrichfunctions.Personnelonlinecommunication,employeedatamanagement,personnelinformationmanagement,salaryadjustmentanddistribution,statisticalanalysismanagement,andsystemsettingmanagementaretheprimaryfunctions.Thesystemprovideseditingfunctionofemployeeinformation,whichisconvenienttostore,displayandanalyzepersonnelinformation.Atthesametime,supportforpayrollledgerprocessingandsystemSettings,butalsowithpoint-to-pointonlinemessagetransmissionandotherfunctions.Thispaperintroducestherequirementsanalysis,systemdesign,systemimplementationandsystemtestingofthepersonnelmanagementsystemindetail,focusingonthetechnicaldetailsofthesystemarchitecture,frontandbackenddevelopmentanddatabasedesign.Theexperimentalresultsshowthatthesystemhashighstabilityandexcellentperformance,andcanmeetthebasicneedsofenterprisepersonnelmanagement.Theresearchresultshaveimportantreferencevalueforenterprisepersonnelmanagementandinformationconstruction.Keywords:personnelmanagement;MVVM;SpringBoot;Vue.js;第3章系统设计3.1系统总体结构设计在人事管理系统中,采用MVVM开发模式可以提供更好的用户体验和交互性。Vue.js被用于MVVM的前端,它能够执行数据的双向绑定、组件化的开发以及响应性的UI更新。而SpringBoot的后端则能够提供高效的后台服务和数据处理功能。采用前后端独立的设计方法和MVVM开发方法,能够达到前端与后端的分离,从而让开发团队能够同步进行前后端的编写和保养。同时,MVVM的数据绑定和响应式特性可以简化前端开发,提高开发效率。SC图是一种主要用于描述数据流设计方法的工具,它能够揭示软件的构成部分以及其调用关系。下面将用SC图更详细明确地描述本系统的组成模块及其调用关系,以更好地协助完成系统的设计。本系统SC图如图3.1所示。图3.1系统SC图以下是对系统用户基础业务的流程图描述:(1)超级管理员的基本业务流程如图3.2所示:图3.2超级管理员的基本业务流程图(2)普通管理员的基本业务流程如图3.3所示:图3.3普通管理员的业务流程图普通用户的基本业务流程如图3.4所示:图3.4普通用户的基本业务流程图3.2模块设计说明人事管理系统根据业务需求和系统功能可以划分为以下几个模块:(1)员工资料模块员工资料的模块功能图如图3.5所示。图3.5员工资料模块功能图(2)人事管理模块人事管理模块有员工调动、员工考评、员工培训和员工奖罚。即员工职位的升职降职、退休辞职等调动都有相应标记和统计。员工也可以给某位工作认真负责的员工或管理员好评。对于新入职的员工应有相应的工作培训。对员工的工作进程、全勤、缺勤等进行奖惩,如图3.6所示。图3.6人事管理模块功能图(3)工资管理模块工资管理模块有工资表管理和工资账套管理。工资表管理是对员工工资条的管理。公司计算和发放员工工资使用工资账套,如图3.7所示。图3.7工资管理模块功能图(4)统计管理模块统计管理模块有员工积分统计、人事信息统计和调动记录统计。员工工作表现、项目表现都会给予相应积分,积分高可获得年终奖。对于员工的基本信息、职位信息都有相应统计。员工的职位调动做相应标记,记录统计,如图3.8所示。图3.8统计管理模块功能图(5)系统管理模块系统管理模块有基础信息设置、系统管理、日志管理和管理员管理。基础的信息设置主要由统计公司所需要的信息为主。系统、日志管理由后端人员管理,管理员有一定的权限管理系统。3.3系统功能模块设计本系统功能模块图如图3.9所示。图3.9系统功能模块图3.4数据库设计3.4.1概念设计在概念设计阶段,通过使用E-R模型和E-R图,可以从概念上捕捉和表示用户需求,建立起数据库的基本框架。这个阶段的设计着重于数据库的逻辑结构和功能,而不涉及具体的物理存储和实现细节。根据以上对工资管理系统的需求分析,抽象出逻辑模型,建立E-R模型图。图3.10三要素系统实体部分ER图如图3.11-3.14所示。图3.11员工实体属性图图3.12员工奖惩实体属性图图3.13操作日志实体属性图图3.14操作员实体属性图(4)人事管理系统的全局E-R图如图3.15所示。图3.15人事管理系统的全局E-R图3.3物理数据模型设计表1appraise表列名数值类型是否为空备注idint(11)NOTNULL主键ideidint(11)NULL编号appDatedateNULL考评日期appResultvarchar(255)NULL考评结果appContentvarchar(255)NULL考评内容remarkvarchar(255)NULL备注表2employeeec表列名数值类型是否为空备注idint(11)NOTNULL主键ideidint(11)NULL员工编号ecDatedateNULL奖罚日期ecReasonvarchar(255)NULL奖罚原因ecPointint(11)NULL奖罚分ecTypeint(11)NULL奖罚类别remarkvarchar(255)NULL备注表3salary工资表列名数值类型是否为空备注idint(11)NOTNULL主键idbasicSalaryint(11)NULL基本工资bonusint(11)NULL奖金lunchSalaryint(11)NULL午餐补助trafficSalaryint(11)NULL交通补助allSalaryint(11)NULL应发工资pensionBaseint(11)NULL养老金基数pensionPerfloatNULL养老金比率createDatetimestampNULL启用时间medicalBaseint(11)NULL医疗基数medicalPerfloatNULL医疗保险比率accumulationFundBaseint(11)NULL公积金基数accumulationFundPerfloatNULL公积金比率namevarchar(255)NULL名称表4employee表列名数值类型是否为空备注idint(11)NOTNULL员工编号namevarchar(10)NULL员工姓名genderchar(4)NULL性别birthdaydateNULL出生日期idCardchar(18)NULL身份证号wedlockenum('已婚','未婚','离异')NULL婚姻状况nationIdint(8)NULL民族nativePlacevarchar(20)NULL籍贯politicIdint(8)NULL政治面貌emailvarchar(20)NULL邮箱phonevarchar(11)NULL电话号码addressvarchar(64)NULL联系地址departmentIdint(11)NULL所属部门jobLevelIdint(11)NULL职称IDposIdint(11)NULL职位IDengageFormvarchar(8)NULL聘用形式tiptopDegreeenum('博士','硕士……NULL最高学历specialtyvarchar(32)NULL所属专业schoolvarchar(32)NULL毕业院校beginDatedateNULL入职日期workStateenum('在职','离职')NULL在职状态workIDchar(8)NULL工号contractTermdoubleNULL合同期限conversionTimedateNULL转正日期notWorkDatedateNULL离职日期beginContractdateNULL合同起始日期endContractdateNULL合同终止日期workAgeint(11)NULL工龄表5oplog表列名数值类型是否为空备注idint(11)NOTNULL主键idaddDatedateNULL添加日期operatevarchar(255)NULL操作内容hridint(11)NULL操作员ID
第4章系统实现用户登录的授权流程图如图4.1所示。图4.1SpringSecurity授权流程图4.1系统模块设计说明4.1.1登录模块(1)功能①功能类型:登录管理;②功能描述:提高系统的安全性,只有在满足用户名、密码、验证码的多重验证下才可登录进入系统;③功能约束:具有权限约束,不同的角色拥有不同的权限;④约束描述:在登录页面上,用户需要选定自己的身份,然后输入账号密码以确认其是否已经成功登录。只有当这个账号密码已经在数据库里并且完全匹配时,才会跳转到相应的页面。(2)输入项:用户名、登录密码、验证码。(3)输出项:如果输入的账户名和密码与现有的数据库一致,就会自动切换到欢迎页面。如果账户名和密码的设置错误,系统会发出错误提示,并要求再次输入。(4)流程图登录模块程序流程逻辑如图4.2所示。图4.2登录模块流程图4.1.2员工信息管理模块(1)功能①功能类型:职工信息管理;②功能描述:对员工的各种信息进行添加、修改和删除,如:员工号、所属部门、姓名、职位、性别、联系方式、年龄等。③功能约束:权限约束;④约束描述:只有管理员才可进入该系统模块,进行员工信息的相关操作。(2)输入项选择操作(3)输出项对员工进行相关操作,失败则给出相应失败提示。(4)流程图员工信息管理模块程序流程逻辑如图4.3所示。图4.3员工信息管理流程图4.1.3人事管理模块(1)功能①功能类型:人事信息管理;②功能描述:对员工的各类资料进行增补、更新和移除,例如:人员调配、人员评估、人员培训以及人员奖惩等。③功能约束:权限约束;④约束描述:只有管理员才可进入该系统模块,进行员工信息的相关操作。(2)输入项选择操作(3)输出项对员工进行相关操作,失败则给出相应失败提示。(4)流程图员工信息管理模块程序流程逻辑如图4.4所示。图4.4人事管理模块功能图4.1.4薪资管理模块工资管理模块有工资表管理和工资账套管理。工资表管理是对员工工资条的管理。公司计算和发放员工工资使用工资账套,如图4.5所示。图4.5工资管理模块功能图4.2接口设计(1)用户接口用户接口分为员工接口和管理员接口。员工接口主要用于员工查看自己的信息和工资单,管理员接口则用于管理员工信息和职务调动管理和统计分析报表。(2)内部接口内部接口分为员工管理模块、部门管理模块、员工工资管理模块和系统设置模块。4.3主页 人事管理系统的主页如图4.6所示。图4.6系统主页4.4在线聊天使用Spring框架提供的WebSocket的STOMP(SimpleTextOrientedMessagingProtocol)支持。STOMP是一个简单的可互操作的协议,通常用于在客户端之间通过中间服务器进行异步消息传递。Spring框架提供了对STOMP协议的支持,可以方便地处理WebSocket通信和消息传递的逻辑。利用WebSocket作为前端,能够完成全双向的交流,而利用Spring框架所提供的STOMP,我们则有能力执行网络聊天的点对点交流。将WebSocket与前后端相互链接,并采取特定的协议来实施即时的数据交换,从而满足了即时交流的要求。在线聊天页面如图4.7所示。图4.7在线聊天4.5员工资料4.5.1基本资料 员工基本资料页面如图4.8所示。图4.8基本资料4.6人事管理4.6.1员工奖惩. 在人力资源管理系统的奖惩部分,通过使用交互式框架和tab标签的界面设计,可以带来优秀的用户体验,允许管理员方便地添加、编辑、查询和查看员工的奖惩信息。同时,逻辑处理上要确保员工实体和奖惩信息之间的一对多关系的正确性和完整性。员工奖惩管理页面如图4.9所示。图4.9员工奖惩管理4.6.2员工好评管理员可以方便地进行员工好评的管理。他们可以添加、编辑、删除评价信息,并根据需要查询员工的评价记录。结合评分条和步骤条的UI设计能够提供直观和友好的用户体验,同时支持批量添加评价的功能可以提高工作效率。在逻辑处理上,确保员工与评价之间的一对一关系的准确性和完整性。4.6.3员工调动员工调动模块即对员工调用的增删改查的实现。员工调动页面如图4.10所示。图4.10员工调动4.7工资管理4.7.1工资账套管理资账套管理主要对员工奖金,基本工资,提成等各项的增刪改查.设置当前套账信息.4.7.2员工账套设置根据公司账套查看相应的员工的工资信息,实现员工套账的增删功能。4.7.3工资表管理员工工资管理页面如图4.11所示。图4.11员工工资管理4.8统计管理 统计管理模块可以提供丰富的数据分析和统计功能,通过图表展示直观地呈现统计结果。结合Java8的StreamAPI和数据库端聚合函数,可以高效地进行数据处理和统计计算。同时,定时任务保证了数据的动态展示和更新,使管理员能够及时获取最新的统计结果。4.8.1员工积分统计 依据职务编号来获取员工的得分状态。通过条形图展示当前得分员工的得分分布。得分的数值是由员工的奖励和处罚决定的。4.8.2人事信息统计 人事信息统计主要对员工人数信息进行的分析统计,以高校、职称、职位、党派、民族、学历、部门为维度的人员分布图,用于人事统计。4.8.3人事记录统计 人事统计页面如图4.12所示。图4.12人事记录统计 部分代码:publicList<DataModel>dataViewschool(){
List<Employee>employeeList=employeeMapper.selectByPrimaryKey();
Map<String,Integer>map=newHashMap<>();
List<DataModel>dataModels=newArrayList<>();
employeeList.stream().forEach(o->{publicList<DataModel>dataViewschool(){
List<Employee>employeeList=employeeMapper.selectByPrimaryKey();
Map<String,Integer>map=newHashMap<>();
List<DataModel>dataModels=newArrayList<>();
employeeList.stream().forEach(o->{
if(!map.containsKey(o.getSchool())){
map.put(o.getSchool(),1);
}else{
map.put(o.getSchool(),map.get(o.getSchool())+1);
}
});
map.forEach((o1,o2)->{dataModels.add(newDataModel(o1,o2));
});
returndataModels;
}
publicList<DataModelT>dataViewWorkAge(){
List<DataModelT>dataModelTS=newArrayList<>();
dataViewPosition().stream().forEach(o->{
dataModelTS.add(newDataModelT(o.getSum(),o.getName()));
});
List<EmployeeRecycle>employeeRecycleList=employeeRecycleService.getAllEmployeeRecycle();
employeeRecycleService.dataViewPosition().stream()
.forEach(o->{dataModelTS.stream()
.filter(o1->o.getName().equals(o1.getName()))
.forEach(o1->{
o1.setDimission(o.getSum());
o1.setSum(o.getWorkage());
o1.setaDouble((double)Math.round((o.getSum()/newDouble(employeeRecycleList.size()))*100)/100);
});
});
returndataModelTS;
}通过调用employeeMapper.selectByPrimaryKey()方法获取一个List<Employee>,表示员工列表。然后,创建一个Map<String,Integer>对象,用于统计员工数量。接下来,遍历员工列表,对每个员工进行计数。创建一个空的dataModelTS列表,用于存储结果数据。然后,调用dataViewPosition()方法,获取一个List<DataModel>,表示职位列表。对于每个职位,创建一个DataModelT对象,并将其添加到dataModelTS列表中。接着,获取所有员工回收的数据,存储在employeeRecycleList列表中。对于每个职位,遍历dataModelTS列表,并找到与当前职位名称相匹配的DataModelT对象。对于匹配的对象,设置它的dimission属性为当前职位的sum,将sum属性设置为当前职位的workage,并计算一个aDouble属性的值。最后,返回填充完整的dataModelTS列表。4.9.1基础信设置主要负责对系统进行设定、进行管理人员的操控以及进行授权的工作是由系统管理模块完成的。其中包括基础信息设置,部门管理以多叉树展示并支持添加和删除操作,职位管理用于展示和查询职位信息,奖惩规则管理包括奖惩类型的添加、删除和编辑。用户权限管理如图4.13所示。图4.13用户权限管理4.9.2系统管理公告编辑页面如图4.14所示。图4.14公告编辑4.9.3操作日志管理管理操作日志的核心目标是详细记载员工的职务行为,这样可以方便未来的数据搜寻。在功能方面,它可以根据日志的种类和时间段进行日志的查找。4.9.4操作员管理基本信息展示:管理员可以查看操作员的基本信息,包括用户名、姓名、角色等。增删改功能:进行操作员的添加、删除和编辑操作。添加操作员时需要填写必要的基本信息,如用户名、密码等。角色权限设置:权限的更改可以通过互相授予的方式来实现,也就是说,登录用户无法自行为自己设定权限,只能通过其他用户来设定权限。关于是否启用的调整:管理员有权更改操作员的启动状态,也就是说,可以启动或者关闭操作员账号。删除管理员的操作:管理员可以删除其他管理员的账号。这需要管理员具备足够的权限才能执行该操作。通过使用卡片组件和弹性布局,可以使操作员管理界面具有良好的视觉效果和用户体验。同时,通过权限设置和启用状态的修改,可以灵活管理操作员的权限和账号状态,以满足系统安全和管理需求。操作员管理页面如图4.15所示。图4.15操作员管理
第5章系统测试5.1功能测试功能测试主要是基于黑盒测试的方法,通过利用Postman等第三方工具,以及前端界面,对每个模块的核心操作进行了实际的性能检验。表6系统功能测试表功能测试员工基本信息管理测试目的操作是否得到响应测试内容操作描述数据期望结果实际结果测试状态删除员工单机删除按钮--员工列消失,数据数据库没有数据员工列消失,数据库没有数据与预期结果相同修改员工信息单机员工列修改按钮,输入修改数据姓名:小明106改为:小明107员工列数据变成小明107员工列数据变成小明107与预期结果相同搜索员工信息输入员工信息,单机搜索搜索框输入:小明107小明107列显示小明107列显示与预期结果相同添加员工单机添加,输入数据小明108…..小明108列显示小明108列显示与预期结果相同5.2测试结论在创新阶段,常规的步骤包括首先制定界面,随后创建接口,利用Postman来验证接口的准确性,当JSON数据无误时,再创建前端逻辑。最终,完成数据的验证。SpringBoot项目内部融合了JUnit框架,为测试工作提供了优秀的工具,能够迅速创建测试样本,同时也利用断言策略来验证功能逻辑的准确度。即便已经设定了全局异常处理器,在测试阶段也不能直接设定父类异常,因为如果直接设定父类异常,SpringBoot会立即处理异常并返回空白页,这对于异常的追溯和定位是不利的。改进方式:1、在编写业务逻辑代码时,针对可能出现的异常情况,使用try-catch块来捕获和处理异常,可以根据具体情况选择合适的异常类型进行捕获。2、当发现异常情况时,我们能够依据异常的种类做出适当的应对措施,比如记录下来、返回特定的错误数据。3、在处理异常时,尽量提供有用的错误信息,以便于开发人员或终端用户能够准确理解并解决问题。
结论在进行课程设计的过程中,我深刻认识到了人力资源的重要性,并意识到了通过合理的管理和使用人力资源可以为企业带来巨大的价值。在这个课程设计中,我首先从用户的角度出发,考虑了人事管理系统应该具备的功能,例如员工管理、招聘管理、培训管理、绩效管理、离职管理等。通过对各个功能的深入了解和分析,我逐渐形成了系统设计的框架和思路。接着,我开始进行系统设计和实现。在此阶段,我注意到系统架构和数据库设计是实现系统所必须具备的基础,因此我重点关注了数据表结构、信息流转和安全性等问题。在实践过程中,我深刻认识到了软件开发的复杂性。在设计人事管理系统时,需要考虑到企业的具体情况和需求,包括组织结构、职位等级以及薪酬构成等,这也使得开发和实现系统所需要的时间变得更长。在执行课程规划的过程中,我积累了许多珍贵的知识,比如如何进行需求分析、如何进行系统的构建与执行、以及如何进行系统的检查与安装等。通过这些实践经验,我了解到软件开发的至关重要性,尤其对于人事管理这种关键业务领域,软件系统设计和实现的开发成本和质
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年新课标II卷高考地理水循环与洋流押题卷含解析
- 天虹公域投流优化
- 金属文物修复师安全理论考核试卷含答案
- 铁合金电炉冶炼工岗前基础培训考核试卷含答案
- 混凝土工安全技能能力考核试卷含答案
- 制粉工岗前保密考核试卷含答案
- 就业指导开放日活动
- 2026年高职(水土保持技术)水土保持方案编制综合测试题及答案
- 就业指导课程教学标准
- 2026年商场智能仓储管理系统合同协议
- 肺穿刺应急预案(3篇)
- 焊工培训考试题及答案
- 2025年成都市中考地理试题卷(含答案)
- 数学-广东省广州市2025届高三一模试题和解析
- 《西方经济学》讲义杨上卿制作
- 招标代理机构遴选投标方案(技术标)
- NB-T42011-2013往复式内燃燃气发电机组气体燃料分类、组分及处理技术要求
- NB-T+10488-2021水电工程砂石加工系统设计规范
- 人工授精课件
- MOOC 创业基础-暨南大学 中国大学慕课答案
- 中考必备1600个词汇核心
评论
0/150
提交评论