liding
5 天以前 db628292cb9b69b901b44b146ac88c5f68e38389
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.ruoyi.account.controller;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.dto.AccountTransferDto;
import com.ruoyi.account.pojo.Account;
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.account.service.AccountService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
 
/**
 * 财务管理--资金管理
 */
@RestController
@RequestMapping("/finance/funds")
@Api(tags = "财务管理--资金管理")
public class AccountController {
 
    @Resource
    private AccountService accountService;
 
 
    /**
     * 新增流水(自动补全收支方向)
     * @param account
     * @return
     */
    @PostMapping("/add")
    @ApiOperation("新增流水")
    public AjaxResult add(@RequestBody Account account) {
        return AjaxResult.success(accountService.saveFlow(account));
    }
 
    /**
     * 转账(生成成对流水)
     * @param dto
     * @return
     */
    @PostMapping("/transfer")
    @ApiOperation("转账")
    public AjaxResult transfer(@RequestBody AccountTransferDto dto) {
        return AjaxResult.success(accountService.transfer(dto));
    }
 
    /**
     * 删除
     * @param ids
     * @return
     */
    @DeleteMapping()
    @ApiOperation("删除")
    public AjaxResult delQualityInspect(@RequestBody List<Integer> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return AjaxResult.error("请选择至少一条数据");
        }
        if (accountService.listByIds(ids).stream().anyMatch(item -> "2".equals(item.getFlowType()))) {
            return AjaxResult.error("转账成对流水不可单独删除");
        }
        // 删除普通资金流水;转账流水必须保持成对完整
        return AjaxResult.success(accountService.removeBatchByIds(ids));
    }
 
    /**
     * 修改
     * @param account
     * @return
     */
    @PutMapping()
    @ApiOperation("修改")
    public AjaxResult update(@RequestBody Account account) {
        return AjaxResult.success(accountService.updateFlow(account));
    }
 
    /**
     *分页查询
     * @param page
     * @return
     */
    @GetMapping("/page")
    @ApiOperation("分页查询")
    public AjaxResult accountListPage(Page page,Account account) {
        return AjaxResult.success(accountService.accountListPage(page,account));
    }
 
 
 
}