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

收藏关注不迷路,源码文章末


前言

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

关键词:办公自动化管理,Java技术,数据库,SSM框架

一、项目介绍

  本办公自动化管理系统主要包括员工功能模块、部门功能模块和管理员功能模块3大部分,下面将对这三大功能模块分别进行功能分析。
(1)管理员:管理员登录后主要功能模块包括个人中心、员工管理、部门管理、员工档案管理、员工考勤管理、员工请假管理、员工销假管理、工作内容管理、工作报表管理、公司公告管理以及系统管理。管理员用户用例图如图3-1所示。
在这里插入图片描述

图3-1 管理员用例图
(2)部门:部门注册登录后主要功能模块包括个人中心、工作内容管理、工作报表管理,部门用例图如图3-2所示。
在这里插入图片描述

图3-2 部门用例图
(3)员工:员工在系统前台可查看系统信息,包括首页、公司公告、公司新闻等,注册登录后主要功能模块包括个人中心、员工档案管理、员工考勤管理、员工请假管理以及员工销假管理。员工用例图如图3-3所示。
在这里插入图片描述

图3-3 员工用例图

二、开发环境

开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

  系统的设计和划分是系统的核心研究问题,以确定整体结构和功能模块。该系统的结构化设计的思想,是自顶向下的方式将系统分成若干个子系统,以及反过来的子系统分成模块,其被划分成子模块,层划分各计算机可执行模块可迄今用作一个单独的程序。
本办公自动化管理系统的结构图如图4-2所示。
在这里插入图片描述

图4-2 系统结构图

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
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

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QQ1039692211

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

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

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

打赏作者

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

抵扣说明:

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

余额充值