基于java+ssm+vue的企业员工岗前培训管理系统

项目介绍

有效的处理想要的相关信息和如何传播有效的信息,一直是人类不断探索的动力。人类文明火种的传承都是通过了多种媒介作为载体,也是随着社会生产力的发展不断的更新。随着互联网的到来,信息传播与管理都上升了一个新的台阶,并且方便应用的同时也要考虑信息传播的安全性,所以编程语言创建之初就考虑了这些问题。开发企业员工岗前培训管理系统程序,用户登录成功才可以访问相应的功能,不成功或者不登录直接拒绝访问某些功能,通过session会话的安全机制有效的区分是否为合法用户。企业员工岗前培训管理系统使用Java语言进行开发,后台用SSM框架实现,前端用VUE技术。程序有管理员,部门主管,员工三个角色。管理员功能有个人中心,部门主管管理,员工管理,部门管理,培训资源管理,培训需求管理,培训计划管理,培训活动管理,培训课程管理。部门主管功能有个人中心,员工管理,培训需求管理,培训计划管理,培训活动管理,培训课程管理。员工功能有个人中心,培训需求管理,培训计划管理,培训活动管理,培训课程管理。用新技术开发的程序相比原有的线下办公模式不管是从成本上还是安全性方面,效率不仅大大提升还能解决线下办公的一些问题。数字化办公,信息化处理,让信息管理的效率提升也能降低成本,并且安全性也有保障,才是符合当今社会发展的应用。

4.1系统功能结构设计
在使用用例图绘制管理员的功能之后,需要对管理员的功能进行更加细致的设计,也是为下阶段的系统实现做好准备。设计管理员的功能使用结构图展示(见下图)。管理员功能有个人中心,部门主管管理,员工管理,部门管理,培训资源管理,培训需求管理,培训计划管理,培训活动管理,培训课程管理。部门主管功能有个人中心,员工管理,培训需求管理,培训计划管理,培训活动管理,培训课程管理。员工功能有个人中心,培训需求管理,培训计划管理,培训活动管理,培训课程管理。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序/vue/爬虫/c#/asp.net

系统实现

5.1管理员功能介绍
5.1.1部门主管管理
管理员可以添加,修改,删除,查询部门主管信息。
在这里插入图片描述

图5.1 部门主管管理页面

5.1.2 员工管理
管理员可以添加,修改,删除,查询员工信息。
在这里插入图片描述

图5.2 员工管理页面

5.1.3 部门管理
管理员可以添加,修改,删除,查询部门信息。
在这里插入图片描述

图5.3 产品商城管理页面

5.2 部门主管功能介绍
5.2.1员工管理
部门主管可以管理本部门的员工信息。
在这里插入图片描述

图5.4 员工管理页面

5.2.2个人信息
部门主管可以修改个人信息。
在这里插入图片描述

图5.5 个人信息页面

5.2.3培训需求管理
部门主管可以审核和查看以及搜索培训需求信息。
在这里插入图片描述

图5.6 培训需求管理页面

5.3 员工功能介绍
5.3.1培训计划
员工可以查看自己的培训计划。
在这里插入图片描述

图5.7 培训计划页面

5.3.2培训活动
员工可以查看自己的培训活动。
在这里插入图片描述

图5.8 培训活动页面

核心代码

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 java.io.IOException;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
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.PeixunxuqiuEntity;
import com.entity.view.PeixunxuqiuView;

import com.service.PeixunxuqiuService;
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 
 */
@RestController
@RequestMapping("/peixunxuqiu")
public class PeixunxuqiuController {
    @Autowired
    private PeixunxuqiuService peixunxuqiuService;



    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,PeixunxuqiuEntity peixunxuqiu, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yuangong")) {
			peixunxuqiu.setYuangonggonghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("bumenzhuguan")) {
			peixunxuqiu.setZhuguanzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<PeixunxuqiuEntity> ew = new EntityWrapper<PeixunxuqiuEntity>();
		PageUtils page = peixunxuqiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peixunxuqiu), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,PeixunxuqiuEntity peixunxuqiu, 
		HttpServletRequest request){
        EntityWrapper<PeixunxuqiuEntity> ew = new EntityWrapper<PeixunxuqiuEntity>();
		PageUtils page = peixunxuqiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peixunxuqiu), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(PeixunxuqiuEntity peixunxuqiu){
        EntityWrapper< PeixunxuqiuEntity> ew = new EntityWrapper< PeixunxuqiuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( peixunxuqiu, "peixunxuqiu")); 
		PeixunxuqiuView peixunxuqiuView =  peixunxuqiuService.selectView(ew);
		return R.ok("查询培训需求成功").put("data", peixunxuqiuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        PeixunxuqiuEntity peixunxuqiu = peixunxuqiuService.selectById(id);
        return R.ok().put("data", peixunxuqiu);
    }

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



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody PeixunxuqiuEntity peixunxuqiu, HttpServletRequest request){
    	peixunxuqiu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(peixunxuqiu);

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

        peixunxuqiuService.insert(peixunxuqiu);
        return R.ok();
    }

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        peixunxuqiuService.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<PeixunxuqiuEntity> wrapper = new EntityWrapper<PeixunxuqiuEntity>();
		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("yuangong")) {
			wrapper.eq("yuangonggonghao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("bumenzhuguan")) {
			wrapper.eq("zhuguanzhanghao", (String)request.getSession().getAttribute("username"));
		}

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







}

