基于SpringBoot的员工考评管理系统【附源码】(人事管理系统)

基于SpringBoot的员工考评管理系统(人事管理系统)

  1. 开发语言:Java
  2. 数据库:MySQL
  3. 技术:SpringBoot+MyBatis+Vue+ElementUI
  4. 工具:IDEA/Ecilpse、Navicat、Maven

角色:管理员、员工

  • 管理员:管理员登录系统后,可以对首页,个人中心,员工管理,部门管理,员工考勤管理,请假申请管理,加班申请管理,员工工资管理,招聘计划管理,员工培训管理,部门培训管理,员工详细管理。
  • 员工:员工登录进入人事管理系统可以对首页,个人中心,员工考勤管理,请假申请管理,加班申请管理,员工工资管理,招聘计划管理,员工培训管理,部门培训管理,员工详细管理等进行相应操作。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1 系统概述

1.1 概述

  随着社会的迅猛发展,计算机的影响已经深入到各个领域,形成了全面而深刻的影响。在企业当中,员工综合考评管理系统可以有效地帮助企业进行人力资源调配,并且对于企业的稳定和可持续发展有着非常重要的作用。随着人们生活水平的不断提高,公司对员工综合考评管理系统的要求也日益提高,导致需要员工综合考评的人数不断攀升,因此开发员工综合考评管理系统已成为刻不容缓的任务。员工综合考评管理能够有效地解决传统企业人力资源管理工作的问题,使企业更好的适应市场经济环境下竞争激烈的市场。通过运用计算机技术,员工综合考评管理系统实现了信息管理,为员工提供了更多的选择机会,同时也方便了公司对员工信息的实时查询、修改和了解。员工综合考评管理的实现可以有效地提升企业的工作效率,减少人力资源浪费现象的发生,为企业创造出巨大的经济效益和社会效益。员工综合考评管理系统为员工提供了更为便捷的服务,该系统与数据库管理系统软件协同工作,以满足员工的多样化需求。目前我国很多企业都已经建立了员工综合考评管理系统,这不仅为员工提供了更好地发展平台,同时还可以让企业得到更大的效益。由于工作环境的复杂性和人员数量的增加,员工综合考评管理系统存在多个问题,尤其是数据存储不足,导致数据无法得到充分利用,同时还可能出现错误和遗漏;此外,由于系统中没有考虑到员工在不同岗位上的差异,所以不能实现真正意义上的差异化考核。其次,由于企业高度信息化,导致各部门之间的信息交流不畅,从而降低了工作效率,进而妨碍了企业正常的运营。

1.2课题意义

  随着全球信息化的发展,人们的生活节奏越来越快,对信息的时效性越来越重视。以传统的宣传方式为载体的传统媒介早已不能满足员工和公司对获取信息的方式、便捷性的需求。所以员工综合考评管理系统渐渐成为员工和公司关注的焦点。首先,员工综合考评管理系统,网上获取信息的实时性、便捷性要远远高于传统媒介。系统一经上线,无论员工在世界的哪个角落,只要能够连接互联网,就能在第一时间获得想要的信息。

  以往的员工综合考评管理系统相关信息管理,都是工作人员手工统计。这种方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。

  计算机技术在现代管理中的应用,使计算机成为员工应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。

1.3 主要内容

  员工综合考评管理系统从功能、数据流程、可行性、运行环境等方面进行需求分析。对员工综合考评管理系统的数据库、功能进行了详细设计。分析了主要界面设计和相关组件设计,对员工综合考评管理系统的具体实现进行了介绍,从而达到对员工综合考评管理系统的管理。

详细内容介绍,将在以下六章中详细阐述:

第一章、绪论,介绍了研究课题选择的背景及意义、研究现状,简要介绍了本文的章节内容。

第二章、引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。

第三章、重点分析了系统的分析,从系统强大的供需市场出发,对系统开发的可行性,系统流程以及系统性能和功能进行了探讨。

第四章、介绍了系统的详细设计方案,包括系统结构设计和数据库设计。

第五章、系统设计的实现,通过对系统功能设计的详细说明,论证了系统的结构。

第六章、系统的整体测试,评判系统是否可以上线运行。

  采用Java技术,从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种操作,在网页中加入动态内容,从而实现员工综合考评管理系统所需要的各种基本功能。

2 系统开发环境

2.1 springboot技术介绍

  Spring作为一种新兴的、以 Spring为基础的轻量级开发框架,在保留 Spring原有优势的同时,也使 Spring软件的构建与开发变得更加简单,从而大大降低开发人员的开发成本与工作量,提高开发效率。有了 SpringBoot,开发人员就能轻松地创建他们自己的基于产品的程序。SpringBoot也是一种常用的微框架。

