文末获取源码

开发语言:Java

框架:springboot

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

一、前言介绍

科学时代的发展改变了人类的生活,促使网络与计算机技术深入人类的各个角落,得以普及到人类的具体生活中,为人类的时代文明掀开新的篇章。本系统为月度员工绩效考核管理系统,是专为企业开发的对员工考核的协助软件。可以帮助企业对于员工的绩效考核进行更为正规、规范的管理,使企业管理更加的轻松快捷。

本月度员工绩效考核管理系统采用java语言做为代码编写工具,采用mysql数据库进行系统中信息的存储与处理。框架采用springboot。本月度员工绩效考核管理系统调试环境为myeclipse,服务器为tomcat。主要包括的内容有部门方面、员工方面、绩效考核方面、绩效指标方面。员工可以查询绩效指标和绩效考核详情,管理员进行发布和管理。本系统结合了新时代的工作要求和获得了先进技术的支持,适应时代发展,为使用人员提供了极好的绩效考核途径。

二、系统开发功能分析

本系统的功能分为管理员和员工两个角色,管理员的功能有:

(1)个人中心管理功能,添加管理员账号和修改登录密码;

(2)部门信息管理功能,对企业中的部门进行合理安排;

(3)员工信息管理功能,对企业中的员工的基本资料进行维护;

(4)绩效考核管理功能,发布员工的绩效考核,修改和删除不正确的绩效考核;

(5)岗位信息管理功能,对员工的岗位进行分配;

(6)公告信息管理功能,发布公告和管理公告;

(7)绩效指标管理功能,需要考核的指标进行设置,

员工的功能有:

(1)个人资料管理功能,对本人基本信息进行维护;

(2)公告信息管理功能,实现在线查询公告;

(3)绩效考核管理功能,查询自己的考核信息;

(4)绩效指标管理功能,查询考核的指标。

2.1系统功能结构设计

根据系统分析中分析出来的功能,本系统的主要功能包括部门管理、岗位管理、绩效指标管理、绩效考核管理、员工管理、通知管理等。本系统的功能结构设计如下图所示:

三、管理员功能实现

3.1系统登录页面

3.2个人中心管理功能模块实现

本界面主要是对管理员账号和密码进行设置,是管理员角色的操作功能,员工不能添加管理员账号、个人中心管理功能实现界面如下图

3.3部门信息管理模块实现

部门信息是管理员角色的功能,管理员可以为企业添加新的部门,可以查询部门的创建时间,管理员添加部门信息的实现界面如下图

3.4员工信息管理模块实现

管理员可以在新员工招入时进行添加,对员工进行部门的安排和备注的添加。管理员 管理员添加员工信息界面如下图

3.5绩效指标管理模块实现

本功能是为了方便管理员对员工进行绩效考核,添加绩效指标的实现界面如下图所示

3.6公告信息管理模块的实现

本功能可以实现公告的发布,添加公告信息功能模块的实现界面如下图所示

3.7岗位管理模块的实现

管理员可以对员工分配岗位,管理员查询岗位的实现界面如下图所示

3.8绩效考核管理模块的实现

发布员工的绩效考核,绩效考核信息的实现界面如下图所示

四、员工功能的界面实现

员工可以查询公告和绩效指标、绩效考核信息,也可以修改个人资料和密码。实现界面如下图所示

五、部分核心代码

