项目介绍
有效的处理想要的相关信息和如何传播有效的信息,一直是人类不断探索的动力。人类文明火种的传承都是通过了多种媒介作为载体,也是随着社会生产力的发展不断的更新。随着互联网的到来,信息传播与管理都上升了一个新的台阶,并且方便应用的同时也要考虑信息传播的安全性,所以编程语言创建之初就考虑了这些问题。开发企业员工岗前培训管理系统程序,用户登录成功才可以访问相应的功能,不成功或者不登录直接拒绝访问某些功能,通过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