2.2 JAVA简介

  Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,JSP(java server pages),和XML技术。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。

2.3访问数据库实现方法

(1)首先介绍一下web数据库搜索网络上的基本步骤:

第一步:检查学生的数据,

第二步:你必须建立与数据库的连接;

第三步:搜索数据库;

第四步:数据的结构;

第五步:该学生的结果被示出。

(2)系统,直到我MYSQL5.0 PHP集成开发环境,如使用WAMP服务器处于开机状态,并且更容易访问数据库的报告开发环境:

一个连接到MySQL数据库服务器Mysql_connect-;

语法:资源的mysql_connect(主机,用户名,密码);

请选择数据库:mysql_select_db(数据库链接标识的名称);

关闭数据库:则mysql_close();

2.4系统对MySQL数据库的两种连接方式

  活动的MySQL/ MySQL库,或使用ODBC接口,MySQL数据库是一个双向链接。永久及非永久连接。

(1)永久连接:一个更永久的连接请求的最大优点是可以非常有效的客户站在密切的联系,当连接到MySQL服务器,就更好了。在起草该页面每一个孩子在这个过程中,而不是仅仅在任何时候,只有在到MySQL服务器请求连接的生命周期,一旦连接。此子过程是建立到服务器的单独连接可以是永久性的。

(2)非永久连接:他是短路。提交顺路到Web服务器,服务器处理请求并请求的页面,你要发送的浏览器客户端,然后连接断开。对于大多数网站,它经常通过有效高效率有关,但在大多数情况下,所使用的连接,但它是一个完整的时间,以避免出现任何问题,并可以增加的容量服务器承载。

2.5 MySql数据库

  Mysql的语言是非结构化的,。因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,其速度、可靠性和适应性而备受关注并得到了普遍的应用。Mysql数据库在编程过程中的作用是很广泛的,为学生和教师进行数据查询带来了方便。Mysql数据库的应用特点:灵活性强,功能强大,语言相对要简洁很多。

  数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据库管理主要是数据存储、修改和增加以及数据表的建立。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

3 系统分析

3.1技术可行性

  员工综合考评管理系统是在Windows操作系统中进行开发运用的,而且目前PC机的各项性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。

  系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。

(1)硬件可行性分析

  系统管理及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。

(2)软件可行性分析

  开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障了数据信息能够得到及时的备份,整个系统可以安全有效的运行。

  因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。

3.2经济可行性

  在员工综合考评管理系统开发之前所做的市场调研及与其相关的其他管理系统,都是没有任何费用的。所有的调查研究都是通过开发者自己的努力,所有的工作也都是自己亲力亲为的。在碰到自己比较难以解决的问题时,大多数是通过指导老师和同学的帮助进行相关问题的解决。所以对于员工综合考评管理系统 的开发在经济上是完全可行的,没有任何费用支出的。

  使用比较成熟的技术,系统是基于Java的开发,采用Mysql数据库。所以系统在开发人力、财力方面的要求不高,具有经济可行性。

3.3操作可行性

  可操作性主要是对员工综合考评管理系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、员工角色,都可以简单明了的进入到自己的系统界面,通过界面可以简单明了地操作功能模块,方便员工和公司信息的操作需求和管理员管理数据信息。对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以员工综合考评管理系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。

3.4系统设计

  本员工综合考评管理系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。

员工综合考评管理系统的设计与实现的设计思想如下:

1、操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询学生综合考评管理系统管理的相关信息。

2、即时可见:对员工综合考评管理系统信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。

3、功能的完善性:可以管理管理员,员工。

3.5系统流程和逻辑

