环境需要 1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。 2.IDE环境:IDEA,Eclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目:是; 技术栈 后端:Spring+SpringMVC+Mybatis+Springboot 前端:vue+CSS+JavaScript+jQuery+elementui 系统管理也都将通过计算机进行整体智能化操作,对于网上办公自动化系统所牵扯的管理及数据保存都是非常多的,例如管理员:首页、个人中心、员工管理、员工打卡管理、请假登记管理、工资信息管理、通告信息管理:员工:首页、个人中心、文件信息管理、会议记录管理、日程安排管理、员工打卡管理、请假登记管理、工资信息管理、通告信息管理:等,这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通过笔记的方式进行详细信息的统计,后来出现电脑,通过电脑输入软件将纸质的信息统计到电脑上,这种方式比较传统,而且想要统计数据信息比较麻烦,还受时间和空间的影响,所以为此开发了网上办公自动化系统:为员工提供了方便管理平台,方便管理员查看及维护,并且可以通过需求进行内容的编辑及维护等:对于员工而言,可以随时进行查询所需信息,管理员可以足不出户就可以获取到系统的数据信息等,而且还能节省员工很多时间,所以开发网上办公自动化系统给管理者与用户带来了很大的方便,同时也方便管理员对员工信息进行处理。
员工功能模块
- 注册、登录,员工通过注册页面填写工号、密码、姓名、性别、联系电话、邮箱、身份证进行注册,信息无误进行登陆
- 员工登录进入后台网课课程管理系统可以查看首页、个人中心、文件信息管理、会议记录管理、日程安排管理、员工打卡管理、请假登记管理、工资信息管理、通告信息管理等内容。
- 个人信息
- 文件信息管理:员工通过文件信息列表可以查看新增、详情、修改、删除等信息
- 会议记录管理
- 日程安排管理:员工通过日程安排列表可以新增填写工号、姓名、标题、时间、日程内容进行提交操作
- 员工打卡管理
- 请假登记管理:员工通过请假登记列表可以新增填写工号、姓名、请假时间、请假天数、请假理由进行提交操作,管理员进行审核回复
- 通告信息管理:员工通过通告信息查看公告标题、公告类型、发布人、发布时间、公告内容等信息,进行详情查看
使用网上办公自动化系统分别为管理员和员工两个权限子模块。 1:管理员所能使用的功能主要有首页、个人中心、员工管理、员工打卡管理、请假登记管理、工资信息管理、通告信息管理等。 2:员工可以实现首页、个人中心、文件信息管理、会议记录管理、日程安排管理、员工打卡管理、请假登记管理、工资信息管理、通告信息管理等。
管理员功能模块
- 管理员登录成功后进入到系统操作界面,查看后台:首页、个人中心、员工打卡管理、请假登记管理、员工管理、工资信息管理、通告信息管理、资产报废管理、资产归还管理、资产事务管理等功能模块进行相对应操作。
- 个人中心:管理员通过密码修改列表可以获取原密码、新密码、确认密码等内容,可以进行修改或删除操作
- 员工管理:管理员通过员工信息列表可以获取工号、姓名、性别、联系电话、邮箱、身份证、照片等信息,进行详情或删除操作
- 员工打卡管理
- 请假登记管理:管理员通过请假登记列表可以获取工号、姓名、请假时间、请假天数等信息,可进行审核回复、详情查看
- 工资信息管理:管理员通过工资信息列表可以新增员工工资,进行详情、修改或删除操作
- 通告信息管理:管理员通过通告信息列表查看公告标题、公告类型、发布人、发布时间、公告内容等信息,进行详情、修改或删除操作
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
userService.updateById(user);
return R.ok();
}
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 使用工具简介 4 2.2 环境配置 4 2.3 B/S结构简介 4 2.4 MySQL数据库 5 2.5 框架介绍 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可行性 6 3.2系统现状分析 6 3.3功能需求分析 7 3.4系统设计规则与运行环境 8 3.5系统流程分析 8 3.5.1操作流程 8 3.5.2添加信息流程 9 3.5.3删除信息流程 10 4 系统设计 11 4.1系统设计主要功能 11 4.2数据库设计 11 4.2.1数据库设计规范 11 4.2.2 E/R图 11 4.2.3数据表 12 5 系统实现 25 5.1系统功能模块 25 5.2后台模块 27 5.2.1管理员功能模块 27 5.2.2用户功能模块 30 6 系统测试 33 6.1功能测试 33 6.2可用性测试 33 6.3性能测试 34 6.4测试结果分析 34 7结 论 35 参考文献 36 致 谢 37
|