基于javaweb的SpringBoot公司财务管理系统(java+springboot+vue+mysql+maven)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

472123150309

482123150309

492123150309

502123150309

512123150309

522123150309

532123150309

基于javaweb的SpringBoot公司财务管理系统(java+springboot+vue+mysql+maven)

系统介绍

该系统是一个小巧精致的公司财务系统,所用皆为最新流行技术,非常适合个人研究学习或者二次开发。

技术说明

后台 SpringBoot2.x,JWT 鉴权,Druid连接池,数据库 Mysql

前台 vue-cli 3.0,vue-element-ui

前端启动命令:npm run dev

用户名/密码 admin/123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
     * 这个请求需要验证token才能访问
*
* @return String 返回类型
*/
@UserLoginToken
@GetMapping("/getMessage")
public String getMessage() {
// 取出token中带的用户number 进行操作
System.out.println(TokenUtil.getTokenUserNumber());
return "你已通过验证";
}

@ApiOperation(httpMethod = "POST", value = "分页获取用户信息", response = R.class,
notes = "分页获取用户信息")
@PostMapping("/page")
@UserLoginToken
public R getPages(@RequestBody Map<String,Object> map) {
if(map!=null){
int page = 0;
int size = 10;
if(map.containsKey("page")){
page = (int)map.get("page");
}
if(map.containsKey("size")){
size = (int)map.get("size");
}
PageEntity<SysUserEntity> pages = sysUserService.getPage(page, size);
return R.ok("获取用户列表",pages);
}
return R.ok("获取用户列表","");
}
}



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
@ApiOperation(httpMethod = "GET", value = "删除留言公告", response = R.class,
notes = "删除留言公告")
@GetMapping("/del")
@UserLoginToken
@Override
public R del(Long id) {
if(id>0){
boolean del = fmNoticeService.del(id);
if(del){
return R.ok("删除成功","");
}
}
return R.error(500,"删除失败");
}

@ApiOperation(httpMethod = "POST", value = "更新公告留言信息", response = R.class,
notes = "更新公告留言信息")
@PostMapping("/update")
@UserLoginToken
@Override
public R update(@RequestBody FmNoticeEntity fmNoticeEntity) {
if(fmNoticeEntity!=null&&fmNoticeEntity.getId()>0){
boolean update = fmNoticeService.update(fmNoticeEntity);
if(update){
return R.ok("更新成功","");
}
}
return R.error(500,"更新失败");
}

@Override
public R getAll() {
return null;
}

@Override
public R get(FmNoticeEntity fmNoticeEntity) {
return null;
}

@ApiOperation(httpMethod = "POST", value = "分页获取公告留言信息", response = R.class,
notes = "分页获取公告留言信息")
@PostMapping("/page")
@UserLoginToken
public R getPages(@RequestBody Map<String,Object> map) {
if(map!=null){
int page = 0;
int size = 10;
if(map.containsKey("page")){
page = (int)map.get("page");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
}




@Api(value="公司部门管理")
@RestController
@RequestMapping("/department")
public class FmDepartmentController implements BaseController<FmDepartmentEntity> {
@Autowired
private FmDepartmentService fmDepartmentService;

@ApiOperation(httpMethod = "POST", value = "添加部门", response = R.class,
notes = "添加部门信息")
@PostMapping("/add")
@UserLoginToken
@Override
public R add(@RequestBody FmDepartmentEntity fmDepartmentEntity) {
LogUtil.i("添加的部门",fmDepartmentEntity);
if(fmDepartmentEntity!=null){
boolean isExits = fmDepartmentService.getDepartmentByName(fmDepartmentEntity.getName());
if(!isExits){
boolean add = fmDepartmentService.add(fmDepartmentEntity);
if(add){
return R.ok("添加成功","");
}
}else{
return R.error(500,"添加失败,该部门已经存在");
}

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
    if(fmBusinessEntity!=null){
boolean add = fmBusinessService.add(fmBusinessEntity);
if(add){
return R.ok("添加成功","");
}
}
return R.error(500,"添加失败");
}

@ApiOperation(httpMethod = "POST", value = "删除业务", response = R.class,
notes = "删除业务")
@GetMapping("/del")
@UserLoginToken
@Override
public R del(Long id) {
if(id>0){
boolean del = fmBusinessService.del(id);
if(del){
return R.ok("删除成功","");
}
}
return R.error(500,"删除失败");
}

@ApiOperation(httpMethod = "POST", value = "更新业务信息", response = R.class,
notes = "更新业务信息")
@PostMapping("/update")
@UserLoginToken
@Override
public R update(@RequestBody FmBusinessEntity fmBusinessEntity) {
if(fmBusinessEntity!=null&&fmBusinessEntity.getId()>0){
boolean update = fmBusinessService.update(fmBusinessEntity);
if(update){
return R.ok("更新成功","");
}
}
return R.error(500,"更新失败");
}

@Override
public R getAll() {
return null;
}

@Override
public R get(FmBusinessEntity fmBusinessEntity) {
return null;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
    }
return R.error(500,"删除失败");
}

@ApiOperation(httpMethod = "POST", value = "更新收入支出标签类型", response = R.class,
notes = "更新收入支出标签类型")
@PostMapping("/update")
@UserLoginToken
@Override
public R update(@RequestBody FmMoneyTypeEntity fmMoneyTypeEntity) {
if(fmMoneyTypeEntity!=null){
boolean update = fmMoneyTypeService.update(fmMoneyTypeEntity);
if(update){
return R.ok("更新成功","");
}
}
return R.error(500,"更新失败");
}

@ApiOperation(httpMethod = "GET", value = "获取所有收入支出标签类型", response = R.class,
notes = "获取所有收入支出标签类型")
@GetMapping("/all")
@UserLoginToken
@Override
public R getAll() {
//处理下收入和支出
List<FmMoneyTypeEntity> all = fmMoneyTypeService.getAll();
if(all!=null&&all.size()>0){
Map<String,List<FmMoneyTypeEntity>> map = new HashMap<>();
//收入
List<FmMoneyTypeEntity> incomeList = new ArrayList<>();
//支出
List<FmMoneyTypeEntity> expenditureList = new ArrayList<>();
for (FmMoneyTypeEntity fmMoneyTypeEntity : all) {
if(fmMoneyTypeEntity.getType()==1){
expenditureList.add(fmMoneyTypeEntity);
}else{
incomeList.add(fmMoneyTypeEntity);
}
}
map.put("income",incomeList);
map.put("expenditure",expenditureList);
return R.ok("获取成功",map);
}
return R.ok("获取成功","");
}

@Override
public R get(FmMoneyTypeEntity fmMoneyTypeEntity) {


项目链接:
https://javayms.github.io?id=462123150309201du
https://javayms.pages.dev?id=462123150309201du