springboot009月度员工绩效考核管理系统设计与实现(源码文档)

博主介绍:专注于Java(springboot ssm 等开发框架) vue  .net  php phython node.js    uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了2000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
文末下方有源码获取地址

springboot009月度员工绩效考核管理系统录像(含源码文档)

3.2系统功能结构设计

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

图3.1系统功能结构图

3.3数据库结构设计

对于数据库的设计包括数据库的ER图设计和数据库表的设计。数据库的ER图就是对系统中数据的实体和关键字进行设置。数据库表的设计就是把ER图转换成表格,具体的设计下两节介绍。

3.3.1数据库ER图设计

本系统中的主要数据有管理员信息、员工信息、绩效指标信息、绩效考核信息等,主要画出关键实体。

3.3.2数据库表设计

   本系统中的数据库表有管理员信息表、员工信息表、公告信息表、绩效考核信息表、绩效指标表等,具体的表设计如下表所示:

表3.1 bumen

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

addtime

timestamp

CURRENT_TIMESTAMP

3

bumen

varchar

200

表3.2 config

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

name

varchar

100

3

value

varchar

100

表3.3 gangwei

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

addtime

timestamp

CURRENT_TIMESTAMP

3

gangwei

varchar

200

表3.4 gonggaoxinxi

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

addtime

timestamp

CURRENT_TIMESTAMP

3

gonggaobiaoti

varchar

200

4

tupian

varchar

200

5

neirong

longtext

6

faburiqi

date

表3.5 jixiaokaohe

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

addtime

timestamp

CURRENT_TIMESTAMP

3

yuangonggonghao

varchar

200

4

yuangongxingming

varchar

200

5

bumen

varchar

200

6

gangwei

varchar

200

7

jixiaoyuefen

varchar

200

8

yuangongkaoqin

int

11

9

gongzuotaidu

int

11

10

yewujineng

int

11

11

gongzuojixiao

int

11

12

zongdefen

varchar

200

13

jixiaodengji

varchar

200

表3.6 jixiaozhibiao

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

addtime

timestamp

CURRENT_TIMESTAMP

3

bumen

varchar

200

4

gangwei

varchar

200

5

jixiaoxiangmu

varchar

200

6

jixiaozhibiao1

varchar

200

7

fenzhi1

int

11

8

jixiaozhibiao2

varchar

200

9

fenzhi2

int

11

10

jixiaozhibiao3

varchar

200

11

fenzhi3

int

11

12

zongpingfen

varchar

200

第4章 系统实现

4.1系统主要模块的实现

4.1.1系统登录模块实现

本模块界面加入了系统标题和角色的选择,在本界面中采用了图形和控件进行合理摆放的方法进行设计,还加入了合适的背景图片,使登录界面更加的直观。系统登录模块设计实现界面如下图4.1所示:

图4.1系统登录模块界面实现

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

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

 

图4.2个人中心管理模块实现界面

4.1.3部门信息管理模块实现

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

图4.3管理员添加部门信息实现界面

管理员添加部门信息的流程为,先进行必要字段的填写,数据库进行判定是否合法、是否为空,然后进行数据库信息的插入。

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.BumenEntity;
import com.entity.view.BumenView;

import com.service.BumenService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 部门
 * 后端接口
 * @author 
 * @email 
 * @date 2021-05-07 10:42:31
 */
@RestController
@RequestMapping("/bumen")
public class BumenController {
    @Autowired
    private BumenService bumenService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,BumenEntity bumen,
		HttpServletRequest request){
        EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();
		PageUtils page = bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,BumenEntity bumen, 
		HttpServletRequest request){
        EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();
		PageUtils page = bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( BumenEntity bumen){
       	EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();
      	ew.allEq(MPUtil.allEQMapPre( bumen, "bumen")); 
        return R.ok().put("data", bumenService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(BumenEntity bumen){
        EntityWrapper< BumenEntity> ew = new EntityWrapper< BumenEntity>();
 		ew.allEq(MPUtil.allEQMapPre( bumen, "bumen")); 
		BumenView bumenView =  bumenService.selectView(ew);
		return R.ok("查询部门成功").put("data", bumenView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        BumenEntity bumen = bumenService.selectById(id);
        return R.ok().put("data", bumen);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        BumenEntity bumen = bumenService.selectById(id);
        return R.ok().put("data", bumen);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody BumenEntity bumen, HttpServletRequest request){
    	bumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(bumen);
        bumenService.insert(bumen);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody BumenEntity bumen, HttpServletRequest request){
    	bumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(bumen);
        bumenService.insert(bumen);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody BumenEntity bumen, HttpServletRequest request){
        //ValidatorUtils.validateEntity(bumen);
        bumenService.updateById(bumen);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        bumenService.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<BumenEntity> wrapper = new EntityWrapper<BumenEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = bumenService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

4.1.4部门信息管理模块实现

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

 

图4.4管理员添加员工信息界面实现

4.1.5绩效指标管理模块实现

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

 

图4.5添加绩效指标模块的界面实现

大家点赞、收藏、关注、评论啦  其他的定制服务 商务合作  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者