/*** 上传文件映射表*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{@Autowiredprivate ConfigService configService;/*** 上传文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException("上传文件不能为空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}String fileName = new Date().getTime()+"."+fileExt;File dest = new File(upload.getAbsolutePath()+"/"+fileName);file.transferTo(dest);/*** 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开* 请将以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径,* 并且项目路径不能存在中文、空格等特殊字符*/
//      FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下载文件*/@IgnoreAuth@RequestMapping("/download")public ResponseEntity<byte[]> download(@RequestParam String fileName) {try {File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}File file = new File(upload.getAbsolutePath()+"/"+fileName);if(file.exists()){/*if(!fileService.canRead(file, SessionManager.getSessionUser())){getResponse().sendError(403);}*/HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    headers.setContentDispositionFormData("attachment", fileName);    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);}}
RestController
@RequestMapping("/kechengchengji")
public class KechengchengjiController {@Autowiredprivate KechengchengjiService kechengchengjiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,KechengchengjiEntity kechengchengji,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {kechengchengji.setJiaoshizhanghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("xuesheng")) {kechengchengji.setXuehao((String)request.getSession().getAttribute("username"));}EntityWrapper<KechengchengjiEntity> ew = new EntityWrapper<KechengchengjiEntity>();PageUtils page = kechengchengjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengchengji), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,KechengchengjiEntity kechengchengji, HttpServletRequest request){EntityWrapper<KechengchengjiEntity> ew = new EntityWrapper<KechengchengjiEntity>();PageUtils page = kechengchengjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengchengji), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( KechengchengjiEntity kechengchengji){EntityWrapper<KechengchengjiEntity> ew = new EntityWrapper<KechengchengjiEntity>();ew.allEq(MPUtil.allEQMapPre( kechengchengji, "kechengchengji")); return R.ok().put("data", kechengchengjiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(KechengchengjiEntity kechengchengji){EntityWrapper< KechengchengjiEntity> ew = new EntityWrapper< KechengchengjiEntity>();ew.allEq(MPUtil.allEQMapPre( kechengchengji, "kechengchengji")); KechengchengjiView kechengchengjiView =  kechengchengjiService.selectView(ew);return R.ok("查询课程成绩成功").put("data", kechengchengjiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){KechengchengjiEntity kechengchengji = kechengchengjiService.selectById(id);return R.ok().put("data", kechengchengji);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){KechengchengjiEntity kechengchengji = kechengchengjiService.selectById(id);return R.ok().put("data", kechengchengji);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody KechengchengjiEntity kechengchengji, HttpServletRequest request){kechengchengji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(kechengchengji);kechengchengjiService.insert(kechengchengji);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody KechengchengjiEntity kechengchengji, HttpServletRequest request){kechengchengji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(kechengchengji);kechengchengjiService.insert(kechengchengji);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody KechengchengjiEntity kechengchengji, HttpServletRequest request){//ValidatorUtils.validateEntity(kechengchengji);kechengchengjiService.updateById(kechengchengji);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){kechengchengjiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<KechengchengjiEntity> wrapper = new EntityWrapper<KechengchengjiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {wrapper.eq("jiaoshizhanghao", (String)request.getSession().getAttribute("username"));}if(tableName.equals("xuesheng")) {wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));}int count = kechengchengjiService.selectCount(wrapper);return R.ok().put("count", count);}}

SpringBoot+Vue项目月度员工绩效考核管理系统相关推荐

  1. Springboot+vue+java企业员工绩效考核管理系统

    系统登录页面 3.2个人中心管理功能模块实现 本界面主要是对管理员账号和密码进行设置,是管理员角色的操作功能,员工不能添加管理员账号.个人中心管理功能实现界面如下图 3.3部门信息管理模块实现 部门信 ...

  2. 基于Java+SpringBoot+vue+element月度员工绩效考核管理系设计实现

    博主介绍:✌全网粉丝30W+,csdn特邀作者.博客专家.CSDN新星计划导师.Java领域优质创作者,博客之星.掘金/华为云/阿里云/InfoQ等平台优质作者.专注于Java技术领域和毕业项目实战✌

  3. python月度员工绩效考核管理系统vue

    员工的功能有: (1)个人资料管理功能,对本人基本信息进行维护; (2)公告信息管理功能,实现在线查询公告; (3)绩效考核管理功能,查询自己的考核信息; (4)绩效指标管理功能,查询考核的指标. 本 ...

  4. Java项目:企业员工绩效工资管理系统(java+SpringBoot+FreeMarker+Mysql)

    源码获取:博客首页 "资源" 里下载! 超级管理员等角色,除基础脚手架外,实现的功能有: 超级管理员:系统管理.用户管理(冻结等).职称管理.部门管理(工资项).岗位管理(考核指标 ...

  5. python+django企业员工绩效考核管理系统vue

    开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql   数据库工具:Navicat11 开发软件:PyCharm 本系统的功能分为管理员和员工两个 ...

  6. Springboot毕设项目绩效考核管理系统m29awjava+VUE+Mybatis+Maven+Mysql+sprnig)

    Springboot毕设项目绩效考核管理系统m29awjava+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysq ...

  7. Java毕设项目员工绩效考核系统分析与设计(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目员工绩效考核系统分析与设计(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilder ...

  8. java后台oa项目整套,[VIP源码]【S020】springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码...

    java源码项目名称:springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码springboot项目源码0 `" C+ a" `" ~0 ...

  9. springboot毕设项目蔬菜种植水肥一体化管理系统70ro1(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目蔬菜种植水肥一体化管理系统70ro1(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...

最新文章

  1. 如何找出错误ora-07445发生时系统执行的语句
  2. python requests post提交数据报错
  3. QGridLayout比例
  4. 常见的HTTP Method深度解析
  5. 这几个关乎我们一生教养的原则,每个人都应该知道。
  6. C语言单向动态链表程序,实现链表的建立,合并,重新排序,链表元素的插入与删除,以及根据元素成员的值进行元素删除。
  7. 丰巢强制收费引吐槽,杭州硬核小区用行动抵制:停用!
  8. Linux+c语言结构体对齐,C语言中结构体struct的对齐问题解析
  9. BI开发之——ETL注意细节
  10. poj 1655 Balancing Act(求树的重心)
  11. Linux中的常用命令
  12. 论文笔记_S2D.45_ORBSLAM-Atlas: 一个稳健和精确的多建图系统
  13. 简述Java内存模型的happen before原则
  14. 软件测试面试题整理(六)之app测试篇
  15. SpringBoot2.X 单元测试(Junit4.X) 基本配置
  16. 天正计算机命令大全,新手必看-史上最全CAD快捷键大全
  17. Linux(CentOS)如何上外网
  18. 一键生成?从照片生成人脸 3D 模型 #AvatarMe
  19. Espresso Idling Resource 使用
  20. 云主机搭建Git服务器 1

热门文章

  1. EclipseADT在虚拟机上运行Helloworld程序
  2. 首次提交项目报错push to origin/master was rejected解决方案
  3. 解决SpringBoot项目构建缓慢问题
  4. 计算机的收获初一作文,写收获的初一作文五篇
  5. c语言代码 txt下载,俄罗斯方块C语言源代码txt.DOC
  6. 冬季要小心冷风引发过敏
  7. 网易云音乐普通用户播放VIP音乐的改变————令人感动的设计
  8. tongweb java_home_东方通 TongWeb安装(安装截图懒得放了)
  9. docker-compose安装mongoDB详细步骤
  10. 不能直接打开excel文件的原因