当前位置: 首页 > news >正文

[免费]SpringBoot公司财务管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBoot公司财务管理系统,分享下哈。

项目视频演示

【免费】SpringBoot公司财务管理系统 Java毕业设计_哔哩哔哩_bilibili

项目介绍

现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公司财务管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公司财务管理系统利用当下成熟完善的springBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发.公司财务管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。

系统展示

部分代码

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>公司财务管理系统</title><meta name="renderer" content="webkit|ie-comp|ie-stand"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /><meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /><link rel="stylesheet" href="../static/css/font.css"><link rel="stylesheet" href="../static/css/xadmin.css"><script type="text/javascript" src="../static/js/jquery.min.js"></script><script src="../static/lib/layui/layui.js" charset="utf-8"></script><script type="text/javascript" src="../static/js/xadmin.js"></script><style>#select{display: none;}</style>
</head>
<body class="login-bg"><div class="login layui-anim layui-anim-up"><div class="message">公司财务管理系统</div><div id="darkbannerwrap"></div><form method="post" class="layui-form" ><input name="username" placeholder="用户名"  type="text" lay-verify="required" class="layui-input" ><hr class="hr15"><input name="password" lay-verify="required" placeholder="密码"  type="password" class="layui-input"><hr class="hr15"><div id="select"><select name="status" id="status" style="display: none"><option value="0">管理员</option><option value="1">员工</option><option value="2">顾客</option></select></div><hr class="hr15"><input value="登录" lay-submit lay-filter="login" style="width:100%;" type="submit"><hr class="hr20" ></form>
</div><script>$("#select").hide();$(function  () {layui.use('form', function(){var form = layui.form;// layer.msg('玩命卖萌中', function(){//   //关闭后的操作//   });//监听提交form.on('submit(login)', function(data){console.log(data);$.post("/login.do",data.field,function(res){console.log(res);if(res.code == 200){layer.msg("登录成功,正在跳转...",{time:800},function () {top.location.href='/pages/index';});}else if(res.code == 202){layer.msg("登录成功,正在跳转...",{time:800},function () {top.location.href='/pages/index2';});}else if(res.code == 203){layer.msg("登录成功,正在跳转...",{time:800},function () {top.location.href='/pages/index3';});}else {layer.msg("用户名或密码错误!")}},"json");return false;});});})</script></body>
</html>
package com.example.cwgl.controller;import com.example.cwgl.dao.CallpayMapper;
import com.example.cwgl.dao.CustomerMapper;
import com.example.cwgl.dao.EmpMapper;
import com.example.cwgl.entity.*;
import com.example.cwgl.service.PrivilegeService;
import com.example.cwgl.service.UserInfoService;
import com.example.cwgl.utils.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;@Controller
public class UserInfoController {@Resourceprivate UserInfoService userInfoService;@Resourceprivate PrivilegeService privilegeService;@AutowiredEmpMapper empMapper;@AutowiredCustomerMapper customerMapper;@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")@ResponseBodypublic Result getUserInfo(UserInfo userInfo, HttpServletRequest request, HttpServletResponse response){if (userInfo.getStatus()==0){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 {//将用户信息存入sessionuserInfo = setSessionUserInfo(userInfo,request.getSession());//将当前用户信息存入cookiesetCookieUser(request,response);return ResultUtil.success("登录成功", userInfo);}}else if (userInfo.getStatus()==1){Emp emp=empMapper.selectByNo(userInfo.getUsername());if (emp!=null && emp.getPassword().equals(userInfo.getPassword())){request.getSession().setAttribute("empInfo",emp);return ResultUtil.success2("登录成功", userInfo);}return  ResultUtil.unSuccess("用户名或密码错误!");}else {Customer customer=customerMapper.selectByNo(userInfo.getUsername());if (customer!=null && customer.getPassword().equals(userInfo.getPassword())){request.getSession().setAttribute("customerInfo",customer);return ResultUtil.success3("登录成功", userInfo);}return  ResultUtil.unSuccess("用户名或密码错误!");}}@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")@ResponseBodypublic 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);}
}

源码代码

链接:https://pan.baidu.com/s/1TvTsM3flekYYzOEi8Tgfig
提取码:1234

http://www.lryc.cn/news/507030.html

相关文章:

  • 5G 模组 RG500Q常用AT命令
  • 【YOLO 项目实战】(11)YOLO8 数据集与模型训练
  • 基于matlab的单目相机标定
  • DB-GPT 智谱在线模型配置
  • Navicat 17 功能简介 | SQL 美化
  • RTA_OS内核源码解析 3.9-任务激活
  • 新能源汽车充电需求攀升,智慧移动充电服务有哪些实际应用场景?
  • 计算机的错误计算(一百八十六)
  • 当我用影刀AI Power做了一个旅游攻略小助手
  • 首批|云轴科技ZStack成为开放智算产业联盟首批会员单位
  • MMO之AOI
  • linux---多线程
  • 【JavaEE初阶】线程 和 thread
  • 如何规避eBay账号被封的风险?原因与对策
  • Word使用分隔符实现页面部分分栏
  • Express (nodejs) 相关
  • 【Harmony Next】多个图文配合解释DevEco Studio工程中,如何配置App相关内容,一次解决多个问题?
  • 台球助教平台开发球厅预约选择机制和助教匹配选择机制详细需求实例说明(第十四章)
  • MyBatis通过注解配置执行SQL语句原理源码分析
  • 开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)综述
  • PHP基础
  • 启用WSL后,使用ssh通道连接ubuntu
  • GMSSL的不同python版本
  • 【数理统计】参数估计
  • ios 混合开发应用白屏问题
  • 对分布式系统的理解以及redis的分布式实现
  • VS项目,在生成的时候自动修改版本号
  • 【蓝桥杯】43699-四平方和
  • 我的“双胞同体”发布模式的描述与展望
  • flask_socketio 以继承 Namespace方式实现一个网页聊天应用