在明确业务需求的前提下,进行系统架构设计,假设在系统需求分析阶段已经明确了系统的功能和业务范围,同时也明确了系统运营的需求。如果要对系统进行进一步的功能分析或者业务流程调整的话,则必须重新定义需求,并通过一定的技术手段将新产生的信息传递到相应部门或组织中去,以满足实际工作的要求。在未确定上述需求的情况下,系统的架构设计并不适宜进行,因此需要回到需求分析阶段,对上述需求进行完善,然后再进行系统的架构设计。

  系统的结构是由一系列模型图构成的,这些模型图是人们理解系统和进行沟通的重要工具。在系统建设时,为了使系统更容易被理解并与其他软件集成,必须建立一个统一的系统架构模型,这个模型可以是一个简单的功能框架、一组组件、一种视图或者一套文档。为了更好地理解系统,这些模型图需要提供给系统的相关人员。在实际工作中,系统架构模型图常常被应用于软件开发过程当中。这些相关人员的知识背景各不相同,对于同一架构模型图,他们的认知和理解也各不相同:如果将开发架构模型图呈现给产品经理或客户,他们必然会感到困惑和无法领会;如果把设计架构模型图给工程师看,他们未必能读懂,但一定能够明白其中的原理,因为工程师在使用架构模型图时必须考虑到这一问题。若仅将逻辑架构图呈现于开发人员眼前,则难以恰当地引导其构建开发环境,这一点毋庸置疑。

  因此,在进行系统架构设计时,必须考虑到系统的多个维度,以确保系统相关干系人能够充分理解系统架构的要求。架构设计是对整个系统进行规划的过程,也是一个系统工程的开始,其目的在于将系统各功能模块之间相互关联起来形成一个有机整体,并使之能够更好地发挥作用。其中逻辑架构是指系统内部各功能模块之间关系,开发架构则包括系统功能实现过程中各个阶段所涉及到的业务逻辑关系。一般而言,系统架构模型的设计需要考虑到逻辑、开发和物理三个方面,因此需要构建相应的模型图。在数据库中进行数据架构模型的设计时,虽然运行架构和物理架构基本相似,但在物理架构中加入了数据的流向,因此一些系统设计采用了物理架构来替代运行架构。

6 系统测试

6.1系统测试的目的

  程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题我们需要测试程序,在测试过程中发现问题并纠正它们,从而使系统更长时间稳定成熟。

  本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。

  软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。

  员工综合考评管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在员工综合考评管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给使用。

6.2系统测试方法

  在对员工综合考评管理系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让员工综合考评管理系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个员工综合考评管理系统 开发所牵扯的该问题都必须一一解决,提高员工综合考评管理系统平台的安全性、稳定性。

白盒测试与黑盒测试是测试中比较常用的两种方法。

①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。

②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。

6.3 测试结果

  经过对一系列测试结果的有效分析,本平台开发系统符合要求和需求。所有的基本功能相对齐全,操作起来简单方便,测试系统性能良好,作为大众化系统使用是比较值得推广宣传的。

package org.xjt.blog.controller;

import com.kennycason.kumo.CollisionMode;
import com.kennycason.kumo.WordCloud;
import com.kennycason.kumo.WordFrequency;
import com.kennycason.kumo.bg.CircleBackground;
import com.kennycason.kumo.font.KumoFont;
import com.kennycason.kumo.font.scale.SqrtFontScalar;
import com.kennycason.kumo.nlp.FrequencyAnalyzer;
import com.kennycason.kumo.nlp.tokenizers.ChineseWordTokenizer;
import com.kennycason.kumo.palette.LinearGradientColorPalette;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.xjt.blog.mapper.TBlogMapper;

import java.awt.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@Controller
@RequestMapping("/test")
public class MyTestController {
    
    
    @Autowired
    private TBlogMapper blogMapper;

