知方号

知方号

Java项目:公司企业OA管理系统(java+SSM+JSP+JavaScript+Mysql)

源码获取:俺的博客首页 "资源" 里下载! 项目介绍

OA办公管理系统,这是一款由JSP+SSM(spring+springmvc+mybatis)+MySQL实现的简单的OA办公管理系统, 主要实现的功能有员工注册登录,自动计算当前月迟到、早退、加班、缺勤天数并根据图表展示, 任务管理(任务发布、更新、删除、进度条展示完成度),通知管理(通知发布、更新、删除), 站内信发布、回复、删除等,发布公告和任务及站内信时可上传图片等。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目:否;

技术栈

1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目; 3. 将项目中db.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/OAManagerSys 登录 注意:路径必须为/OAManagerSys,否则会有图片加载不出来 管理员账号/密码:admin/admin 账号/密码:zhangtao/123

 

 

 

 

 

邮箱管理控制层:  @Controller@RequestMapping("/mail")@SuppressWarnings("all")public class MailController {@Autowiredprivate MailService mailService;@Autowiredprivate EmployeeService employeeService;@Autowiredprivate SysService sysService;// 展示收到的邮件@RequestMapping("")public String showMailPage(Model model, HttpSession session, HttpServletRequest request) throws Exception {List mailList = new ArrayList();switch ((String) request.getParameter("view")) {case "all":mailList = mailService.findMailToMe((EmployeeCustom) session.getAttribute("activeEmp"));model.addAttribute("isSend", false);break;case "unread":mailList = mailService.findUnreadMailToMe((EmployeeCustom) session.getAttribute("activeEmp"));model.addAttribute("isSend", false);break;case "read":mailList = mailService.findReadMailToMe((EmployeeCustom) session.getAttribute("activeEmp"));model.addAttribute("isSend", false);break;case "send":mailList = mailService.findMailSendByMe((EmployeeCustom) session.getAttribute("activeEmp"));model.addAttribute("isSend", true);break;default:mailList = mailService.findMailToMe((EmployeeCustom) session.getAttribute("activeEmp"));model.addAttribute("isSend", false);break;}model.addAttribute("mailList", mailList);model.addAttribute("isInbox", true);// mail_common中右上角的的按钮return "mail/mail_inbox";}@RequestMapping("/mail_view")public String showMailDetail(Model model, HttpServletRequest request) throws Exception {MailCustom mailDetail = mailService.showMailDetail(Integer.parseInt(request.getParameter("mail_id")),Integer.parseInt(request.getParameter("otherside_id")));model.addAttribute("mail", mailDetail);model.addAttribute("isSend", Boolean.parseBoolean(request.getParameter("isSend")));return "mail/mail_view";}@RequestMapping("/send_mail.action")public String sendMail(Mail mail, MultipartFile mail_pic) throws Exception {// 上传图片// 原始名称String originalFilename = null;if (mail_pic != null) {originalFilename = mail_pic.getOriginalFilename();} if (mail_pic != null && originalFilename != null && originalFilename.trim() != "") {mail.setPic(sysService.uploadPic("mail", mail_pic));}// 将新图片名称写入mail.setText(mail.getText().replaceAll(" ", ""));mailService.sendMail(mail);return "redirect:/mail?view=all";}@RequestMapping("/mail_compose")public String showComposeForm(Model model, Integer receiver) throws Exception {if (receiver != null) {model.addAttribute("receiver", employeeService.findEmployeeById(receiver));}return "mail/mail_compose";}} 员工管理控制层: @Controllerpublic class EmployeeController {@Autowiredprivate EmployeeService employeeService;@Autowiredprivate SysService sysService;@RequestMapping(value = "/changeStage")public void changeState(Model model, HttpRequest request, HttpSession session, Integer state) throws Exception {}@RequestMapping(value = "/search_emp")public String showSearchPage(Model model, String name, Integer depId, Integer state) throws Exception {List employeeList = new ArrayList();if ((name != null && name.trim() != "") || depId != null || state != null) {Employee condition = new Employee();if (name != null && name.trim() != "") {condition.setName(name);model.addAttribute("name", name);}if (depId != null) {condition.setDepartmentId(depId);model.addAttribute("depId", depId);}if (state != null) {condition.setWorkingState(state);model.addAttribute("state", state);}employeeList = employeeService.findEmployee(condition);} else {// show all employeeemployeeList = employeeService.findEmployee(new Employee());}model.addAttribute("employeeList", employeeList);model.addAttribute("allDepartment", sysService.getAllDepartment());return "search/search_emp";}} 登录管理控制层: @Controllerpublic class AccountController {@Autowiredprivate EmployeeService employeeService;@Autowiredprivate SysService sysService;EmployeeCustom activeEmp;@RequestMapping("/login")public String login(Model model, HttpServletRequest request) throws Exception {String exceptionClassName = (String) request.getAttribute("shiroLoginFailure");if (exceptionClassName != null) {if (UnknownAccountException.class.getName().equals(exceptionClassName)) {// 最终会抛给异常处理器model.addAttribute("message", "账号不存在");} else if (IncorrectCredentialsException.class.getName().equals(exceptionClassName)) {model.addAttribute("message", "用户名/密码错误");// throw new CustomException("用户名/密码错误");} else {model.addAttribute("message", "未知错误");// throw new Exception();// 最终在异常处理器生成未知错误}}// 访问/login时, 自动进行认证,认证成功后直接跳转出去// 初次访问时exceptionClassName== null直接到这里// 认证失败时exceptionClassName!= null , 传递信息后又回到这里return "misc/login";}@RequestMapping(value = "/signup", method = RequestMethod.GET)public String showSignupPage(Model model) throws Exception {return "misc/signup";}@RequestMapping(value = "/signup", method = RequestMethod.POST)public String checkUsername(Model model, Employee employee) throws Exception {try {employeeService.checkUsername(employee);model.addAttribute("employee", employee);model.addAttribute("positionList", sysService.getAbleToRegPos());return "misc/signup_detail";} catch (CustomException e) {model.addAttribute("message", e.getMessage());}return "misc/signup";}@RequestMapping(value = "/signup2", method = RequestMethod.POST)public String confirmPosition(Model model, Employee employee, MultipartFile employee_pic) throws Exception {// 上传图片String originalFilename = employee_pic.getOriginalFilename();if (employee_pic != null && originalFilename != null && originalFilename.trim() != "") {employee.setPic(sysService.uploadPic("employee", employee_pic));}model.addAttribute("employee", employee);model.addAttribute("departmentList", sysService.getAbleToRegDep(employee.getPositionId()));return "misc/signup_dep";}@RequestMapping(value = "/formal_signup", method = RequestMethod.POST)public String register(Model model, Employee employee) throws Exception {try {employeeService.register(employee);UsernamePasswordToken token = new UsernamePasswordToken(employee.getUsername(), employee.getPassword());SecurityUtils.getSubject().login(token);return "redirect:home";} catch (CustomException e) {model.addAttribute("message", e.getMessage());}// 注册失败return "misc/signup_detail";}@RequestMapping("/logout")public String logout(HttpSession session) throws Exception {activeEmp = (EmployeeCustom) session.getAttribute("activeEmp");employeeService.logout(activeEmp);session.removeAttribute("activeEmp");session.invalidate();return "redirect:/login";}@RequestMapping("/refuse")public String refuse() throws Exception {return "misc/refuse";}} 源码获取:俺的博客首页 "资源" 里下载!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。