基于Android的微企业人才管理系统的设计与实现_第1页
基于Android的微企业人才管理系统的设计与实现_第2页
基于Android的微企业人才管理系统的设计与实现_第3页
基于Android的微企业人才管理系统的设计与实现_第4页
基于Android的微企业人才管理系统的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[4]文章中提到在云计算、大数据技术日益成熟的背景下,大量的基于Web的人力资源管理系统应运而生,其区别于传统人力资源管理系统的是仅需为其支付一定的使用费,因为该系统是在ECS上运行的,所以使用者不管什么时候,什么地方,只需要打开浏览器,输入自己的帐号、密码就可以进入该系统。这个观点提高了工作效率和节省了一些不必要的支出并使时间得到了充分的利用。1.3主要研究内容为了方便企业对人才进行管理,最大限度的实现人才共享与优化人才管理,提高工作效率,本文利用Android技术结合后端SpringBoot技术,采用Java语言,使用MySQL数据库,设计一个微企业人才管理系统,该系统可以实现员工管理、招聘管理、培训管理、考核管理、考勤管理等功能。其中,应完成的主要工作有:(1)介绍微企业人才管理系统的研究背景和意义,并对国内外已有的微企业人才管理系统进行分析和对比,确定技术路线和研究内容。(2)对系统用到的技术和开发平台进行阐述,并对系统进行需求分析。(3)根据需求分析确定系统的总体架构、功能模块以及数据库的总体设计。(4)根据对系统的总体设计,编写代码并实现系统的各个功能模块。(5)选择合适的测试方法对系统进行测试。第2章关键技术及开发平台简介2.1AndroidStudio应用平台本系统是使用AndroidStudio应用平台对程序进行开发。这种方式的最大优点在于,既能很好地解决使用权限的问题,又能方便地在其它环境下开发和修改可移植的软件。Android的开发环境中还包括了几个C++类库,在编程的时候可以直接使用,这样就可以大大缩短编程时间。在这个系统中,每一个构件都可以很好地被这个系统的平台所调用,并且也可以很好地被该系统的各个构件所使用。2.2SpringBoot在整个系统的设计中,后台界面以SpringBoot为主,SpringBoot技术为系统的设计和实现奠定了夯实的实践基础;而Tomcat服务器是嵌入式的,不需要配置,可以直接使用;本文中使用的MVC开发架构,用于界面的开发。在本系统中的求职人员信息功能中获取的求职人员信息是通过后端传过来的数据,通过SpringBoot中的MyBatis的xml中的相关语法规则,进行SQL语句的书写,从而进行数据的传输。因此从这里可以看出SpringBoot与其他框架兼容性是非常强的。2.3MySQL该系统的数据存储在MySQL数据库中。MySQL数据库是目前常用的数据库,它可以存储数万条信息,这表明MySQL的存储容量相当大。它具有很强的灵活性,可以提高开发效率,使用起来更快、更方便,同时MySQL数据库有自己的图形界面,所以对于使用MySQL的人员来说体验感是非常好的。2.4MyBatisMyBatis技术是针对持久层的一种优秀的框架,MyBatis通过XML文件来构建一个SQlSession工厂实例,通过SqlSessionFactory构建的实例简单易用,通过MyBatis里面的一个Resources的工具类,它里面封装了一些方法,使得其能够简单快捷的加载类文件。MyBatis最大的特点之一是动态语句功能,我们在进行编写代码的时候,会产生许多问题,比如多一个空格或者是少一个空格,还要注意的是去掉列表中最后一个列名的逗号,也会产生问题,但是当你如果你使用了动态SQL,你就会远离这些规则。第3章系统分析3.1可行性分析3.1.1技术可行性从这一层面出发,本次开发是基于Android的微企业人才管理系统,它是将Android技术与后端SpringBoot技术相结合,采用Java语言,并使用MySQL数据库来对数据进行存储和管理。它们都是当前较好的技术,并且已经在多个项目中得到证明是成熟可靠的,同时,我在大学里进行了相关的学习,运用这些技术也比较熟练的,所以对我来说是没有什么难度的。因此,本次开发在技术上是可行的。3.1.2经济可行性根据相关的论文文献,可以知道系统开发过程中需要的硬件和软件可以很好获取的,并且在开发中用到的硬件和软件都是免费的,因此整个项目需要的成本并不高。此系统在设计完成之后,将会吸引众多的企业前来投资,其使用前景较为广阔,经济价值也比较高,因此该设计有利于公司的发展和对人才的培养,还可以提高工作效率。因此,它是低投入高回报的系统,所以我认为微企业人才管理系统在经济上是可行的。3.1.3操作可行性该系统遵循用户界面简洁、清晰、直接的原则,操作简便,输入部门时都是以下拉框的方式进行选择;在一些界面上,该软件不需要人工输入就能产生数据,如在录入时间时,采用日程表控件;它对用户的要求很少,只要对计算机有一定的了解即可。此外,该系统的能见度也很好,所以,对于使用者来说,操作起来也不会有太大的困难。因此,我认为在操作上是可行的。3.1.4法律可行性本系统是根据基于Android的微企业人才管理系统的实际情况设计的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,并且在开发过程中使用的技术资料都是合法获得的,不会出现侵犯他人知识产权的情况。因此我认为在法律上是可行的。3.2需求分析3.2.1功能需求分析该系统可以为员工和管理员提供服务。对于员工可以进行登录,还可以浏览企业新闻,查看每个部门的员工信息和招聘信息,选择培训内容,根据培训内容选择相应的试卷,完成考试。考试完成后,可以查看自己的考试成绩。上下班可以进行打卡,同时还可以查看自己薪资。管理员可以添加一些企业新闻,例如奖惩信息、招聘信息以及企业文化等等;还可以在人才市场选择该公司所需要的人才,把他的信息添加到员工档案里面;招聘的这些人才要对他们进行培训,就需要培训管理,添加培训内容、标题、开始和结束时间和日期,培训完成需要进行考核,管理员可以添加试卷名称、题目,设置每道题的得分情况。还可以查看员工的考勤信息,设置和发布员工薪资。其用户和管理员用例图如图3.1、3.2所示:图3.1员工用例图图3.2管理员用例图3.2.2非功能需求分析非功能性需求分析,是系统为了满足公司可以正常运转,并且还要具有除了功能性要求之外的其他特性。这些特性会直接影响系统能否持久、稳定而有效的运行和普及。接下来将从以下四个方面进行论述。(1)性能需求:在后端主要使用SpringBoot技术来完成数据的增删改查。在前端主要使用Android技术来完成网页的创建和修改工作,之后再将数据呈现到网页上。这样就可以确保数据和网页之间的耦合度被降低,并且对前端网页的修改不会对数据的传输造成任何影响。这样用户在使用同样的App时,就会有不同的数据体验。(2)安全:保密性、可靠性和完整性。(3)可维护与扩展:模块化、可重复使用、容易分析。(4)可靠性:弹性好、容错性好和成熟度高。3.3系统流程分析3.3.1考勤业务流程用户可以进行上下班打卡,首先进入考勤界面,点击上班打卡,若出现打卡成功的字样,说明上班打卡成功,若打卡未成功,则需要重新打卡;下班时,点击进入考勤界面,点击下班打卡,若出现打卡完成,则说明上下班打卡成功,此时打卡结束。如图3.3所示:图3.3考勤业务流程图3.3.2考核业务流程用户在参加考试时,首先要进入考核界面,选择试卷进行答题,若当前题目已经答完,点击下一题,若上一题需要重新作答,则需要点击上一题,进行作答;若试卷所有试题已经作答完成,点击提交即可。其流程图如图3.4所示:图3.4考核业务流程图3.3.3登录流程无论是用户,还是管理人员,都需要在登录之前,先将自己的帐号和密码输入进去,然后点击“登录”按钮,若用户名和密码有误,需要重新输入。若用户名和密码正确,会进入系统首页。其流程图如图3.5所示:图3.5登录流程图3.3.4信息添加流程管理员进行添加培训内容、考试内容、员工信息、企业新闻、招聘信息等。首先要输入数据,系统会判断是否合理,合理的话就会添加成功,这些信息会进入数据库,由数据库进行保存。如果添加失败,需要不断地添加,直至添加成功。其流程图如图3.6所示:图3.6信息添加流程图3.3.5信息删除流程管理员进行删除培训内容、考试内容、员工信息、企业新闻、招聘信息等。管理员如果认为某条数据信息没用的话,可以删除数据信息。首先,要选择想要删除的信息,判断是否要删除该条信息,如果是否,就要重新选择想要删除的信息;如果是,就可以直接删除。在更新资料库,若资料库中不存在这条信息,表示已完成删除。若资料库更新后,该条信息仍然在资料库中,表示移除未成功,要再次移除,直到数据库中没有该条数据信息。其流程图如图3.7所示:图3.7信息删除流程图3.3.6信息修改流程管理员可以对培训内容、考试内容、职工信息、公司新闻等信息进行修改。首先要选定自己想要修改的资料,然后进行修改数据信息,修改完成之后,更新资料库,若资料库中需要修改的数据信息发生改变,表示已修改完成。若数据库更新后,需要修改的数据信息未发生改变,表示修改未成功,要再次修改,直到数据库中的资料变更为止。其流程图如图3.8所示:图3.8信息修改流程图第4章系统设计4.1系统架构在系统功能分析的基础上,提出了一种基于层次分析法的软件体系结构,然后将其集成到一个较大的模块中,在保证各功能的完整的前提下,分别对各个功能做了详细的分析,最终实现了整体的设计。系统架构图如图4.1所示:图4.1系统架构图4.2系统总体设计通过对功能需求的分析,按照软件工程学中“高内聚”和“低耦合”的两个原则,使各系统间的独立性得到增强,并将系统分为不同的功能模块。系统功能模块如图4.2所示:图4.2系统功能结构图4.3数据库设计4.3.1概念结构设计概念结构设计指的是根据需求分析阶段形成的新系统需求分析说明书,把用户的信息需求抽象为信息结构即概念模型的过程。用E-R图来描述现实世界的概念模型。系统E-R图如图4.3所示:图4.3系统E-R图1.员工实体属性图,如图4.4所示:图4.4员工实体属性图2.求职人员实体属性图,如图4.5所示:图4.5求职人员实体属性图3.培训实体属性图,如图4.6所示:图4.6培训实体属性图4.考核管理包括试卷管理、试题管理、员工答题记录管理。其实体属性图,如图4.7至图4.9所示:图4.7试卷实体属性图图4.8试题实体属性图图4.9员工答题记录实体属性图5.招聘实体属性图,如图4.10所示:图4.10招聘实体属性图6.企业新闻实体属性图,如图4.11所示:图4.11企业新闻实体属性图7.考勤实体属性图,如图4.12所示:图4.12考勤实体属性图8.薪酬实体属性图,如图4.13所示:图4.13薪酬实体属性图4.3.2逻辑结构设计根据E-R图设计数据库表,其中包括员工信息表、求职人员信息表、培训信息表、考核信息表、考勤信息表、招聘信息表、企业新闻信息表、薪酬信息表,同时要建立表的结构和表之间的关系,最终的结果是可以有效提取数据库中存储的数据信息。1.将员工实体属性图转换为数据表,其表结构如表4.1所示:表4.1员工信息表字段名称数据类型允许空主键说明employee_idintNY员工idemployee_cardvarcharYN员工工号employee_departvarcharYN员工部门employee_addressvarcharYN员工家庭住址employee_jobvarcharYN员工求职岗位employee_namevarcharYN员工名称employee_xuelivarcharYN员工学历employee_gendervarcharYN员工性别employee_agevarcharYN员工年龄employee_detailvarcharYN员工简介employee_passwordvarcharYN员工密码employee_departvarcharYN员工部门2.将求职人员信息实体属性图转换为数据表,其表结构如表4.2所示:表4.2求职人员信息表字段名称数据类型允许空主键说明talentmarket_idintNY人才编号idtalentmarket_namevarcharYN人才姓名talentmarket_gendervarcharYN人才性别talentmarket_agevarcharYN人才年龄talentmarket_educatonvarcharYN人才学历talentmarket_jobvarcharYN应聘的职位3.将培训实体属性图转换为数据表,其表结构如表4.3所示:表4.3培训信息表字段名称数据类型允许空主键说明training_idintNY培训idtraining_contentvarcharYN培训内容training_titlevarcharYN培训标题release_timedatetimeYN发布日期stop_timedatetimeYN截止日期4.将招聘实体属性图转换为数据表,其表结构如表4.4所示:表4.4招聘信息表字段名称数据类型允许空主键说明zhao_idintNY招聘信息编号zhao_positionvarcharYN招聘的职位zhao_educationvarcharYN学历zhao_salaryintYN岗位薪资zhao_detailvarcharYN岗位的详细描述zhao_addressvarcharYN工作的地点zhao_weekvarcharYN上班周期5.将考核实体属性图转换为数据表,其表结构如表4.5所示:表4.5考核信息表字段名称数据类型允许空主键说明qidintNY题目idcontentvarcharYN题目内容optionAvarcharYN选项AoptionBvarcharYN选项BoptionCvarcharYN选项CoptionDvarcharYN选项DscoreintYN分数paper_idintNY试卷题目关联表idtest_namevarcharYN试卷名称e_test_idintNY员工答题记录ide_idintYN员工编号pidintYN试卷编号start_timedatetimeYN开始时间end_timedatetimeYN结束时间scorevarcharYN得分test_questionintNY试卷题目idpaper_idintYN试卷idqidintYN题目id6.将企业新闻信息实体属性图转换为数据表,其表结构如表4.6所示:表4.6企业新闻信息表字段名称数据类型允许空主键说明idintNY企业新闻编号newspapercharYN企业新闻内容typevarcharYN企业新闻类型7.将考勤实体属性图转换为数据表,其表结构如表4.7所示:表4.7考勤信息表字段名称数据类型允许空主键说明emcheck_idintNY考勤记录idemp_check_idintYN员工工号empcheck_uptimedatetimeYN上班时间emcheck_downtimedatetimeYN下班时间8.将薪酬信息实体属性图转换为数据表,其表结构如表4.8所示:表4.8薪酬信息表字段名称数据类型允许空主键说明emsalary_idintNY薪水idems_em_idintYN员工工号emsalary_baseintYN基本工资emsalary_rewardintYN奖金emsalary_butieintYN补贴emsalary_wuxianintYN五险一金第5章系统实现5.1员工管理5.1.1员工档案管理本模块主要是员工档案管理模块。管理员可以点击员工档案,可以在员工档案中查看到员工的基本信息,如图5.1所示。若员工信息有误,管理员可以对信息进行修改,如图5.2所示:图5.1员工信息查看界面图图5.2员工信息修改界面图员工可以查看自己所在的部门,如图5.3所示:图5.3员工部门查看界面图关键代码:publicclassEmployeeController{@AutowiredprivateEmployeeServiceemployeeService;@AutowiredprivateEmployeeMapperemployeeMapper;@ApiOperation("将人才表中的信息添加到员工表中")@PostMapping("/addEmployeeGetTalentMarket")publicResponseObjectaddEmployeeGetTalentMarket(@RequestBodyTalentmarkettalentmarket){employeeService.addEmployeeGetTalentMarket(talentmarket);returnResponseObject.success("添加进员工表成功");}@ApiOperation("查询员工表信息(无id查所有有id查单个)")@PostMapping("/queryEmployeeByEid")publicResponseObjectqueryEmployee(@RequestBodyEmployeeemployee){List<Employee>list=employeeService.queryEmployee(employee);returnResponseObject.success(list,"查询员工成功");}@ApiOperation("根据员工id修改员工信息")@PostMapping("/updateEmployeeByEid")publicResponseObjectupdateEmployeeByEid(@RequestBodyEmployeeemployee){intcount=employeeMapper.selectByCard(employee.getEmployeeCard(),employee.getEmployeeId());if(count==0){employeeService.updateEmployeeByEid(employee);returnResponseObject.success("修改员工信息成功");}returnResponseObject.fail("该工号已存在");}@ApiOperation("根据部门查询员工信息")@PostMapping("/selectEmployeeByDepartName")publicResponseObjectselectEmployeeByDepartName(StringdepartmentName){List<Employee>list=employeeService.selectEmployeeByName(departmentName);returnResponseObject.success(list,"查询成功");}5.1.2用户登录该模块主要是用户登录。用户登录时,需要在登录界面输入用户名和密码,输入正确才可以进入系统首页并且会显示登录成功的字样;若输入错误,系统会显示登录失败的字样。用户需要重新输入用户名和密码,然后进行登录。用户登录界面如图5.4所示:图5.4登录界面图关键代码:publicclassUserController{@AutowiredprivateAdminServiceadminService;@AutowiredprivateEmployeeMapperemployeeMapper;@AutowiredprivateEmployeeServiceemployeeService;@ResponseBody@GetMapping("/test")@ApiOperation("用户查询")publicList<Admin>test(){List<Admin>list=adminService.test();System.out.println(list.toString());returnlist;}@ResponseBody@PostMapping("/login")@ApiOperation("用户登录(新)")List<Employee>list=employeeService.selectByUsPa(em.getEmployeeCard(),em.getEmployeePassword());if(list.size()>0){returnResponseObject.success(list,"登录成功");}returnResponseObject.fail("用户名或者密码错误",500);}5.2求职人员信息管理该模块主要是求职人员信息管理。员工可以通过点击人才市场,在其中可以看到众多求职人员,如图5.5所示;下拉界面可以更新求职人员相关信息,鼠标右击其中一个求职人员会弹出弹框,员工可以选择是否录取该员工。如图5.6所示:图5.5求职人员信息界面图图5.6录用人员界面图关键代码:@ResponseBody@GetMapping("/getTalentList")publicList<Talentmarket>getTalentList(){WebCrawlerUtilwebCrawlerUtil=newWebCrawlerUtil();renCaiShiChangMapper.deleteTalentList();for(inti=0;i<10;i++){StringrandomName=webCrawlerUtil.getRandomName();StringxueLi=webCrawlerUtil.getXueLi();StringrandomAge=String.valueOf(WebCrawlerUtil.getRandomAge(18,50));Stringgender=webCrawlerUtil.getGender();Stringjob=webCrawlerUtil.getJob();renCaiShiChangMapper.insertRencaishichang(randomName,gender,randomAge,xueLi,job;}List<Talentmarket>talentList=renCaiShangChangService.getTalentList();returntalentList;}5.3培训管理该模块主要是培训管理,管理员可以添加培训内容,如图5.7所示;也可以删除培训内容,如图5.8所示:图5.7培训内容添加界面图图5.8培训内容删除界面图在培训列表中,员工可以选择想要查看的培训信息,在其中能够查看要进行的培训内容以及开始日期和截止日期。如图5.9所示:图5.9培训信息查看界面图关键代码:@ApiOperation("查询所有培训内容")@GetMapping("/getTraining")publicResponseObjectgetTraining(){List<Training>list=trainingService.list();returnResponseObject.success(list,"查询成功");}@ApiOperation("新增培训内容")@PostMapping("/addTraining")publicResponseObjectaddTraining(@RequestBodyTrainingtraining){trainingService.save(training);returnResponseObject.success("新增一条记录");}@ApiOperation("删除培训内容")@PostMapping("/deleteTrainingById")publicResponseObjectdeleteTrainingById(@RequestBodyTrainingtraining){trainingMapper.deleteById(training.getTrainingId());returnResponseObject.success("一条记录已删除");}5.4考核管理本模块主要是考核信息管理。管理员可以对试卷、试题进行添加,如图5.10、图5.11所示;也可以对试卷、试题进行移除,如图5.12、图5.13所示;也可以把试题添加到试卷中,如图5.14所示。图5.10试卷添加界面图图5.11试题添加界面图图5.12试卷删除界面图图5.13试题删除界面图图5.14试题添加到试卷界面图员工选择进行考核,可以看到试卷名称,如图5.15所示;然后点击开始考试进行答题。答完题后可以查看考试得分,如图5.16所示:图5.15试卷信息查看界面图图5.16考试结果界面图关键代码:@ApiOperation("查询所有试卷")@GetMapping("/getAllTest")publicResponseObjectgetAllTest(){List<PaperQuestion>list=paperQuestionService.list();returnResponseObject.success(list,"查询成功");}@ApiOperation("新增试卷")@PostMapping("/addTest")publicResponseObjectaddTraining(@RequestBodyPaperQuestionpaperQuestion){paperQuestionService.save(paperQuestion);returnResponseObject.success("新增一条记录");}@ApiOperation("修改试卷")@PostMapping("/updateTestById")publicResponseObjectupdateTestById(@RequestBodyPaperQuestionpaperQuestion){paperQuestionService.updateById(paperQuestion);returnResponseObject.success("一条记录已修改");}@ApiOperation("删除试卷内容")@PostMapping("/deleteTestById")publicResponseObjectdeleteTestById(@RequestBodyPaperQuestionpaperQuestion){paperQuestionService.removeById(paperQuestion.getPaperId());paperQuestionService.deletePaperQuestion(paperQuestion.getPaperId());returnResponseObject.success("一条记录已删除");}}@ApiOperation("查看分数")@GetMapping("/selectRecord")publicResponseObjectselectRecord(){List<Map<String,Object>>list=recordService.selectRecord();returnResponseObject.success(list,"查询成功");}5.5招聘管理本模块主要是招聘信息管理。管理员可以查看招聘信息。从后台查看招聘信息,如图5.17所示;也可以添加招聘信息,如图5.18所示;若有需要更改,可以更改招聘信息,如图5.19所示:图5.17招聘信息查看界面图图5.18招聘信息添加界面图图5.19招聘信息修改界面图用户可以查看招聘信息。如图5.20所示:图5.20用户端招聘信息查看界面图关键代码:@RequestMapping("/fabuzhaopin")

publicStringfabuzhaopin(Stringzhao_position,Stringzhao_education,Longzhao_salary,Stringzhao_detail,Stringzhao_address,Stringzhao_week){

adminService.fabuzhaopin(zhao_position,zhao_education,zhao_salary,zhao_detail,zhao_address,zhao_week);

return"";}

@RequestMapping("/xiugaizhaopin")

publicStringxiugaizhaopin(Longzhao_id,Stringzhao_position,Stringzhao_education,Longzhao_salary,Stringzhao_detail,Stringzhao_address,Stringzhao_week){

adminService.xiugaizhaopin(zhao_id,zhao_position,zhao_education,zhao_salary,zhao_detail,zhao_address,zhao_week);

return"";}

@RequestMapping("/chaxunzhaopin")

publicList<zhaoInfo>chaxunzhaopin(){

returnadminService.chaxunzhaopin();}

@RequestMapping("/shanchuzhaopin")

publicStringshanchuzhaopin(Longzhao_id){

adminService.shanchuzhaopin(zhao_id);

return"";}5.6企业新闻管理本模块是企业新闻管理。管理员可以添加企业新闻并选择要发布的新闻类型,如图5.21所示:还可以删除企业新闻,如图5.22所示:图5.21企业新闻添加界面图图5.22新闻删除界面图用户可以查看新闻。如图5.23所示:图5.23用户端企业新闻查看界面图关键代码:@ResponseBody@GetMapping("/getnews")@ApiOperation(value="查询所有新闻",response=News.class)publicList<News>getnews(){List<News>list=adminService.getnews();returnlist;}@ResponseBody@PostMapping("/updateNewsById")@ApiOperation("修改新闻")publicResponseObjectupdateNewsById(@RequestBodyNewsnews){newsService.updateById(news);returnResponseObject.success("更新一条记录成功");}@ResponseBody@PostMapping("/addNews")@ApiOperation("新增新闻")publicResponseObjectaddNews(@RequestBodyNewsnews){newsService.save(news);returnResponseObject.success("插入一条记录成功");}@ResponseBody@PostMapping("/deleteNews")@ApiOperation("删除新闻")publicResponseObjectdeleteNews(@RequestBodyNewsnews){newsMapper.deleteById(news.getId());returnResponseObject.success("删除一条记录成功");}}5.7考勤管理本模块是考勤信息管理。当管理员点开考勤信息管理时,便会出现考勤信息列表,在其中能够查看到每个员工的出勤情况。如图5.24所示:图5.24考勤信息查看界面图员工点击考勤,进入考勤界面,点击打卡按钮,就可以进行上下班打卡,每天只能打卡一次。上班打卡,如图5.25所示;下班打卡,如图5.26所示:图5.25上班打卡界面图图5.26下班打卡界面图关键代码:@ApiOperation("查看所有的考勤信息")@PostMapping("/selectAllKaoQinInfo")publicResponseObjectselectAllKaoQinInfo(){List<Kaoqin>list=kaoqinService.selectAllKaoQinInfo();returnResponseObject.success(list,"查看所有的考勤信息成功");}@ApiOperation("查询上班还是下班")@PostMapping("/isUpOrDownWork")publicResponseObjectisUpOrDownWork(Integereid){Datedate=newDate();SimpleDateFormatsimpleDateFormat=newSimpleDateFormat("yyyy-MM-dd");intb=kaoqinService.isUpOrDownWork(simpleDateFormat.format(date),eid);switch(b){case0:returnResponseObject.success("上班","上班");case1:returnResponseObject.success("下班","下班");case2:returnResponseObject.success("已完成打卡","已完成打卡");}returnResponseObject.fail("出错了");}@ApiOperation("上下班打卡")@PostMapping("/upWorkKaoQin")publicResponseObjectupWorkKaoQin(@RequestBodyKaoqinkaoqin){//查询有没有上班时间Booleanb=kaoqinService.selectKaoQinByEidAndDate(kaoqin.getKaoqinUpWork(),kaoqin.getEmId());if(b){//上班打卡kaoqinService.insertInfoKaoQin(kaoqin);returnResponseObject.success("上班打卡成功");}else{//下班打卡kaoqinService.updateInfoKaoQin(kaoqin);returnResponseObject.success("下班打卡成功");}}5.8薪酬管理本模块是薪酬信息管理。管理员可以添加员工薪资信息,如图5.27所示。还可以更改员工薪资,如图5.28所示:图5.27员工工资添加界面图图5.28员工工资修改界面图用户进入员工薪资页面,可以查询自己工资,如图5.29所示:图5.29员工薪资查看界面图关键代码:@ApiOperation("查询员工薪资")@PostMapping("/queryEmployeeSalary")publicResponseObjectqueryEmployeeSalary(Integereid){List<Emsalary>list=emsalaryService.queryEmployeeSalary(eid);returnResponseObject.success(list,"查询员工薪资成功");}@ApiOperation("新增员工薪资")@PostMapping("/addEmployeeSalary")publicResponseObjectaddEmployeeSalary(@RequestBodyEmsalaryemsalary){emsalaryService.addEmployeeSalary(emsalary);returnResponseObject.success("新增员工薪资成功");}@ApiOperation("修改员工薪资")@PostMapping("/updateEmployeeSalaryBySId")publicResponseObjectupdateEmployeeSalaryBySId(@RequestBodyEmsalaryemsalary){emsalaryService.updateEmployeeSalaryBySId(emsalary);returnResponseObject.success("修改员工薪资成功");}}第6章系统测试6.1测试方法每一个功能模块和运行界面设计完成之后,为了保证每个功能和界面能够正常运行或显示,就需要对其进行检测,若其中出现了错误,可以及时修改。为了解决上述问题,本系统采用黑白盒测试相结合的方法进行测试。其中,“黑盒测试”可以对软件的各个功能进行测试。在测试过程中,检查程序能否能正常地接收输入信息,从而产生正确的输出信息。“白盒测试”又称“结构测试”,其主要是目的就是检测软件程序编码过程中的错误。6.2功能测试在系统的运行过程中对于系统的测试是必不可少的,完整的测试可以使系统在实际运行过程中能够保证出错的概率减少。下面就对系统功能进行测试分析。6.2.1员工管理该模块主要包含员工信息查看、用户登录。管理员若想修改某个员工的基本信息,点开“人才档案”,选中想要更改的员工,然后进入员工更改页面,更改员工的个人信息。如把员工部门由“研发部”改成“生产部”,把工作岗位由“Java工程师”改为“测试员”,修改成功后,点击“修改”按钮,会弹出“修改成功”的字样。如图6.1、图6.2所示:图6.1员工信息修改前界面图图6.2修改后界面图用户点击“部门员工”按钮,选择部门列表可以对员工所在的部门和职位进行修改。如将“研发部”改为“生产部”,将职位“Java工程师”改为“测试员”。如图6.3、图6.4所示:图6.3未修改前界面图图6.4修改成功界面图当管理员输入正确的用户名“1001”和密码“1001”时,如图6.5所示:图6.5管理员登录界面图当系统判断输入正确时进入系统首页,说明登录成功,如图6.6所示:图6.6登录成功界面图当用户输入正确的用户名“1002”和密码“2344”时,如图6.7所示:图6.7用户登录界面图当用户输入正确的用户名和密码时,会进入系统首页,如图6.8所示:图6.8用户登录成功界面图当输入信息错误,就会显示登录失败的字样。如图6.9所示:图6.9登录失败界面图6.2.2求职人员信息管理该模块主要是求职人员信息管理。用户点击“人才市场”,会跳转到人才市场界面,看到求职人员信息,如图6.10所示;下滑会及时更新求职人员信息,如图6.11所示:图6.10求职人员列表界面图图6.11求职人员更新界面图用户如果想聘用该求职人员,可以选中该求职人员,界面会出现弹窗提醒,如“是否录用蒋素媛”的界面。如图6.12所示;点击录用,系统会出现录用成功的字样,如图6.13所示;在员工档案里就可以查看到该人员的信息,如图6.14所示:图6.12是否聘用界面图图6.13聘用成功界面图图6.14录用成功界面图6.2.3培训管理该模块主要是培训管理。管理员的主要工作就是添加培训内容,如设置培训标题为“青年大学习”,培训内容是“青年大学习之党的历史”,开始日期和时间“2023-4-21”、“11:00”,结束日期和时间是“2024-3-21”、“10:00”。如图6.15所示;在培训界面可以查看是否添加成功,添加成功会出现下图界面,如图6.16所示:图6.15培训内容添加界面图图6.16培训内容添加成功界面图管理员可以对培训内容进行删除。点击“培训列表”,进入培训列表删除界面,如图6.17所示,然后选择要删除的培训名称如“人事培训”,点击该培训名称上的“删除”按钮,会出现提示弹窗,如图6.18所示,点击“确定”按钮即删除成功。最后返回培训列表,就不存在“人事培训”这个内容了,如图6.19所示:图6.17培训内容删除界面图图6.18删除弹窗界面图图6.19培训内容删除成功界面图用户点击培训内容,会进入培训列表界面,可以看到每个培训的标题、内容、开始日期和结束日期。如图6.20所示:图6.20培训内容查看界面图6.2.4考核管理该模块主要是考核管理。管理员对试卷进行添加,如添加试卷名称“青年大学习之党的历史”,如图6.21所示,点击“添加”按钮即可添加成功,在试卷列表里面就可以看到新添加的试卷,如图6.22所示:图6.21试卷添加界面图图6.22试卷添加成功界面图管理员可以对进行添加。单击“添加题目”选项,可以对试题内容及相关信息进行添加设置,如图6.23所示;添加完成之后,点击“添加”按钮,表明添加成功,如图6.24所示:图6.23题目添加界面图图6.24添加成功界面图管理员点击“查看题目”按钮进入试题删除界面,如图6.25所示;可以移除无用的题目,如题目“4+2=?”,按下“删除”键,屏幕上会跳出“删除”的提示框,如图6.26所示;再按“确定”键,就可以完成删除操作,如图6.27所示:图6.25未删除试题界面图图6.26删除弹窗界面图图6.27删除成功界面图管理员可以把题目添加到试卷。点击“试卷查看”按钮进入试卷界面,如图6.28所示;通过单击“加入考卷”按钮,来决定向哪一张考卷中加入考卷。如将试题添加到“人事管理学”,如图6.29所示;则可以在人事管理学试卷里看到新增题目,如图6.30所示:图6.28未添加题目界面图图6.29题目添加到试卷界面图图6.30题目添加成功界面图用户进入考试界面,可以选择试卷,如图6.31所示;做完题目,点击“下一题”,如果前面题目有错,点击“上一题”,查看修改,如图6.32所示;在完成答题后,点击右上角的“提交”按钮,系统会回到试卷列表页面,即答题结束。如图6.33所示:图6.31选择考试界面图图6.32答题界面图图6.33提交成功界面图员工还可以查看自己的成绩。点击“分数查询”按钮,就可以看到自己每次的考试成绩。如图6.34所示:图6.34查看考试结果界面图6.2.5招聘管理该模块是招聘模块。管理员可以编辑、发布招聘信息。如岗位名称是前端开发工程师、学历要求是研究生、岗位薪酬:10000元/月、详细信息:精通Java、工作地址:北华路的103号、工作时间:6天/周。如图6.35所示;编辑完成之后点击发布,就会跳转到系统首页然后在系统首页就可以看到发布成功招聘信息,也可在编辑招聘信息界面,点击“查看招聘信息”按钮,就可以看到刚刚发布的招聘信息。如图6.36所示:图6.35编辑招聘信息界面图图6.36招聘信息发布成功界面图管理员可以修改招聘信息。如将学历要求由“研究生”改成“本科”,岗位薪酬由“10000元/月”改成“6000元/月”,详细信息由“精通Java”改成“勤劳能干”。如图6.37所示;修改完成之后点击“确定”即可,在系统首页就可以看到修改成功后的招聘信息。如图6.38所示:图6.37修改招聘信息界面图图6.38招聘信息修改成功界面图在系统首页上,员工可以看到管理员发布的职位招聘信息。如图6.39所示:图6.39招聘信息查看界面图6.2.6企业新闻管理管理员可以添加企业新闻。如选择新闻类型“企业新闻”,编写新闻内容“热烈庆祝公司成立10周年”,如图6.40所示;点击“添加”按钮,系统会跳转到新闻界面,在其中能看到新增的新闻信息,表明添加成功。如图6.41所示:图6.40新闻添加界面图图6.41新闻添加成功界面图管理员可以删除企业新闻。首先进入“企业新闻”界面,可以进行新闻的删除,如图6.42所示;如删除“热烈庆祝公司成立10周年”,点击删除会出现删除弹窗,如图6.43所示;点击确定即可删除成功,如图6.44所示:图6.42未删除新闻界面图图6.43弹窗界面图图6.44新闻删除成功界面图用户可以查看企业新闻,如图6.45所示:图6.45企业新闻查看界面图6.2.7考勤管理本模块是考勤信息管理。管理人员可以查看每个员工的出勤情况。如图6.46所示:图6.46员工打卡信息界面图用户可以进行上下班打卡,每次打卡都会显示打卡时间。上班打卡成功,如图6.47所示;下班打卡成功,如图6.48所示;为了防止多次打卡,打卡界面会提示“已完成打卡”的字样。如图6.49所示:图6.47上班打卡成功界面图图6.48下班打卡成功界面图图6.49已完成打卡界面图6.2.8薪酬管理本模块主要是员工的薪酬信息管理。管理员可以添加员工的工号、底薪、奖金和其他相关信息。如图6.50所示:图6.50添加员工薪资界面图管理员也可以进行薪资的修改。如把基本薪资改成6000元、员工奖励改成6000元、员工津贴改成1000元、五险一金改成500元,发放说明改成“请核对信息”。修改完成之后,点击“修改”按钮。此时就已经完成了薪资的修改。如图6.51、图6.52所示:图6.51薪资修改界面图图6.52员工薪资修改成功界面图用户可以查看自己的薪资情况,如图6.53所示:图6.53个人薪资查看界面图6.3测试结论经过测试用例对系统的各个功能进行了全面的测试,证明该系统的技术可行性。测试结果表明,该系统可以把数据条理清晰的呈现出来,并且各个功能都符合设计要求,使用者可以正常操作,不 管是从 系统的 功能上 ,还是 从系统 的使用 上都 能达到预期效果。结论为了解决传统的局域网结合人力资源管理系统的管理模式适用于空间范围小,无法满足用户的特定需求的问题。本人在需求分析、可行性分析和系统流程分析的基础上,利用Android技术结合后端SpringBoot技术,采用Java语言,使用MySQL数据库对数据进行存储和管理,设计实现了一个微企业人才管理系统。该系统的主要功能有员工管理、求职人员信息管理、培训管理、考核管理、招聘管理、企业新闻管理、考勤管理和薪酬管理等。主要工作任务如下:首先,本文对该系统进行了理论上的研究和分析。在以研究目的和意义、国内外研究现状为基础,对所使用的技术和开发平台进行了确认,并对自己的研究方向和内容以及工作路线进行了明确。其次,本文从多个方面对系统设计过程进行了阐述,然后对该系统进行了总体架构的设计,并对系统中的各个功能模块进行了划分,为系统的开发奠定了夯实的基础。最后,对本系统的所有功能模块进行了实现与测试。通过对文字描述、关键代码和图片的展示,来证明系统的所有功能已经实现。在测试中采用黑白盒测试的方法来检验各个功能是否都可以实现,方便及时可以查找出错误并改正,保证系统可以正常运行。本系统虽然能满足基本的微企业对人才管理的需求,但随着科技的快速发展,企业对系统的要求也越来越高,因此,后续可以添加一些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论