    @GetMapping("/wordcloud")
    private void generateWordCloud(){
    
    
        FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
        frequencyAnalyzer.setWordFrequenciesToReturn(600);
        frequencyAnalyzer.setMinWordLength(2);
        frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());
        // 可以直接从文件中读取
        //List<WordFrequency> wordFrequencies = frequencyAnalyzer.load(getInputStream("D:\\citydo-one\\技术\\Java_Note-master\\python\\tp\\Trump.txt"));
        List<WordFrequency> wordFrequencies = new ArrayList<>();
        // 用词语来随机生成词云
        List<String> test = Arrays.asList("你好","谢谢");
        String strValue = "铁路投资=20, 步伐=20, 国际证券=10, 新开工=15, 加快=15, 逆势增长=15, 增速=7, 万亿元=7, 5月份=6, 同增=5, 水利=5, 相比=5, 跌幅=5, 公路=4, 建筑行业=4, 基建=4, 投资额=4, 本周=4, 高铁=4, 铁路=4, 市政=4, 项目=4, 板块=4, 减少=3, 表现=3, 铁路建设=3, 亿元=3, 新线=3, 回落=3, 开通=3, 下跌=3, 中标=3, 上市公司=3, 6月份=3, 细分=2, 六保=2, 三大=2, 单相=2, 单月=2, 六稳=2, 建筑板块=2, 2项=2, 0.11=2, 洪涝灾害=2, 增长=2, 基建投资=2, 全国铁路=2, 最小=2, 投资=2, 作用=2, 稳步复苏=2, 行业=2, 相关=2, 提升=2, 地产=2, 火车头=2, 预计=2, 央企=2, 建筑=2, 施工=2, 来源=2, 地产投资=2, 签订=2, 比上周=2, 区间=2, 不及预期=2, 34.6=2, 中的=2, 8.4=2, 同比分别=2, 大幅提升=1, 持续=1, 建设步伐=1, 环比=1, 口径=1, 115=1, 其次是=1, 公布=1, 当月=1, 建筑指数=1, 24个=1, 2.85=1, 据介绍=1, 2020年=1, 产业链=1, 行业投资=1, 投资增速=1, 10.8=1, 较上周=1, 亮眼=1, 电热=1, 多个=1, 29.2=1, 欠佳=1, 装配式建筑=1, 收盘=1, ppp=1, 总体=1, 复工=1, 建中=1, 中国=1, 6.3=1, 6.5=1, 下挫=1, 发行=1, 0.07=1, 合计=1, 跑赢大盘=1, 稳步增长=1, 大盘=1, 下半年=1, 3项=1, 计为=1, 气水=1, 0.14=1, 好于=1, 概念板块=1, 金融界=1, 分别为=1, 专项=1, 明显加快=1, 上涨=1, 订单金额=1, 上半年=1, 增速放缓=1, 0.44=1, 开工=1, 1.08=1, 超过=1, 30.1=1, 整体估值=1, 4.5=1, 1.8pct=1, 0.020=1, 八大=1, 1178=1, epc=1, 主要风险=1, 0.60=1, 公用=1, 申万=1, 连镇=1, 2084.43=1, 显现=1, 有望=1, 跌幅为=1, 投资数据=1, 合并=1, 改善=1, 复苏=1, 0.87=1, 0.950=1, 0.85=1, 新开工项目=1, 评级=1, 北段=1, 影响=1, 房地产开发投资=1, 影响下=1, 主要是=1, 0.90=1, 园林工程=1, 2.36=1, 1.68=1, 0.93=1, 涨幅=1, 二级=1, 6月=1, 建筑节能=1, 建筑工程=1, 情况=1, 交运=1, 四大=1, 网站=1, 下降=1, 邮储=1, 开始显现=1, 设计=1, 格库铁路=1, 12.1=1, 2.39=1, 微涨=1, 3.05=1, 所致=1, 继续保持=1, 5000=1, 认为是=1, 3.19=1, 4400公里=1, 新疆=1, 2300公里=1, 订单=1, 分支=1, 公里=1";
        String[] split = strValue.split(", ");
        String word = "";
        int count = 0;

        for (int i = 0; i < split.length; i++) {
    
    
            String[] wordInfo = split[i].split("=");
            word = wordInfo[0];
            count = Integer.valueOf(wordInfo[1]);
            wordFrequencies.add(new WordFrequency(word, count));
        }
        //加入分词并随机生成权重,每次生成得图片都不一样
        //test.stream().forEach(e-> wordFrequencies.add(new WordFrequency(e,new Random().nextInt(test.size()))));
        //此处不设置会出现中文乱码
        java.awt.Font font = new java.awt.Font("STSong-Light", 2, 18);
        //设置图片分辨率
        Dimension dimension = new Dimension(500, 500);
        //此处的设置采用内置常量即可,生成词云对象
        WordCloud wordCloud = new WordCloud(dimension, CollisionMode.PIXEL_PERFECT);
        //设置边界及字体
        wordCloud.setPadding(2);
        //因为我这边是生成一个圆形,这边设置圆的半径
        wordCloud.setBackground(new CircleBackground(255));
        wordCloud.setFontScalar(new SqrtFontScalar(12, 42));
        //设置词云显示的三种颜色,越靠前设置表示词频越高的词语的颜色
        wordCloud.setColorPalette(new LinearGradientColorPalette(Color.RED, Color.BLUE, Color.GREEN, 30, 30));
        wordCloud.setKumoFont(new KumoFont(font));
        wordCloud.setBackgroundColor(new Color(255, 255, 255));
        //因为我这边是生成一个圆形,这边设置圆的半径
        wordCloud.setBackground(new CircleBackground(255));
        wordCloud.build(wordFrequencies);
        //生成词云图路径
        wordCloud.writeToFile("E:\\wordCount.png");
    }
}

猜你喜欢

转载自blog.csdn.net/2301_78335941/article/details/131038039
今日推荐