马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
👉文末查察项目功能视频演示+获取源码+sql脚本+视频导入教程视频
1 、功能形貌
基于springboot的公司财政管理体系拥有两种脚色
管理员:员工管理、部分管理、工资管理、资产管理、谋划管理、利润管理等
员工:查察工资、查察公告、登录注册
1.1 配景形貌
公司财政管理体系致力于资助公司更高效地管理财政相干事件。体系包罗资产管理、财政报表、费用管理、审批流程等功能模块,旨在实现财政数据的纪录、统计、分析和监控 。员工可以通过体系提交报销单、查察财政报表、举行费用预算等利用,而财政职员可以通过体系管理资产、天生财政报表、审批费用等。体系提供了数据加密、权限控制、审计日志 等功能,保障了财政数据的安全性和可靠性。同时,体系还提供了定时任务、关照提示等功能,资助用户及时处置惩罚紧张事件。通过公司财政管理体系,公司可以大概实现财政数据的主动化管理,淘汰人力资源投入,进步数据正确性和陈诉的及时性,从而有效提拔财政运营服从和管理水平。
2、项目技能
后端框架:springboot、Mybatis
前端技能:html、VUE
2.1 springboot
Spring Boot是由Pivotal团队提供的基于Spring的框架,该框架使用了特定的方式来举行设置,从而使开发职员不再须要界说样板化的设置。Spring Boot集成了绝大部分现在盛行的开发框架,就像Maven集成了全部的JAR包一样,Spring Boot集成了险些全部的框架,使得开发者能快速搭建Spring项目。
2.2 mysql
MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理体系,MySQL有着它独特的特点,这些特点使他成为现在最盛行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速率快的数据库,重点是它符合本次结业筹划的真实租赁环境,拥有资本低,开发源码这些特点,这也是选择它的紧张缘故起因。
3、开发环境
- JAVA版本:JDK1.8(最佳)
- IDE范例:IDEA、Eclipse都可运行
- 数据库范例:MySql(5.7、8.x版本都可)
- tomcat版本:无需
- maven版本:无穷定
- 硬件环境:Windows
4、功能截图+视频演示+文档目次
4.1 登录
4.2 管理员模块
4.3 员工模块
4.4 文档目次
5 、核心代码实现
5.1 设置代码
- spring:
- datasource:
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/chuangmeng?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
- servlet:
- multipart:
- max-file-size: 50MB
- max-request-size: 50MB
- server:
- port: 521
- redis:
- open: false
- shiro:
- redis: false
- logging:
- level:
- com:
- mh: debug
- mybatis-plus:
- type-aliases-package: com.mh.*.entity
- mapper-locations: classpath*:/mapper/*/*.xml
复制代码 5.2 别的核心代码
- package com.controller;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.RestController;
- import com.annotation.IgnoreAuth;
- import com.baomidou.mybatisplus.mapper.EntityWrapper;
- import com.entity.TokenEntity;
- import com.entity.UserEntity;
- import com.service.TokenService;
- import com.service.UserService;
- import com.utils.CommonUtil;
- import com.utils.MPUtil;
- import com.utils.PageUtils;
- import com.utils.R;
- import com.utils.ValidatorUtils;
- /**
- * 登录相关
- */
- @RequestMapping("users")
- @RestController
- public class UserController{
-
- @Autowired
- private UserService userService;
-
- @Autowired
- private TokenService tokenService;
- /**
- * 登录
- */
- @IgnoreAuth
- @PostMapping(value = "/login")
- public R login(String username, String password, String captcha, HttpServletRequest request) {
- UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
- if(user==null || !user.getPassword().equals(password)) {
- return R.error("账号或密码不正确");
- }
- String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
- return R.ok().put("token", token);
- }
-
- /**
- * 注册
- */
- @IgnoreAuth
- @PostMapping(value = "/register")
- public R register(@RequestBody UserEntity user){
- // ValidatorUtils.validateEntity(user);
- if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
- return R.error("用户已存在");
- }
- userService.insert(user);
- return R.ok();
- }
- /**
- * 退出
- */
- @GetMapping(value = "logout")
- public R logout(HttpServletRequest request) {
- request.getSession().invalidate();
- return R.ok("退出成功");
- }
-
- /**
- * 密码重置
- */
- @IgnoreAuth
- @RequestMapping(value = "/resetPass")
- public R resetPass(String username, HttpServletRequest request){
- UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
- if(user==null) {
- return R.error("账号不存在");
- }
- user.setPassword("123456");
- userService.update(user,null);
- return R.ok("密码已重置为:123456");
- }
-
- /**
- * 列表
- */
- @RequestMapping("/page")
- public R page(@RequestParam Map<String, Object> params,UserEntity user){
- EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
- PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
- return R.ok().put("data", page);
- }
- /**
- * 列表
- */
- @RequestMapping("/list")
- public R list( UserEntity user){
- EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
- ew.allEq(MPUtil.allEQMapPre( user, "user"));
- return R.ok().put("data", userService.selectListView(ew));
- }
- /**
- * 信息
- */
- @RequestMapping("/info/{id}")
- public R info(@PathVariable("id") String id){
- UserEntity user = userService.selectById(id);
- return R.ok().put("data", user);
- }
-
- /**
- * 获取用户的session用户信息
- */
- @RequestMapping("/session")
- public R getCurrUser(HttpServletRequest request){
- Long id = (Long)request.getSession().getAttribute("userId");
- UserEntity user = userService.selectById(id);
- return R.ok().put("data", user);
- }
- /**
- * 保存
- */
- @PostMapping("/save")
- public R save(@RequestBody UserEntity user){
- // ValidatorUtils.validateEntity(user);
- if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
- return R.error("用户已存在");
- }
- userService.insert(user);
- return R.ok();
- }
- /**
- * 修改
- */
- @RequestMapping("/update")
- public R update(@RequestBody UserEntity user){
- // ValidatorUtils.validateEntity(user);
- UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
- if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
- return R.error("用户名已存在。");
- }
- userService.updateById(user);//全部更新
- return R.ok();
- }
- /**
- * 删除
- */
- @RequestMapping("/delete")
- public R delete(@RequestBody Long[] ids){
- userService.deleteBatchIds(Arrays.asList(ids));
- return R.ok();
- }
- }
复制代码 6 、获取方式
👇 各人点赞、收藏、关注、品评啦 👇🏻获取接洽方式,配景复兴关键词:公司财政👇🏻
|