版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要:本次毕业设计从公司员工层面出发,设计开发了职工健康档案管理系统。管理者可以从本系统了解到公司员工的健康状况,为其对员工的健康进行管理提供便利。系统包括前端和后台两部分,前端框架主要使用的是LAYUI,前端页面实现以及与后端进行交互主要使用JQuery、JS、Ajax、CSS来完成。后端采用Springboot框架,使用MySQL进行数据库与前台的数据交换。系统将使用人员分为几类:普通用户、登录用户、管理员。其中普通用户可以进入网页并进行注册操作,登录用户拥有体检报告查询、运动记录上传等功能,管理员拥有部门管理、员工管理、新闻通知管理等功能。实现职工和管理者对于数据的操作。经测试,本系统可正常运行。关键词:SpringBoot;Layui;MySQL;职工健康;档案管理1绪论1.1研究背景根据员工健康现状调研与思考的研究[1],近几年来,企业职工的生活状况发生了很大的变化,从各个方面都得到了提高。从之前想办法吃饱到要求吃好的再到现在要吃得健康,现在既需要稳定的工作,又需要舒心的工作,身体健康。于此同时,通过报纸,杂志,微信等媒体渠道以及每天的集中学习,员工越来越清醒地意识到身体健康的存在以及其重要性。追求高质量的生活已经成为了企业职工美好生活的基本需求之一。但目前我国职工健康管理还存在许多问题。很多的企业对于员工的身体健康问题关注度不高、对于员工健康防护工作不到位,或者是对于员工的健康状况了解和管理仅限于口头形式,不能及时发现问题。同时一些劳动者不重视健康,缺乏自觉培养健康生活的习惯。因此就需要一个能够对员工健康问题进行综合管理的系统,能够实现对员工健康进行分析。只有通过对职工健康管理的实际需求进行调查分析以及合适管理,才能有效地实施健康管理,更加清楚地了解职工个人或群体的需求,从而有效地利用所拥有的健康资源,使其的作用发挥到最大,最终达到改善健康状况的目的[2]。1.2研究意义现有的企业员工健康管理主要是对于可能产生的职业病危害上,企业管理者对于员工健康的了解基本就只有通过每年的体检。但是由于企业年度体检是企业管理者自行发起的,所以并不是每个企业都拥有合理的体检流程,基本都是一些大型企业对此较为关注。很多小型企业对于职工的年度体检并没有严格执行。而且目前的体检只是一项在于初级层面的,比较简易化的健康检查,不行够形成对员工进行持续的、长久性的健康数据情况监测,不能够及时的、有效地了解到员工目前的健康状况,并且及时制定并实施干预方案[3]。通过本系统的研究,可以改变企业管理者对员工健康了解局限化、片面化的现状,实现对员工健康状况的之前、现在以及以后的全方位了解和管理。健康档案是目前对于每个人来说也属于不可缺少的信息资料,记录着每个人疾病的发生的原因以及疾病在之后的发展,治疗过程和结果。通过对比在短期内进行检查得到的信息和大量数据,能够及时地发现自己的身体健康状况,疾病的发展趋势,治疗成本等方面的改变,有利于作出下一步治疗决策。使自己了解自己的身体状况,使管理者更好地了解公司各级的身体状况,及时为员工提供合理化建议。1.3主要工作基于SpringBoot[4]的职工健康档案管理平台的设计与实现,工作内容可以总结为以下几点:(1)需求分析,了解目前职工健康管理的现状,在此前提下确定员工和管理者分别该做哪些事来确定系统需求,要保证本系统功能满足企业对于员工健康进行全方位管理;(2)系统框架设计,根据上一步得到的系统需求分析,来完成本次项目整体框架设计,包括系统前台界面设计、系统后台功能设计、数据库结构设计等;(3)进行程序编码,根据上一步完成的框架设计,完成各个用户的功能的编码与实现;(4)进行系统功能测试,对本系统所拥有的交互功能进行完整的、严格的测试,尽量排查可能会出现的问题并对其进行完善;(5)撰写毕业设计文档并加以修改。1.4论文结构本次毕业论文的结构主要分为七个部分:第一部分:绪论,介绍目前职工健康管理的现状以及设计开发本系统的意义;第二部分:相关知识介绍,介绍在本此系统开发使用的一些技术以及它们的优点;第三部分:可行性分析,从经济、技术和操作三个方面对本次设计的系统进行可行性分析;第四部分:需求分析,从系统特性需求和功能需求两个方面进行分析,介绍并绘制系统用例结构图;第五部分:系统设计,描述本系统的总体功能、介绍系统界面设计方式、介绍并绘制系统功能结构图以及介绍数据库的概念和结构设计;第六部分:系统实现,介绍本次开发使用的工具、如何搭建介绍框架搭建以及实现各个角色的功能并确保其成功运行;第七部分:系统测试,对本系统所拥有的交互功能进行完整的、严格的测试,发现问题并完善。2相关知识2.1SpringBoot框架SpringBoot框架,是目前一个使用比较主流的后台框架,可以用来简化Spring应用的系统搭建与开发过程[5]。SpringBoot已经整合了在开发过程中经常使用到的的依赖分组,并将其合并成一个依赖;通过SpringBoot所拥有的自动配置原理,此框架可以合理地推测本次开发中所需的bean并进行自动化配置。在开发中,SpringBoot让我们可以把跟多的注意力放在对逻辑的编写上,对于一些配置则会进行简化,少量代码就可以完成。2.2MySQL数据库MySQL[6]在目前是一个比较主流的数据库管理系统,使用的范围极广,MySQL能够将数据清晰、有序地呈现在一张张数据表中,相较于其他数据库来说,使用起来更加方便。同时Mysql是开源的,不需要支付额外的费用。Mysql可以允许在多个系统运行,并且所支持的语言也是非常广泛。2.3MybatisMyBatis的前身叫iBatis,本是Apache的一个开源项目,MyBatis是支持普通SQL查询,是一个非常优秀的持久层框架。只需要少量的JDBC代码和参数就可以完成之前一些复杂的功能。让我们在开发中只需要关注Sql语句本身,而不必花时间去注册驱动、手动设置参数,结果集检索等JDBC繁琐的代码。2.4Layui框架Layui是经典的模块化前端框架,面向全层次的前后端开发者和低门槛开箱即用的前端UI解决方案。Layui是采用模块化规范编写的前端UI框架,学习门槛极低,非常适合界面的快速开发。Layui更倾向于后端开发者,更加轻量和简单。3可行性分析3.1经济可行性分析职工健康档案管理系统是通过前端页面来实现与用户的交互,只需要一些浏览器就可以完成,在服务器这一方面成本合适,并且由于本系统是自己内部开发的,相较于将其外包给他人来说,开发成本极低,之后对系统进行修改和完善的费用也可以忽略不计。3.2技术可行性分析本次系统开发中,前端框架主要使用的是LAYUI,前端页面实现以及与后端进行交互主要使用JQuery、JS、Ajax、CSS来完成。CSS可以让界面看起来跟加美观,提高用户体验。JS可以让前端页面的数据与后台交互更好进行。后端采用Springboot框架,通过SpringBoot所拥有的自动配置原理,此框架可以合理地推测本次开发中所需的bean并进行自动化配置,这样可以降低我们在开发过程中进行配置的难度。使用MySQL将前端产生的数据与后台进行交换,而且其免费的原因也可以降低成本。3.3操作可行性分析针对使用本系统的用户来说,主要有三种:普通用户、登录用户以及超级管理员。不同的角色虽然使用的是同一个系统,但是由于角色不同,所需要的功能也不一样。通过对各个角色登陆时进行权限控制,不同用户在选择登录后会有不同的功能界面。同时由于在界面设计时清晰地将不同角色的功能分配完成,且界面简单、整洁,用户操作起来也是十分便捷。4需求分析4.1系统特性需求分析职工健康档案管理系统需要具有以下特性:(1)各个角色权限控制严格,不同角色登陆后会显示不同的界面以及相应的功能。(2)系统功能完善,功能页面外观整洁、清晰大气、操作便捷,提用以升用户的体验感。(3)代码编写需要符合规范,对代码进行必要的注释,方便阅读以及修改。4.2功能需求分析系统主要将使用者分为三个角色,普通用户、登录用户以及超级管理员,各个角色拥有对应的功能模块,角色功能分析如下:(1)普通用户功能:普通用户功能的主要内容为进入本网站,可以浏览网站信息,进行账号的注册。(2)登录用户功能:登录用户功能主要包括进行个人信息的维护,个人体检报告查询,个人运动数据上传,个人疾病和治疗过程记录。(3)超级管理员功能:超级管理员功能主要分为部门管理、用户管理、职工体检报告管理、职工体检或其他活动通知管理及新闻管理。4.3系统用例结构图 用例图[7]是能够直观的显示使用本系统的用户以及各个用户的功能有哪些。可以让用户更清晰地了解系统整体功能。通过系统功能需求分析[8]得出,系统将使用者分为三种角色,结合他们使用系统的角度分配不同的功能,从而得到了系统中各个角色的用例图。如图4-1所示。图4-1系统用例图5系统设计 5.1系统总体描述 本系统将使用者分为普通用户、登录用户以及超级管理员这三种角色。不同的角色虽然使用的是同一个系统,但是由于角色不同,所需要的功能也不一样。通过对各个角色登陆时进行权限控制,不同用户在选择登录后会有不同的功能界面。如登录的用户只可以查看一些通知,而管理员可以进行通知的发布以及管理。但是不同的模块之间也是有一定关联的,比如,员工提交的信息,之后在管理员界面也可以进行观看和一定的操作。5.2系统界面设计 由于本系统主要是用来实现公司管理者对员工健康的管理,只会在公司内部使用,所以前端的操作界面要简洁、便于操作,这样可以提高员工的体验感。使用Layui框架可以让系统的界面美观、大气,让用户拥有良好的体验。5.3系统功能结构图基于系统的需求分析,本次设计将系统用户分为三种角色,每个角色有对应的模块功能。系统功能图如图5-1所示。图5-1系统功能结构图5.4数据库设计5.4.1数据库概念结构设计数据库[9]是现在每一个系统都需要的一个部分,它主要用来存放用户在前端页面输入并保存的数据,并对其进行管理。如果数据库设计得不够合理,在之后的运行以及维护中可能会降低系统的性能、造成垃圾数据的产生等问题。所以设计一个合理的数据库是必要的。本系统主要包括管理员、员工、部门、体检报告、运动记录、员工疾病、治疗记录、公司活动、公司新闻。管理员可以进行公司部门、员工体检报告、公司活动、公司新闻的管理。员工可以对运动记录、疾病、治疗记录进行管理。具体的实体-联系(E-R)图如图5-2所示。图5-2实体-联系(E-R)图5.4.2数据库逻辑结构设计数据库的逻辑设计[10]就是将上一步的概念结构,也就是E-R图转换成可以存储起来的表结构。根据上面的E-R图,将其转换成的数据表字段等如下所示:(1)管理员表(admin)管理员表主要用来存放管理员的基本信息,如管理员账号、密码等信息。其结构如图5-1所示。图5-1管理员表(2)员工表(staff_info):员工表主要用来存放员工的基本信息,如员工工号、ID、密码等。其结构如图5-2所示。图5-2员工表(3)部门表(depart_info):部门表主要用来存放部门的信息,如部门的名称。其结构如图5-3所示。图5-3部门表(4)体检报告表(health_exam):体检报告表主要用来存放员工体检的相关信息,如身高、体重、血压、心率等信息。其结构如图5-4所示。图5-4体检报告表(5)运动记录表(sport_log):运动记录表主要用于记录员工在平时的运动量,员工可以自行编写运动名称以及时间等信息。其结构如图5-5所示。图5-5运动记录表(6)员工疾病表(disease_log):员工疾病表表主要用来存放员工疾病的相关信息,如疾病的名称、时间以及检查报告。其结构如图5-6所示。图5-6员工疾病表(7)治疗记录表(treat_log):治疗记录表主要用于存放员工治疗疾病的相关信息,主要包括治疗的时间、花费的费用以及相关证明。其结构如图5-7所示。图5-7治疗记录表(8)公司活动表(act_info):公司活动表主要用来存放公司发布的一些活动信息。其结构如图5-8所示。图5-8公司活动表(9)新闻表(news_info):新闻表主要用来存放公司发布的一些新闻信息,如新闻标题、新闻内容等信息。其结构如图5-9所示。图5-9新闻表6系统实现6.1开发平台6.1.1开发环境 开发工具:eclipse 开发框架:Layui,SpringBoot 数据库:MySQL 服务器:Tomcat6.1.2测试环境 测试工具:GoogleChrome6.2系统框架搭建系统基于SpringBoot开发,使用Maven项目构建和管理工具,通过SpringBoot所拥有的自动配置原理,此框架可以合理地推测本次开发中所需的bean并进行自动化配置,同时使用服务器session对当前登录用户进行缓存,数据库使用mysql进行数据存储。前端使用Layui框架,通过JS进行与后台的交互。使用url访问所上传的文件。至此,系统的框架搭建基本完成。6.3系统用户登录功能和注册功能实现基于本次系统的需求分析,可以将系统分为几种角色,普通的用户、登录后的用户以及超级管理员。实现登陆界面以及注册界面主要使用的时Layui框架,使用CSS来完成界面样式的设计。处理用户注册以及登录请求主要使用SpringBoot框架,与MySQL数据库的数据交换通过Mybatis来完成。不同的角色虽然使用的是同一个系统,但是由于角色不同,所需要的功能也不一样。通过对各个角色登陆时进行权限控制,不同用户在选择登录后会有不同的功能界面。注册界面如图6-1所示,登录界面如图6-2所示。图6-1注册界面角色注册功能核心代码如下:后台部分核心代码:publicclassRegistController{@AutowiredDepartInfoMapperdepartInfoMapper;@AutowiredStaffInfoMapperstaffInfoMapper;/**系统进入注册页面接口*/@RequestMapping(value="staff_info_regist")publicStringstaff_info_regist(ModelMapmodelMap,Stringmsg){modelMap.addAttribute("msg",msg);getList(modelMap);return"staff_info_regist";}/**注册信息提交*/@RequestMapping("staffInfoRegistSubmit")@ResponseBodypublicObjectstaffInfoRegistSubmit(StringimgCode,Stringname,StringrealName,StringcelPhone,Stringpassword,IntegerdepartId,StringjobName,ModelMapmodelMap,HttpServletRequestrequest,HttpServletResponseresponse){HttpSessionsession=request.getSession();StaffInfomodel=newStaffInfo();model.setRealName(realName);model.setCelPhone(celPhone);model.setDepartId(departId);model.setJobName(jobName);staffInfoMapper.insertSelective(model);//注册成功,将本次用户在前端输入的数据存入数据库,并提示注册成功}publicvoidgetList(ModelMapmodelMap){DepartInfoExampledepartInfoE=newDepartInfoExample();//注册页面需要部门数据列表delMap.addAttribute("departInfoList",departInfoList2);}}图6-2登录界面 角色登录功能核心代码如下,更多代码见附录:后台部分核心代码:publicclassLoginController{/**登录验证*/publicObjectsysSubmit(LoginModeluser,StringimgCode,ModelMapmodelMap,HttpServletRequestrequest,HttpServletResponseresponse){HttpSessionsession=request.getSession();Map<String,Object>rs=newHashMap<String,Object>();if(user.getLoginType()==1){AdminExamplete=newAdminExample();if(tl.size()==0){//账号不存在rs.put("code",0);rs.put("msg","登录名或密码错误");}else{LoginModellogin=newLoginModel();login.setId(tl.get(0).getId());login.setLoginType(1);login.setName(user.getName());request.getSession().setAttribute(CommonVal.sessionName,login);rs.put("code",1);rs.put("msg","登录成功");returnrs;}}6.4管理员功能模块实现通过对本次系统的需求进行分析得到,管理员的功能主要包括员工信息管理、部门管理、公司活动管理、员工运动记录管理、员工体检报告管理、员工疾病的管理以及新闻的发布与管理。6.4.1员工信息管理 员工信息管理功能,前端使用Layui框架实现功能界面,后端使用SpringBoot框架处理页面请求,通过Mybatis框架与MySQL数据库进行数据交互。该功能可对员工数据进行增、删、改、查操作,同时可以查看相关信息。。界面如图6-3所示。图6-3员工管理界面 员工信息管理功能核心代码如下:后台部分核心代码:publicclassAStaffInfoController{@AutowiredStaffInfoServicestaffInfoService;@AutowiredAdminMapperadminMapper;@AutowiredStaffInfoMapperstaffInfoMapper;@AutowiredDepartInfoMapperdepartInfoMapper;publicvoidgetList(ModelMapmodelMap,LoginModellogin){DepartInfoExampledepartInfoE=newDepartInfoExample();DepartInfoExample.CriteriadepartInfoC=departInfoE.createCriteria();List<DepartInfo>departInfoList=departInfoMapper.selectByExample(departInfoE);List<Map<String,Object>>departInfoList2=newArrayList<Map<String,Object>>();for(DepartInfom:departInfoList){Map<String,Object>map=newHashMap<String,Object>();map.put("id",m.getId());map.put("name",m.getDepartName());departInfoList2.add(map);}modelMap.addAttribute("departInfoList",departInfoList2);}/***返回员工列表jsp页面*/@RequestMapping(value="")publicStringindex(ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//获取当前登录账号信息Adminadmin=adminMapper.selectByPrimaryKey(login.getId());modelMap.addAttribute("user",admin);getList(modelMap,login);//获取数据列表并返回给前台return"admin/staff_info/list";}/***根据查询条件分页查询员工数据,然后返回给前台渲染*/@RequestMapping(value="queryList")@ResponseBodypublicObjecttoList(StaffInfomodel,Integerpage,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);returnstaffInfoService.getDataList(model,page,CommonVal.pageSize,login);//分页查询数据}6.4.2部门管理 部门管理功能,前端主要使用Layui框架,使用jsp结合jquery,js,ajax,css实现功能界面,后端使用SpringBoot框架处理页面请求,通过Mybatis框架与MySQL数据库进行数据交互。管理员可以对公司的部门进行增、删、改、查操作。管理界面如图6-4所示。图6-4部门管理界面 部门管理功能核心代码如下:后台部分核心代码:@Controller@RequestMapping("/admin/depart_info")publicclassADepartInfoController{SimpleDateFormatsdf1=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");SimpleDateFormatsdf2=newSimpleDateFormat("yyyy-MM-dd");@AutowiredDepartInfoServicedepartInfoService;@AutowiredAdminMapperadminMapper;@AutowiredDepartInfoMapperdepartInfoMapper;/***返回部门列表jsp页面*/@RequestMapping(value="")publicStringindex(ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//获取当前登录账号信息Adminadmin=adminMapper.selectByPrimaryKey(login.getId());modelMap.addAttribute("user",admin);return"admin/depart_info/list";}/***根据查询条件分页查询部门数据,然后返回给前台渲染*/@RequestMapping(value="queryList")@ResponseBodypublicObjecttoList(DepartInfomodel,Integerpage,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);returndepartInfoService.getDataList(model,page,CommonVal.pageSize,login);//分页查询数据}/**进入新增页面*/@RequestMapping("add")publicStringadd(ModelMapmodelMap,DepartInfomodel,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//从session中获取当前登录账号 modelMap.addAttribute("data",model);return"admin/depart_info/add_page";}/**新增提交信息接口*/@RequestMapping("add_submit")@ResponseBodypublicObjectadd_submit(DepartInfomodel,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();Stringmsg=departInfoService.add(model,login);//执行添加操作if(msg.equals("")){rs.put("code",1);rs.put("msg","新增成功");returnrs;}rs.put("code",0);rs.put("msg",msg);returnrs;}6.4.3公司活动管理管理员可查看公司上传的活动情况,并可对其进行增、删、改、查操作。该功能设计思路与部门管理功能基本相同,此处不再加以描述。公司活动管理界面如图6-5所示。图6-5公司活动管理界面公司活动管理功能的核心代码如下:后台部分核心代码@RequestMapping("add_submit")@ResponseBodypublicObjectadd_submit(ActInfomodel,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();Stringmsg=actInfoService.add(model,login);//执行添加操作if(msg.equals("")){rs.put("code",1);rs.put("msg","新增成功");returnrs;}rs.put("code",0);rs.put("msg",msg);returnrs;}/**进入修改页面*/@RequestMapping("update")publicStringupdate(ModelMapmodelMap,ActInfomodel,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//从session中获取当前登录账号 ActInfodata=actInfoMapper.selectByPrimaryKey(model.getId());modelMap.addAttribute("data",data);return"admin/act_info/update_page";}/**修改提交信息接口*/@RequestMapping("update_submit")@ResponseBodypublicObjectupdate_submit(ActInfomodel,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();Stringmsg=actInfoService.update(model,login);//执行修改操作if(msg.equals("")){rs.put("code",1);rs.put("msg","修改成功");returnrs;}rs.put("code",0);rs.put("msg",msg);returnrs;}/**删除公司活动接口*/@RequestMapping("del")@ResponseBodypublicObjectdel(Integerid,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();actInfoService.delete(id);rs.put("code",1);rs.put("msg","删除成功");returnrs;}}6.4.4员工运动记录管理 管理员可查看员工的运动情况,并可对其进行查询和删除操作。该功能设计前端主要使用Layui框架,使用jsp结合jquery,js,ajax,css实现功能界面,后端使用SpringBoot框架处理页面请求,通过Mybatis框架与MySQL数据库进行数据交互。员工运动记录管理界面如图6-6所示。图6-6员工运动记录管理界面员工运动记录管理功能的核心代码如下:后台部分核心代码:publicclassASportLogController{@AutowiredSportLogServicesportLogService;@AutowiredAdminMapperadminMapper;@AutowiredStaffInfoMapperstaffInfoMapper;@AutowiredSportLogMappersportLogMapper;publicvoidgetList(ModelMapmodelMap,LoginModellogin){StaffInfoExamplestaffInfoE=newStaffInfoExample();StaffInfoExample.CriteriastaffInfoC=staffInfoE.createCriteria();List<StaffInfo>staffInfoList=staffInfoMapper.selectByExample(staffInfoE);List<Map<String,Object>>staffInfoList2=newArrayList<Map<String,Object>>();for(StaffInfom:staffInfoList){Map<String,Object>map=newHashMap<String,Object>();map.put("id",m.getId());map.put("name",m.getStaffNo()+","+m.getRealName());staffInfoList2.add(map);}modelMap.addAttribute("staffInfoList",staffInfoList2);}@RequestMapping(value="queryList")@ResponseBodypublicObjecttoList(SportLogmodel,Integerpage,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);returnsportLogService.getDataList(model,page,CommonVal.pageSize,login);//分页查询数据}/**删除运动记录接口*/@RequestMapping("del2")@ResponseBodypublicObjectdel2(Integerid,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();sportLogService.delete(id);rs.put("code",1);rs.put("msg","删除成功");returnrs;}6.4.5员工体检报告管理管理员可查看员工的体检报告,并对其进行增、删、改、查操作。该功能设计前端主要使用Layui框架,使用jsp结合jquery,js,ajax,css实现功能界面,后端使用SpringBoot框架处理页面请求,通过Mybatis框架与MySQL数据库进行数据交互。员工体检报告管理界面如图6-7所示。图6-7员工体检报告管理界面员工疾病管理管理功能的核心代码如下:后台部分核心代码@RequestMapping("add_submit")@ResponseBodypublicObjectadd_submit(HealthExammodel,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();Stringmsg=healthExamService.add(model,login);//执行添加操作if(msg.equals("")){rs.put("code",1);rs.put("msg","新增成功");returnrs;}rs.put("code",0);rs.put("msg",msg);returnrs;}/**进入修改页面*/@RequestMapping("update")publicStringupdate(ModelMapmodelMap,HealthExammodel,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//从session中获取当前登录账号 getList(modelMap,login);//获取前台需要用到的数据列表并返回给前台HealthExamdata=healthExamMapper.selectByPrimaryKey(model.getId());modelMap.addAttribute("data",data);return"admin/health_exam/update_page";}/**修改提交信息接口*/@RequestMapping("update_submit")@ResponseBodypublicObjectupdate_submit(HealthExammodel,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();Stringmsg=healthExamService.update(model,login);//执行修改操作if(msg.equals("")){rs.put("code",1);rs.put("msg","修改成功");returnrs;}rs.put("code",0);rs.put("msg",msg);returnrs;}6.4.6员工疾病管理管理员可查看员工的疾病历史以及其治疗情况情况。该功能设计思路与员工运动记录管理功能基本相同,此处不再加以描述。员工体检报告管理界面如图6-8所示。图6-8员工疾病管理界面员工体检报告管理功能的核心代码如下:后台部分核心代码@Controller@RequestMapping("/admin/disease_log")publicclassADiseaseLogController{SimpleDateFormatsdf1=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");SimpleDateFormatsdf2=newSimpleDateFormat("yyyy-MM-dd");@AutowiredDiseaseLogServicediseaseLogService;@AutowiredAdminMapperadminMapper;@AutowiredStaffInfoMapperstaffInfoMapper;@AutowiredDiseaseLogMapperdiseaseLogMapper;publicvoidgetList(ModelMapmodelMap,LoginModellogin){StaffInfoExamplestaffInfoE=newStaffInfoExample();StaffInfoExample.CriteriastaffInfoC=staffInfoE.createCriteria();List<StaffInfo>staffInfoList=staffInfoMapper.selectByExample(staffInfoE);List<Map<String,Object>>staffInfoList2=newArrayList<Map<String,Object>>();for(StaffInfom:staffInfoList){Map<String,Object>map=newHashMap<String,Object>();map.put("id",m.getId());map.put("name",m.getStaffNo()+","+m.getRealName());staffInfoList2.add(map);}modelMap.addAttribute("staffInfoList",staffInfoList2);}/***返回员工疾病列表jsp页面*/@RequestMapping(value="")publicStringindex(ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//获取当前登录账号信息Adminadmin=adminMapper.selectByPrimaryKey(login.getId());modelMap.addAttribute("user",admin);getList(modelMap,login);//获取数据列表并返回给前台return"admin/disease_log/list";}/***根据查询条件分页查询员工疾病数据,然后返回给前台渲染*/@RequestMapping(value="queryList")@ResponseBodypublicObjecttoList(DiseaseLogmodel,Integerpage,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);returndiseaseLogService.getDataList(model,page,CommonVal.pageSize,login);//分页查询数据}}6.4.7公司新闻管理管理员可查看公司发布的新闻情况,并可对其进行增、删、改、查操作。该功能设计思路与部门管理功能相同,此处不再赘述。员工体检报告管理界面如图6-9所示。图6-9公司新闻管理界面公司新闻管理功能的核心代码如下:后台部分核心代码@RequestMapping(value="queryList")@ResponseBodypublicObjecttoList(NewsInfomodel,Integerpage,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);returnnewsInfoService.getDataList(model,page,CommonVal.pageSize,login);//分页查询数据}/**查看详情接口*/@RequestMapping("detail1")publicObjectdetail1(Integerid,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);NewsInfomodel=newNewsInfo();model.setId(id);NewsInfopreModel=newsInfoMapper.selectByPrimaryKey(id);modelMap.addAttribute("detail",newsInfoService.getNewsInfoModel(preModel,login));return"admin/news_info/detail";}/**进入新增页面*/@RequestMapping("add")publicStringadd(ModelMapmodelMap,NewsInfomodel,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//从session中获取当前登录账号 modelMap.addAttribute("data",model);return"admin/news_info/add_page";}/**新增提交信息接口*/@RequestMapping("add_submit")@ResponseBodypublicObjectadd_submit(NewsInfomodel,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Map<String,Object>rs=newHashMap<String,Object>();Stringmsg=newsInfoService.add(model,login);//执行添加操作if(msg.equals("")){rs.put("code",1);rs.put("msg","新增成功");returnrs;}rs.put("code",0);rs.put("msg",msg);returnrs;}6.5登录用户功能模块实现 根据系统需求分析,登录用户的功能主要分为信息模块、管理模块。信息模块分为个人信息模块、运动数据查询模块、公司活动模块以及公司新闻模块;管理模块主要有个人的体检报告管理、个人的疾病管理以及个人的运动数据上传。6.5.1员工个人信息管理 员工个人信息管理,前端使用Layui框架实现功能界面,后端使用SpringBoot框架处理页面请求,通过Mybatis框架与MySQL数据库实现数据的读取。该功能模块主要是显示该员工的员工信息供员工进行查看;界面如图6-10所示图6-10员工个人信息管理界面 员工个人信息管理的核心代码如下:后台部分核心代码publicclassSStaffInfoController{@AutowiredStaffInfoServicestaffInfoService;@AutowiredStaffInfoMapperstaffInfoMapper;@AutowiredDepartInfoMapperdepartInfoMapper;/**进入员工详情页*/@RequestMapping("detail")publicObjectdetail(ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);StaffInfomodel=newStaffInfo();model.setId(login.getId());StaffInfopreModel=staffInfoMapper.selectByPrimaryKey(login.getId());modelMap.addAttribute("detail",staffInfoService.getStaffInfoModel(preModel,login));return"staff/personal";}}6.5.2员工个人体检报告管理 员工个人体检管理,可查看由管理员上传后的属于自己的体检报告详情。该功能设计思路与员工个人信息管理功能基本相同,此处不再加以描述。界面如图6-11所示。图6-11员工个人体检报告管理界面 员工个人体检管理界面核心代码:后台部分核心代码:publicclassSHealthExamController{@AutowiredHealthExamServicehealthExamService;@AutowiredStaffInfoMapperstaffInfoMapper;@AutowiredHealthExamMapperhealthExamMapper;/***返回体检报告列表jsp页面*/@RequestMapping(value="")publicStringindex(ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);//获取当前登录账号信息StaffInfostaffInfo=staffInfoMapper.selectByPrimaryKey(login.getId());modelMap.addAttribute("user",staffInfo);return"staff/health_exam/list";}/***根据查询条件分页查询体检报告数据,然后返回给前台渲染*/@RequestMapping(value="queryList")@ResponseBodypublicObjecttoList(HealthExammodel,Integerpage,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);model.setStaffId(login.getId());//员工ID等于当前登录idreturnhealthExamService.getDataList(model,page,CommonVal.pageSize,login);//分页查询数据}}6.5.3个人疾病管理 个人疾病管理,员工本人可以上传自己的疾病信息,并且可以对其进行增、删、改、查操作。该功能设计前端使用Layui框架实现功能界面,后端使用SpringBoot框架处理页面请求。界面如图6-12所示。图6-12个人疾病管理界面个人疾病管理功能部分核心代码如下,更多代码见附录:后台部分核心代码:/**新增信息*/publicObjectadd_submit(DiseaseLogmodel,ModelMapmodelMap,HttpServletRequestrequest){Stringmsg=diseaseLogService.add(model,login);if(msg.equals("")){rs.put("code",1);rs.put("msg","新增成功");returnrs;}}6.5.4运动记录查询管理 运动记录查询管理,员工可以在该界面查看其他员工的运动情况,并且可以上传自己的运动记录并对其进行增、删、改、查操作。该功能设计该功能设计前端使用Layui框架实现功能界面,后端使用SpringBoot框架处理页面请求。界面如图6-13所示。图6-13运动数据查询管理界面运动记录查询管理功能核心代码如下:后台部分核心代码:publicStringindex(ModelMapmodelMap,IntegerstaffId,HttpServletRequestrequest){modelMap.addAttribute("user",staffInfo);SportLogmodel=newSportLog();model.setStaffId(staffId);return"staff/sport_log/list";}/**查询数据*/publicObjecttoList(SportLogmodel,Integerpage,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);returnsportLogService.getDataList(model,page,CommonVal.pageSize,login);}6.5.5我的运动数据管理 在我的运动数据管理功能中,员工只可以看到自己的运动记录,并对运动记录进行增、删、改、查操作。该功能设计思路与员工个人信息管理功能相同,此处不再赘述。界面如图6-14所示图6-14我的运动数据管理界面我的运动数据管理功能核心代码如下,更多代码见附录:后台部分核心代码:publicObjectadd_submit(SportLogmodel,ModelMapmodelMap,HttpServletRequestrequest){LoginModellogin=(LoginModel)request.getSession().getAttribute(CommonVal.sessionName);Stringmsg=sportLogService.add(model,login);if(msg.equals("")){rs.put("code",1);rs.put("msg","上传成功");returnrs;}}6.5.6公司活动查看 公司活动查看功能允许员工对管理员发布的一些活动进行查看。该功能设计前端使用Layui框架实现功能界面,后端使用SpringBoot框架来解决用户在前端输入数据时与后台进行的数据交换。界面如图6-15所示。图6-15公司活动查看界面 公司活动查看核心代码如下:后台部分核心代码:publicclassSActInfoController{/**查询数据*/publicObjecttoList(ActInfomodel,In
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中医养生集中化竞争策略课件
- 静脉血栓的护理科研方法
- 统编版八年级道德与法治上册《法律保护我们的权利》单元测试卷(含答案解析)
- 2026年教学视频拍摄指南:从脚本设计到成片输出全流程
- 老人眼部健康护理
- 2024年美容职业技能等级考试皮肤护理试题及答案
- 2020年高校库伦分析法结课考试真题卷及答案解析
- 米哈游2025游戏图标设计岗面试笔试题及高分答案
- 2022温州保安员考试刷题包全套试题及逐题答案解析
- 数据精确处理承诺书9篇
- 2025杭州科技职业技术学院教师招聘考试题目及答案
- 社区长者食堂服务规范
- 2026年杭州市实业投资集团有限公司校园招聘笔试参考试题及答案解析
- 雨课堂学堂在线学堂云《人工智能安全与伦理(北京航空航天)》单元测试考核答案
- 国企内部员工管理制度
- 慢性乙型肝炎诊疗规范
- 2026年乌兰察布职业学院单招职业技能测试题库及完整答案详解
- GB/T 21558-2025建筑绝热用硬质聚氨酯泡沫塑料
- 保险公司消保培训课件
- 硫化工岗位操作规程
- 散货船年度运输合同
评论
0/150
提交评论