package com.ruoyi.account.controller;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.account.pojo.FinanceAccount;
|
import com.ruoyi.account.service.FinanceAccountService;
|
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 java.math.BigDecimal;
|
import java.util.List;
|
|
/**
|
* 财务管理--资金账户
|
*/
|
@RestController
|
@RequestMapping("/finance/account")
|
@Api(tags = "财务管理--资金账户")
|
public class FinanceAccountController {
|
|
@Resource
|
private FinanceAccountService financeAccountService;
|
|
/**
|
* 新增账户
|
*/
|
@PostMapping
|
@ApiOperation("新增账户")
|
public AjaxResult add(@RequestBody FinanceAccount account) {
|
if (account.getOpeningBalance() == null) {
|
account.setOpeningBalance(BigDecimal.ZERO);
|
}
|
if (account.getStatus() == null) {
|
account.setStatus("0");
|
}
|
return AjaxResult.success(financeAccountService.save(account));
|
}
|
|
/**
|
* 删除
|
*/
|
@DeleteMapping
|
@ApiOperation("删除账户")
|
public AjaxResult del(@RequestBody List<Integer> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return AjaxResult.error("请选择至少一条数据");
|
}
|
return AjaxResult.success(financeAccountService.removeBatchByIds(ids));
|
}
|
|
/**
|
* 修改
|
*/
|
@PutMapping
|
@ApiOperation("修改账户")
|
public AjaxResult update(@RequestBody FinanceAccount account) {
|
return AjaxResult.success(financeAccountService.updateById(account));
|
}
|
|
/**
|
* 分页查询(含当前余额)
|
*/
|
@GetMapping("/page")
|
@ApiOperation("分页查询(含余额)")
|
public AjaxResult page(Page page, FinanceAccount account) {
|
return AjaxResult.success(financeAccountService.pageWithBalance(page, account));
|
}
|
|
/**
|
* 启用账户列表(下拉用)
|
*/
|
@GetMapping("/list")
|
@ApiOperation("启用账户列表(下拉用)")
|
public AjaxResult list() {
|
FinanceAccount q = new FinanceAccount();
|
q.setStatus("0");
|
return AjaxResult.success(financeAccountService.pageWithBalance(new Page(1, 1000), q).getRecords());
|
}
|
|
/**
|
* 查询账户余额
|
*/
|
@GetMapping("/balance/{accountId}")
|
@ApiOperation("查询账户余额")
|
public AjaxResult balance(@PathVariable("accountId") Long accountId) {
|
return AjaxResult.success(financeAccountService.getBalance(accountId));
|
}
|
|
/**
|
* 资金流趋势
|
*/
|
@GetMapping("/trend")
|
@ApiOperation("资金流趋势")
|
public AjaxResult trend(@RequestParam(required = false) Long accountId,
|
@RequestParam(required = false) String start,
|
@RequestParam(required = false) String end) {
|
return AjaxResult.success(financeAccountService.trend(accountId, start, end));
|
}
|
}
|