项目介绍
随着时代的进步,高校对内部信息的处理也有了越来越高的要求,尤其是在教师人事档案管理方面,因为教师的基本信息不同,每个人的情况也不统一,所以要对这些教师的信息进行有差异的管理,并且希望这些信息可以让教师通过自己的账号在系统内进行查看,为此我们开发了本次的基于spring boot的教师人事档案管理系统。
本基于spring boot的教师人事档案管理系统是根据实际情况开发的,系统使用spring boot框架,Java语言和MySQL数据库来进行开发,通过本系统可以让高校内部的管理人员可以更加方便的对人事信息进行管理,同时也提高了工作人员的工作效率。
基于spring boot的教师人事档案管理系统分为高校的管理人员和高校内部的教师两部分,主要实现了个人中心管理,高校内部教师信息管理,教师的档案信息管理,档案变动管理,奖惩信息的管理,教师培训内容的管理,培训报名的管理,课程相关内容的管理,以及论坛管理和系统管理等功能,通过这些功能可以极大的提高高校对人事信息的管理效率。
功能展示
教师人事档案管理系统管理员功能结构图
在本系统中管理员是最高权限用户,可以对系统内的所有信息进行管理主要包括教师基本信息的管理,教师档案的审核管理,档案变动信息的审核管理,教师奖惩信息的管理,培训信息的管理,培训报名的审核管理,以及课程安排和在线论坛的管理等功能,管理员部分功能结构图如图
教师人事档案管理系统教师后台教教师功能结构图
本系统的另外一个用户是教师,教师用户主要功能包括,管理自己的个人档案,申请档案变动,在线查看培训信息和进行报名,查看课表安排等功能,教师部分功能图如图
开发环境
java计算机毕业设计基于springboo+vue的教师人事档案管理系统
开发语言:Java+mysql+vue
开发工具:IDEA /Eclipse
数据库:MYSQL5.7
应用服务:Tomcat7/Tomcat8
使用框架:ssm+vue
可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发
系统截图
首页展示
本系统是一个教师人事档案管理系统,为了能够尽量满足用户的操作习惯,我们在首页的设计的时候参考了一些比较成熟的教务网站的布局,首先是在顶部加入系统的标题和导航条,在首页部门我们还加入了图片轮播的动态效果,然后下面是一些教师人事档案相关的推荐信息。基于springboot的教师人事档案管理系统首页部分具体效果如图
公告展示
对于教师来说他们希望能够获取到最新的一些系统公告和新闻内容,本系统为了满足教师的这些愿望,开发了系统公告模块,教师们通过点击导航菜单中的教师链接可以看到这些最新的资讯内容,并且可以通过点击系统公告的标题对系统公告的详情进行查看,基于springboot的教师人事档案管理系统系统公告信息效果如图
在线论坛
后台展示
后台登录界面
基于spring boot的教师人事档案管理系统分为管理员和教师两个角色,这两个角色都需要在登录后才可以对系统内的信息进行管理,在登录的时候输入用户名+密码,并选择正确的角色即可完成登录操作,如果输入的账号和密码错误系统会给出提示直到输入正确的账号和密码方可登录系统进行相关操作。为了更符合我们系统的主题,登录的背景图我使用的是一个教室和课桌做完背景图。基于spring boot的教师人事档案管理系统登陆界面如图
教师信息
本系统的管理人员要可以对教师信息进行管理,在添加教师的时候输入教师的相关信息,并上传教师的头像之后点击[提交]按钮系统会将信息通过jiaoshiControl将数据提交给数据库,基于spring boot的教师人事档案管理系统教师信息添加界面如图
培训信息
基于spring boot的教师人事档案管理系统的教师用户在进行了培训报名之后管理员可以对教师申请的培训报名进行审核,在审核的时候通过点击审核按钮即可改变审核的状态,同时可以对有误的报名信息进行修改,对不需要的培训报名进行删除,还可以根据字段进行培训报名信息的列表排序。基于springboot的教师人事档案管理系统培训报名管理界面如图
培训服务
培训信息管理,在培训信息管理页面可以查看培训时间、培训地点、授课讲师、天数、发表日期、培训目标、培训内容等信息,并可根据需要进行删除,修改等操作,如图
核心代码
/**
* 培训信息
* 后端接口
* @author
* @email
* @date 2021-01-14 15:15:24
*/
@RestController
@RequestMapping("/peixunxinxi")
public class PeixunxinxiController {
@Autowired
private PeixunxinxiService peixunxinxiService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,PeixunxinxiEntity peixunxinxi, HttpServletRequest request){
EntityWrapper<PeixunxinxiEntity> ew = new EntityWrapper<PeixunxinxiEntity>();
PageUtils page = peixunxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peixunxinxi), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,PeixunxinxiEntity peixunxinxi, HttpServletRequest request){
EntityWrapper<PeixunxinxiEntity> ew = new EntityWrapper<PeixunxinxiEntity>();
PageUtils page = peixunxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peixunxinxi), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( PeixunxinxiEntity peixunxinxi){
EntityWrapper<PeixunxinxiEntity> ew = new EntityWrapper<PeixunxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( peixunxinxi, "peixunxinxi"));
return R.ok().put("data", peixunxinxiService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(PeixunxinxiEntity peixunxinxi){
EntityWrapper< PeixunxinxiEntity> ew = new EntityWrapper< PeixunxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( peixunxinxi, "peixunxinxi"));
PeixunxinxiView peixunxinxiView = peixunxinxiService.selectView(ew);
return R.ok("查询培训信息成功").put("data", peixunxinxiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
PeixunxinxiEntity peixunxinxi = peixunxinxiService.selectById(id);
return R.ok().put("data", peixunxinxi);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
PeixunxinxiEntity peixunxinxi = peixunxinxiService.selectById(id);
return R.ok().put("data", peixunxinxi);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody PeixunxinxiEntity peixunxinxi, HttpServletRequest request){
peixunxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(peixunxinxi);
peixunxinxiService.insert(peixunxinxi);
return R.ok();
}