Java毕业设计实战之财务预算管理系统的实现
作者:qq_1334611189
这是一个使用了java+SSM+Jsp+Mysql+Layui+Maven开发的财务预算管理系统,是一个毕业设计的实战练习,具有财务预算管理该有的所有功能,感兴趣的朋友快来看看吧
一、项目简述
功能包括:实现公司对项目的管理。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
用户信息控制层:
/** * 用户信息控制层 */ @Controller public class UserInfoController { @Resource private UserInfoService userInfoService; @Resource private PrivilegeService privilegeService; @RequestMapping(value = {"/", "login.html"}) public String toLogin(HttpServletRequest request, HttpServletResponse response){ HttpSession session = request.getSession(); if(session.getAttribute(Config.CURRENT_USERNAME)==null){ return "login"; }else { try { response.sendRedirect("/pages/index"); } catch (IOException e) { e.printStackTrace(); return "login"; } return null; } } // @RequestMapping(value = "/login.do",method = RequestMethod.POST) @RequestMapping(value = "/login.do") @ResponseBody public Result getUserInfo(UserInfo userInfo, HttpServletRequest request, HttpServletResponse response){ boolean userIsExisted = userInfoService.userIsExisted(userInfo); System.out.println(userIsExisted + " - " + request.getHeader("token")); userInfo = getUserInfo(userInfo); if("client".equals(request.getHeader("token")) && !userIsExisted){ //用户不存在 return ResultUtil.success(-1); } if (userIsExisted && userInfo == null){ return ResultUtil.unSuccess("用户名或密码错误!"); }else { //将用户信息存入session userInfo = setSessionUserInfo(userInfo,request.getSession()); //将当前用户信息存入cookie setCookieUser(request,response); return ResultUtil.success("登录成功", userInfo); } } @RequestMapping("/users/getUsersByWhere/{pageNo}/{pageSize}") public @ResponseBody Result getUsersByWhere(UserInfo userInfo, @PathVariable int pageNo, @PathVariable int pageSize, HttpSession session){ if ("".equals(userInfo.getHouseid())){ userInfo.setHouseid(null); } if (userInfo.getRoleid() == -1){ userInfo.setRoleid(Config.getSessionUser(session).getRoleid()); } Utils.log(userInfo.toString()); PageModel model = new PageModel<>(pageNo,userInfo); model.setPageSize(pageSize); return userInfoService.getUsersByWhere(model); } @RequestMapping("/user/add") public @ResponseBody Result addUser(UserInfo userInfo){ System.out.println(userInfo); try { int num = userInfoService.add(userInfo); if(num>0){ return ResultUtil.success(); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/user/update") public @ResponseBody Result updateUser(UserInfo userInfo){ try { int num = userInfoService.update(userInfo); if(num>0){ return ResultUtil.success(); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/user/del/{id}") public @ResponseBody Result deleteUser(@PathVariable String id){ try { int num = userInfoService.delete(id); if(num>0){ return ResultUtil.success(); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/getSessionUser") @ResponseBody public UserInfo getSessionUser(HttpSession session){ UserInfo sessionUser = (UserInfo) session.getAttribute(Config.CURRENT_USERNAME); sessionUser.setPassword(null); return sessionUser; } @RequestMapping("/logout") public String logout(HttpServletRequest request, HttpServletResponse response){ delCookieUser(request, response); request.getSession().removeAttribute(Config.CURRENT_USERNAME); return "login"; } @RequestMapping("/getAllRoles") public @ResponseBody Result<Role> getAllRoles(){ try { List<Role> roles = userInfoService.getAllRoles(); if (roles.size()>0){ return ResultUtil.success(roles); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/role/add") public @ResponseBody Result addRole(Role role){ try { int num = userInfoService.addRole(role); if(num>0){ privilegeService.addDefaultPrivilegesWhenAddRole(role.getRoleid().toString()); return ResultUtil.success(); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/role/update") public @ResponseBody Result updateRole(Role role){ try { int num = userInfoService.updateRole(role); if(num>0){ return ResultUtil.success(); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/role/del/{roleid}") public @ResponseBody Result deleteRole(@PathVariable String roleid){ try { privilegeService.delPrivilegesWenDelRole(roleid); int num = userInfoService.deleteRole(roleid); if(num>0){ return ResultUtil.success(); }else { privilegeService.addDefaultPrivilegesWhenAddRole(roleid); return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/getRole/{id}") public @ResponseBody Result getRoleById(@PathVariable String id){ try { Role role = userInfoService.getRoleById(id); if(role != null){ return ResultUtil.success(role); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } /** * 登录时将用户信息加入cookie中 * @param response */ private void setCookieUser(HttpServletRequest request, HttpServletResponse response){ UserInfo user = getSessionUser(request.getSession()); Cookie cookie = new Cookie(Config.CURRENT_USERNAME,user.getUsername()+"_"+user.getId()); //cookie 保存7天 cookie.setMaxAge(60*60*24*7); response.addCookie(cookie); } /** * 注销时删除cookie信息 * @param request * @param response */ private void delCookieUser(HttpServletRequest request, HttpServletResponse response){ UserInfo user = getSessionUser(request.getSession()); Cookie cookie = new Cookie(Config.CURRENT_USERNAME,user.getUsername()+"_"+user.getId()); cookie.setMaxAge(-1); response.addCookie(cookie); } /** * 通过用户信息获取用户权限信息,并存入session中 * @param userInfo * @param session * @return */ public UserInfo setSessionUserInfo(UserInfo userInfo, HttpSession session){ List<Privilege> privileges = privilegeService.getPrivilegeByRoleid(userInfo.getRoleid()); userInfo.setPrivileges(privileges); session.setAttribute(Config.CURRENT_USERNAME,userInfo); return userInfo; } public UserInfo getUserInfo(UserInfo userInfo){ return userInfoService.getUserInfo(userInfo); } }
数据图形展示:
@RestController @RequestMapping("/bills") public class BillController { @Resource private BillService billService; /** * 适用于统计图 * @param bill * @return */ @RequestMapping("/getBillsToChart") public Result<Bill> findByWhereNoPage(Bill bill, HttpSession session){ bill = getHouseBill(bill,session); return billService.findByWhereNoPage(bill); } @RequestMapping("/getBillsByWhere/{type}/{pageNo}/{pageSize}") public Result<Bill> getBillsByWhere(Bill bill,@PathVariable String type, @PathVariable int pageNo, @PathVariable int pageSize, HttpSession session){ if("-1".equals(bill.getPayway())){ bill.setPayway(null); } bill.setType(type); bill = getHouseBill(bill,session); System.out.println(bill); PageModel model = new PageModel<>(pageNo,bill); model.setPageSize(pageSize); return billService.findByWhere(model); } @RequestMapping("/getBillsByUserid/{userid}/{pageNo}/{pageSize}/{year}/{month}") public Result getBillsByUserid(@PathVariable Integer userid, @PathVariable int pageNo, @PathVariable int pageSize, @PathVariable int year, @PathVariable int month){ Bill bill = new Bill(); bill.setUserid(userid); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); bill.setStartTime(year+"-0"+month+"-01"); try { Date date = sdf.parse(year+"-0"+(month+1)+"-01"); date.setDate(date.getDate()-1); bill.setEndTime(sdf.format(date)); } catch (ParseException e) { e.printStackTrace(); } PageModel model = new PageModel<>(pageNo,bill); model.setPageSize(pageSize); Result result = billService.findByWhere(model); List<Map<String,String>> r = billService.getMonthlyInfo(model); Map<String,String> map = new HashMap<>(); for (Map<String,String> m: r) { map.put(m.get("typeid"),String.format("%.2f",m.get("sum(money)"))); } result.setData(map); return result; } private Bill getHouseBill(Bill bill, HttpSession session) { UserInfo currentUser = Config.getSessionUser(session); //当登录用户为家主时,查询默认查询全家账单情况 //当登录用户为普通用户时,仅查询当前用户的账单 if (currentUser.getRoleid() == 2){ bill.setHouseid(currentUser.getHouseid()); }else if (currentUser.getRoleid() == 3){ bill.setUserid(currentUser.getId()); } return bill; } @RequestMapping(value = "/addBill",method = RequestMethod.POST) public Result add(Bill bill, HttpSession session){ if (Config.getSessionUser(session)!=null){ bill.setUserid(Config.getSessionUser(session).getId()); } Utils.log(bill.toString()); try { int num = billService.add(bill); if(num>0){ int billid = bill.getId(); bill = new Bill(); bill.setId(billid); return ResultUtil.success("记账成功!",billService.findByWhereNoPage(bill)); // return ResultUtil.success("记账成功!",bill); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/updateBill") public Result update(Bill bill, HttpSession session){ if (Config.getSessionUser(session)!=null){ bill.setUserid(Config.getSessionUser(session).getId()); } Utils.log(bill.toString()); try { int num = billService.update(bill); if(num>0){ return ResultUtil.success("修改成功!",null); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/delBill") public Result del(int id){ try { int num = billService.del(id); if(num>0){ return ResultUtil.success("删除成功!",null); }else { return ResultUtil.unSuccess(); } }catch (Exception e){ return ResultUtil.error(e); } } @RequestMapping("/getPayways") public Result<Payway> getAllPayways(){ try { List<Payway> payways = billService.getAllPayways(); if (payways!=null && payways.size()>0){ return ResultUtil.success(payways); }else { return ResultUtil.unSuccess(); } } catch (Exception e) { return ResultUtil.error(e); } } }
用户信息mapper类:
@Repository public interface UserInfoMapper { /** * 获取单个用户信息,可用于: * 1.登录 * 2.通过用户某一部分信息获取用户完整信息 * @param userInfo * @return */ UserInfo getUserInfo(UserInfo userInfo); /** * 注册 * @param userInfo * @return */ int addUser(UserInfo userInfo); /** * 通过username判断该用户是否存在 * @param userInfo * @return */ int userIsExisted(UserInfo userInfo); /** * 通过条件获取符合条件的优化信息 -- 分页 * @param model * @return */ List<UserInfo> getUsersByWhere(PageModel<UserInfo> model); int getToatlByWhere(PageModel<UserInfo> model); int add(UserInfo userInfo); int update(UserInfo userInfo); int delete(String id); List<Role> getAllRoles(); int addRole(Role role); int updateRole(Role role); int deleteRole(String id); Role getRoleById(String id); int addHouseId(House house); }
到此这篇关于Java毕业设计实战之财务预算管理系统的实现的文章就介绍到这了,更多相关Java 财务预算管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!