基于java+ssm+vue的办公自动化管理系统

本文详细介绍了采用Java技术和MySQL数据库开发的办公自动化管理系统,利用SSM框架构建B/S结构的应用。系统涵盖了管理员登录、员工管理、公告管理等多个功能模块,提高了企业办公效率。同时,文章还探讨了系统的关键技术、设计与实现过程以及测试结果。
摘要由CSDN通过智能技术生成

项目介绍

随着计算机应用的普及、成熟,越来越多公司开始采用网上信息管理系统,网上信息管理系统的运行可以有效的提高企业管理效率。因此,为满足企业办公管理方面的需求,开发了办公自动化管理系统。

本文重点阐述了办公自动化管理系统的开发过程,以实际运用为开发背景,基于SSM框架,运用了Java技术和MYSQL作为系统数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了办公管理的重要功能。

本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高企业办公管理效率。

在这里插入图片描述

开发环境

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

系统实现

5.1管理员功能模块的实现
5.1.1管理员登录界面
管理员要想进入本系统进行管理操作,必须登录系统后台,管理员登录界面展示如图5-1所示。
在这里插入图片描述

图5-1 管理员登录界面图

5.1.2员工管理界面
管理员可增删改查员工信息,员工管理界面如图5-2所示。
在这里插入图片描述

图5-2 员工管理界面

5.1.3部门管理界面
管理员可添加、修改和删除部门信息,部门管理界面展示如图5-3所示。
在这里插入图片描述

图5-3 部门管理界面

5.1.4员工档案管理界面
管理员可增删改查员工档案信息,员工档案管理界面展示如图5-4所示,添加员工档案界面展示如图5-5所示。
在这里插入图片描述

图5-4 员工档案管理界面
在这里插入图片描述

图5-5 添加员工档案界面

5.1.5公司公告管理界面
管理员可增删改查公司公告信息,公司公告管理界面如图5-6所示,添加公司公告界面展示如图5-7所示。
在这里插入图片描述

图5-6 公司公告管理界面
在这里插入图片描述

图5-7 添加公司公告界面

5.1.6员工请假管理界面
管理员可查看员工请假信息,并可对其进行审核、修改和删除操作,员工请假管理界面展示如图5-8所示。
在这里插入图片描述

图5-8 员工请假管理界面

5.2员工功能模块的实现
5.2.1员工登录界面
员工在登录界面可输入用户名和密码,选择登录类型,点击登录按钮进行登录系统,员工登录界面如图5-9所示。
在这里插入图片描述

图5-9 员工登录界面

5.2.2系统主界面
用户在系统主界面可查看系统信息,包括首页、公司公告以及公司新闻等,系统主界面展示如图5-10所示。
在这里插入图片描述

图5-10 系统主界面

5.2.3添加员工考勤界面
员工登录后可添加员工考勤信息,添加员工考勤界面如图5-11所示。
在这里插入图片描述

图5-11 添加员工考勤界面

5.2.4员工请假界面
员工通过本平台可进行添加请假,员工请假界面展示如图5-12所示。
在这里插入图片描述

图5-12 员工请假界面

5.3部门功能模块的实现
5.3.1工作内容管理界面
部门可增删改查工作内容信息,工作内容管理界面展示如图5-13所示。
在这里插入图片描述

图5-13 工作内容管理界面

5.3.2工作报表管理界面
部门可增删改查工作报表信息,工作报表管理界面展示如图5-14所示。
在这里插入图片描述

图5-14 工作报表管理界面

核心代码

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 
 */
@RestController
@RequestMapping("men")
public class BumenController {
    @Autowired
    private BumenService bumenService;
    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		BumenEntity user = bumenService.selectOne(new EntityWrapper<BumenEntity>().eq("bumenzhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(), username,"bumen",  "部门" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody BumenEntity bumen){
    	//ValidatorUtils.validateEntity(bumen);
    	BumenEntity user = bumenService.selectOne(new EntityWrapper<BumenEntity>().eq("bumenzhanghao", bumen.getBumenzhanghao()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		bumen.setId(uId);
        bumenService.insert(bumen);
        return R.ok();
    }
	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("ssion")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        BumenEntity user = bumenService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	BumenEntity user = bumenService.selectOne(new EntityWrapper<BumenEntity>().eq("bumenzhanghao", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setMima("123456");
        bumenService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @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("st")
    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("sts")
    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("ve")
    public R save(@RequestBody BumenEntity bumen, HttpServletRequest request){
    	bumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(bumen);
    	BumenEntity user = bumenService.selectOne(new EntityWrapper<BumenEntity>().eq("bumenzhanghao", bumen.getBumenzhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		bumen.setId(new Date().getTime());
        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);
    	BumenEntity user = bumenService.selectOne(new EntityWrapper<BumenEntity>().eq("bumenzhanghao", bumen.getBumenzhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		bumen.setId(new Date().getTime());
        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);
	}
	


}

论文参考

在这里插入图片描述

目 录
1 引言 1
1.1 课题背景 1
1.2 研究现状 1
1.3 论文结构安排 2
2 系统关键技术 3
2.1 JAVA技术 3
2.2 B/S结构 3
2.3 MYSQL数据库 4
2.4 SSM框架 4
3 系统分析 6
3.1 可行性分析 6
3.1.1 技术可行性 6
3.1.2 经济可行性 6
3.1.3 运行可行性 6
3.1.4 法律可行性 6
3.2 系统性能分析 7
3.3 系统功能分析 7
3.4 系统流程分析 9
3.4.1 操作流程 9
3.4.2 添加信息流程 9
3.4.3 修改信息流程图 10
3.4.4 删除信息流程 10
4 系统设计 11
4.1 系统概要设计 11
4.2 系统结构设计 11
4.3 系统顺序图设计 12
4.4 数据库设计 13
4.4.1 数据库E-R图设计 13
4.4.2 数据库表设计 15
5 系统的实现 19
5.1 管理员功能模块的实现 19
5.1.1 管理员登录界面 19
5.1.2 员工管理界面 19
5.1.3 部门管理界面 20
5.1.4 员工档案管理界面 20
5.1.5 公司公告管理界面 21
5.1.6 员工请假管理界面 22
5.2 员工功能模块的实现 22
5.2.1 员工登录界面 22
5.2.2 系统主界面 23
5.2.3 添加员工考勤界面 23
5.2.4 员工请假界面 24
5.3 部门功能模块的实现 24
5.3.1 工作内容管理界面 24
5.3.2 工作报表管理界面 25
6 系统测试 26
6.1 测试定义 26
6.2 测试方法 26
6.3 测试内容 27
6.4 测试结论 27
结论 29
致谢 30
参考文献 31

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值