0
点赞
收藏
分享

微信扫一扫

基于JAVA的出差报销管理系统

系统模式的设计

系统设计了系统管理员,经理,财务,员工四种权限。

系统管理员:有添加用户和删除用户的权限,有部门管理的权限。

经理角色:经理角色有修改个人信息的权限,经理角色可以审核普通用户提交的预算申请,报销申请,管理其他成员的权限。

财务角色:财务角色可以修改个人信息,审核普通用户提交的预算申请和报销申请等。

主要功能有:

系统管理员:查看员工信息管理,查看经理信息管理;修改管理员信息

经理:查看员工报销信息、查看员工信息、审核报销信息、经理信息查看。

财务:查看及审核员工预算申请,借款申请,报销申请。

员工:录入报销信息、录入借款信息、个人信息查看,录入借款申请。

关键代码实现:
@RequestMapping(value = "${adminPath}/login", method = RequestMethod.POST)
public String loginFail(HttpServletRequest request, HttpServletResponse response, Model model) {
   Principal principal = UserUtils.getPrincipal();
   // 如果已经登录,则跳转到管理首页
   if(principal != null){
      return "redirect:" + adminPath;
   }
   String username = WebUtils.getCleanParam(request, FormAuthenticationFilter.DEFAULT_USERNAME_PARAM);
   boolean rememberMe = WebUtils.isTrue(request, FormAuthenticationFilter.DEFAULT_REMEMBER_ME_PARAM);
   boolean mobile = WebUtils.isTrue(request, FormAuthenticationFilter.DEFAULT_MOBILE_PARAM);
   String exception = (String)request.getAttribute(FormAuthenticationFilter.DEFAULT_ERROR_KEY_ATTRIBUTE_NAME);
   String message = (String)request.getAttribute(FormAuthenticationFilter.DEFAULT_MESSAGE_PARAM);
   if (StringUtils.isBlank(message) || StringUtils.equals(message, "null")){
      message = "用户或密码错误, 请重试.";
   }
   model.addAttribute(FormAuthenticationFilter.DEFAULT_USERNAME_PARAM, username);
   model.addAttribute(FormAuthenticationFilter.DEFAULT_REMEMBER_ME_PARAM, rememberMe);
   model.addAttribute(FormAuthenticationFilter.DEFAULT_MOBILE_PARAM, mobile);
   model.addAttribute(FormAuthenticationFilter.DEFAULT_ERROR_KEY_ATTRIBUTE_NAME, exception);
   model.addAttribute(FormAuthenticationFilter.DEFAULT_MESSAGE_PARAM, message);
   if (logger.isDebugEnabled()){
      logger.debug("login fail, active session size: {}, message: {}, exception: {}", 
            sessionDAO.getActiveSessions(false).size(), message, exception);
   }
   // 非授权异常,登录失败,验证码加1。
   if (!UnauthorizedException.class.getName().equals(exception)){
      model.addAttribute("isValidateCodeLogin", isValidateCodeLogin(username, true, false));
   }
   
   // 验证失败清空验证码
   request.getSession().setAttribute(ValidateCodeServlet.VALIDATE_CODE, IdGen.uuid());
   
   // 如果是手机登录,则返回JSON字符串
   if (mobile){
        return renderString(response, model);
   }

基于JAVA的出差报销管理系统_系统管理员

基于JAVA的出差报销管理系统_信息管理_02

基于JAVA的出差报销管理系统_系统管理员_03

基于JAVA的出差报销管理系统_信息管理_04

举报

相关推荐

0 条评论