Java毕业设计实战 财务预算管理系统
一、项目简述
功能包括:实现公司对项目的管理。
二、项目运行
环境配置:
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 财务预算管理内容请搜索编程宝库以前的文章,希望以后支持编程宝库!
一、项目简述项目分为前台和后台,前台主要为学生角色、后台主要为管理员角色。管理员添加试题和发布试卷,学生负责在线考试、在线查看成绩和错题记录列表等。管理员功能有:年级管理、课程管理、试题 ...