基于javaweb的SpringBootoa办公自动化系统设计和实现(源码+文档+部署讲解)

发布于:2025-02-15 ⋅ 阅读:(12) ⋅ 点赞:(0)

🎬 秋野酱:《个人主页》
🔥 个人专栏:《Java专栏》《Python专栏》

⛺️心若有所向往,何惧道阻且长

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
基于javaweb的SpringBootoa办公自动化系统设计和实现(java+springboot+freemarker+mysql+maven+mybatis+jpa)

java springbootOA办公自动化系统:

主要功能模块:系统、用户、角色、考勤、流程、公告、邮件、任务、日程、计划、文件、笔记、通讯录、讨论区等多个模块管理

使用Maven进行项目管理,基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,Bootstrap作为前端UI框架,集成了jpa、mybatis等框架。

部分代码展示

out.close();

private void likeThisFun(HttpServletRequest req, Long userId) {
    long replyId = Long.parseLong(req.getParameter("replyId"));
    String module = req.getParameter("module");
    int number = 0;
    int likenum = 0;
    User user = userDao.findById(userId);
    if ("discuss".equals(module)) {
        Discuss discuss = discussDao.findById(replyId);
        Set<User> users = discuss.getUsers();
        likenum = users.size();
        if (!users.contains(user)) {
            System.out.println("该用户一个讨论点要记录");
            users.add(user);
            number = 1;
        } else {
            System.out.println("该用户一个讨论点要记录");
            users.remove(user);
            number = -1;
        }
        discuss.setUsers(users);
        disService.save(discuss);
    } else if ("reply".equals(module)) {
        Reply reply = replyDao.findById(replyId);
        Set<User> users = reply.getUsers();
        likenum = users.size();
        if (!reply.getUsers().contains(user)) {
            System.out.println("该用户一个回复点要记录");
            users.add(user);
            number = 1;
        } else {
            System.out.println("该用户一个回复点要记录");
            users.remove(user);
            number = -1;
        }
        reply.setUsers(users);
        replyService.save(reply);
    }
}

//回复分页处理
@RequestMapping("/replypaging")
public String replyPaging(HttpServletRequest req,
                          @RequestParam(value = "selecttype") long selecttype,
                          @RequestParam(value = "selectsort") long selectsort,
                          @RequestParam(value = "page", defaultValue = "0") int page,
                          @RequestParam(value = "size", defaultValue = "5") int size,
                          SessionModel model) {
    System.out.println(size);
    System.out.println(page);
    model.put("selecttype", selecttype);
    return null;
}
```java
public void index5(Processlist pro, String val, User lu, MultipartFile filePath, String name) throws IllegalStateException, IOException {
    pro.setTypeName(val);
    pro.setApplyTime(new Date());
    pro.setUserId(lu);
    pro.setStatusId(21);
    pro.setShenuser(name);
    Attachment at = null;
    if (!StringUtils.isEmpty(filePath.getOriginalFilename())) {
        at = aidService.upload(filePath, lu);
        pro.setAttributeModel(at);
        pro.setProFileId(at.getAid());
    }
}

public void index4(Processlist pro, String val, User lu, String name) {
    pro.setTypeName(val);
    pro.setApplyTime(new Date());
    pro.setUserId(lu);
    pro.setStatusId(21);
    pro.setShenuser(name);
}

public void save(long proid, User u, Reviewed reviewed, Processlist pro, User u2) {
    Reviewed re = reDao.findByProIdAndUserId(proid, u);
    re.setAdvice(reviewed.getAdvice());
    re.setStatusId(reviewed.getStatusId());
    re.setUpdateTime(new Date());
    re.setShenId(reviewed.getShenId());
    reDao.save(re);

    Reviewed re2 = new Reviewed();
    re2.setProId(proid);
    re2.setUserId(u2);
    re2.setStatusId(21);
    reDao.save(re2);

    pro.getShenuser();
    pro.setShenuser(pro.getShenuser() + "," + u2.getUserName());
    pro.setStatusId(22);//改变表的状态
    proDao.save(pro);
}

public void index7(User reuser, Processlist pro) {
    Reviewed review = new Reviewed();
    review.setUserId(reuser);
    review.setStatusId(21);
    review.setProId(pro.getProId());
    review.setUpdateTime(new Date());
    reDao.save(review);
}

```clike
```java
model.addAttribute("mail", mail);
model.addAttribute("title", title);
model.addAttribute("files", mail.getMailFileId());
return "mail/seemail";

@RequestMapping("/refresh")
public String refresh(HttpServletRequest req, @SessionAttribute("userId") long userId, Model model,
                      @RequestParam(value = "page", defaultValue = "0") int page,
                      @RequestParam(value = "size", defaultValue = "10") int size) {
    //查找用户
    User user = userDao.findOne(userId);
    String title = req.getParameter("title");
    PageModel pagelist = null;
    List<Map<String, Object>> maillist = null;
    //得到该回复的id
    String ids = req.getParameter("ids");
    StringTokenizer st = new StringTokenizer(ids, ",");
    while (st.hasMoreElements()) {
        //找到该用户联系邮件的中间记录
        Mailreceiver mr = mrDao.findByReceiverIdAndMailId(user, Long.parseLong(st.nextToken()));
        if (Objects.isNull(mr)) {
            mr.setRead(false);
            mrDao.save(mr);
        } else {
            return "redirect:/notmail";
        }
    }
    //分页及查找
    pagelist = service.receive(page, size, user, null, title);
    maillist = service.mail(pagelist);
    model.addAttribute("page", pagelist);
    model.addAttribute("page", pagelist);
    model.addAttribute("url", "mailtitle");
    model.addAttribute("title", title);
    return "mail/mailbody";
}
package cn.gson.oasys.controller.note;