论文参考

在这里插入图片描述

目 录
1 绪论 1
1.1研究背景 1
1.2目的和意义 1
1.3论文结构安排 2
2 开发环境 3
2.1 Mysql数据库 3
2.2 SSM框架 3
2.3 IDEA 开发工具 3
2.4 VUE技术 4
3 系统分析 5
3.1系统可行性分析 5
3.1.1 时间可行性分析 5
3.1.2 技术可行性分析 5
3.1.3 经济可行性分析 5
3.1.4 操作可行性分析 6
3.2系统性能分析 6
3.3系统流程分析 7
4 系统设计 9
4.1系统功能结构设计 9
4.2数据库设计 9
4.2.1数据库E-R图 10
4.2.2 数据库表结构 11
5 系统实现 16
5.1管理员功能介绍 16
5.1.1部门主管管理 16
5.1.2 员工管理 16
5.1.3 部门管理 17
5.2 部门主管功能介绍 18
5.2.1员工管理 18
5.2.2个人信息 18
5.2.3培训需求管理 19
5.3 员工功能介绍 19
5.3.1培训计划 19
5.3.2培训活动 20
6系统测试 21
6.1 本系统测试 21
6.2 测试结果分析 21
7 结论 22
7.1 设计工作总结 22
7.2 未来工作展望 22
参考文献 24
致 谢 25

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、功能说明     员工培训管理系统分为职工管理、教员管理、课程管理、教学管理、选课管理以及成绩管理六个功能模块。     (1)职工管理模块主要是对职工的基本信息(如职工号、职工姓名、性别等)进行管理。本模块又分为五个子模块: ◇显示、录入、查询、修改、删除 (2)教员管理模块主要是对教员的基本信息(如教员号、教员姓名等)进行管理。本模块又分为四个子模块: ◇录入、修改、查询、删除  (3)课程管理模块主要是对课程的基本信息(如课程号、课程名称、学时等)进行管理。本模块又分为五个子模块: ◇显示、录入、查询、修改、删除 (4)教学管理模块主要是对教学的基本信息(如课程号、课程名称、教员号、教员姓名等)进行管理。本模块又分为四个子模块: ◇录入、查询、修改、删除 (5)选课管理模块主要是对选课的基本信息(如课程号、课程名称、职工号、职工姓名等)进行管理。本模块又分为四个子模块: ◇录入、查询、修改、删除 (6)成绩管理模块主要是对成绩的基本信息(如课程号、课程名称、职工号、职工姓名、成绩等)进行管理。本模块又分为四个子模块: ◇显示、录入、查询、修改 2、操作向导 在使用本系统之前,首先拥要有自己的用户名与密码,才能登录此系统。若没有则可先注册,然后再登录。进入主界面后,就可进行一系列的操作。可对职工、教员、课程、教学、选课、成绩管理进行操作,对每一个子系统可进行显示、录入、查询、修改、删除等操作。 注意:在使用本系统时,员工号、课程号、教员号的位数均为3位。
一、项目简介本课程演示的是一套基于SSM实现的员工管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。课程包含:1. 项目源码、项目文档、数据库脚本、软件工具等所有资料2. 带你从零开始部署运行本套系统3. 该项目附带的源码资料可作为毕设使用4. 提供技术答疑二、技术实现后台框架:Spring、SpringMVC、MyBatisUI界面:JSP、jQuery 、H-ui数据库:MySQL 三、系统功能该系统共包含两种角色:员工、管理员,主要分为前台和后台两大模块。1.前台模块 前台首页、闻公告、员工活动、职位招聘、留言板、用户注册、用户登录、个人中心、我的考勤、我的奖惩、我的培训、我的薪资、修改密码等功能。2.后台模块 系统后台登陆、管理员管理、员工信息管理、部门管理、职务管理、考勤类别管理、员工考勤管理、员工奖惩管理、员工培训管理、员工薪资管理、网站栏目管理、网站内容管理、职位招聘管理、求职简历管理、留言交流管理、留言回复管理等功能。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 四、项目截图1)前台首面 2)个人信息页面 3)员工信息管理页面 4)员工考勤管理页面 5)员工薪资管理页面  更多Java毕设项目请关注【毕设系列课程】https://edu.csdn.net/lecturer/2104    

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q_2781179521

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值