——————————DescriptionStart——————————
运行环境
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等框架。
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| 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=uDao.findOne(userId); if("discuss".equals(module)){ Discuss discuss=discussDao.findOne(replyId); Set<User> users=discuss.getUsers(); likenum=discuss.getUsers().size(); if(!discuss.getUsers().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.findOne(replyId); Set<User> users=reply.getUsers(); likenum=reply.getUsers().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, @SessionAttribute("userId") Long userId,Model model){ System.out.println(size); System.out.println(page); System.out.println("selecttype:"+selecttype);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| */ public void index5(ProcessList pro,String val,User lu,MultipartFile filePath,String name) throws IllegalStateException, IOException{ pro.setTypeNmae(val); pro.setApplyTime(new Date()); pro.setUserId(lu); pro.setStatusId(23L); pro.setShenuser(name); Attachment attaid=null; if(!StringUtil.isEmpty(filePath.getOriginalFilename())){ attaid=mservice.upload(filePath, lu); attaid.setModel("aoa_bursement"); AttDao.save(attaid); pro.setProFileid(attaid); } } public void index8(ProcessList pro,String val,User lu,String name) { pro.setTypeNmae(val); pro.setApplyTime(new Date()); pro.setUserId(lu); pro.setStatusId(23L); 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.setReviewedTime(new Date()); re.setStatusId(reviewed.getStatusId()); redao.save(re); Reviewed re2=new Reviewed(); re2.setProId(pro); re2.setUserId(u2); re2.setStatusId(23L); redao.save(re2); pro.getShenuser(); pro.setShenuser(pro.getShenuser()+";"+u2.getUserName()); pro.setStatusId(24L); prodao.save(pro); }
public void index7(User reuser,ProcessList pro){ Reviewed revie=new Reviewed(); revie.setUserId(reuser); revie.setStatusId(23L); revie.setProId(pro);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| model.addAttribute("mail", mail); model.addAttribute("mess", title); model.addAttribute("file", 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=udao.findOne(userId); String title=req.getParameter("title"); Page<Pagemail> pagelist=null; List<Map<String, Object>> maillist=null; String ids=req.getParameter("ids");
StringTokenizer st = new StringTokenizer(ids, ","); while (st.hasMoreElements()) { Mailreciver mailr=mrdao.findbyReciverIdAndmailId(user,Long.parseLong(st.nextToken())); if(!Objects.isNull(mailr)){ mailr.setDel(false); mrdao.save(mailr); }else{ return "redirect:/notlimit"; } } pagelist=mservice.recive(page, size, user, null,title); maillist=mservice.mail(pagelist); model.addAttribute("page", pagelist); model.addAttribute("maillist",maillist); model.addAttribute("url","mailtitle"); model.addAttribute("mess", title); return "mail/mailbody"; } } package cn.gson.oasys.controller.note;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| public String dele(HttpServletRequest req,@SessionAttribute("userId") Long userId,Model model){ User lu=udao.findOne(userId); Long proid=Long.parseLong(req.getParameter("id")); Reviewed rev=redao.findByProIdAndUserId(proid, lu); if(!Objects.isNull(rev)){ rev.setDel(true); redao.save(rev); }else{ return "common/proce"; } return "redirect:/audit"; }
@RequestMapping("file") public void downFile(HttpServletResponse response, @RequestParam("fileid") Long fileid) { try { Attachment attd = AttDao.findOne(fileid); File file = new File(rootpath,attd.getAttachmentPath()); response.setContentLength(attd.getAttachmentSize().intValue()); response.setContentType(attd.getAttachmentType()); response.setHeader("Content-Disposition","attachment;filename=" + new String(attd.getAttachmentName().getBytes("UTF-8"), "ISO8859-1")); proservice.writefile(response, file); } catch (Exception e) { e.printStackTrace(); } }
@RequestMapping("show/**") public void image(Model model, HttpServletResponse response, @SessionAttribute("userId") Long userId, HttpServletRequest request) throws IOException {
String startpath = new String(URLDecoder.decode(request.getRequestURI(), "utf-8")); String path = startpath.replace("/show", ""); File f = new File(rootpath, path); System.out.println(f.getAbsolutePath()); ServletOutputStream sos = response.getOutputStream(); FileInputStream input = new FileInputStream(f.getPath()); byte[] data = new byte[(int) f.length()]; IOUtils.readFully(input, data); IOUtils.write(data, sos); input.close();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| } } } disService.setDiscussMess(model, num,userId,page,size); return "chat/replytable"; } @RequestMapping("likethis") public void likeThis(HttpServletRequest req,HttpServletResponse resp,@SessionAttribute("userId") Long userId){ resp.setCharacterEncoding("utf-8"); PrintWriter out = null; likeThisFun(req, userId);
out.flush(); 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=uDao.findOne(userId); if("discuss".equals(module)){ Discuss discuss=discussDao.findOne(replyId); Set<User> users=discuss.getUsers(); likenum=discuss.getUsers().size(); if(!discuss.getUsers().contains(user)){ System.out.println("保存一个讨论点赞记录"); users.add(user); number=1; }else{ System.out.println("删除掉一个讨论点赞记录");
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=251422302105200ge
https://javayms.pages.dev?id=251422302105200ge