package com.ruoyi.account.controller.financial; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.bean.dto.financial.FinVoucherDto; import com.ruoyi.account.bean.dto.financial.FinVoucherPageDto; import com.ruoyi.account.bean.dto.financial.FinVoucherStatusDto; import com.ruoyi.account.bean.vo.financial.FinVoucherDetailVo; import com.ruoyi.account.pojo.financial.FinVoucher; import com.ruoyi.account.service.financial.FinVoucherService; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.R; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; /** * 凭证控制器。 */ @RestController @RequestMapping("/financial/voucher") @RequiredArgsConstructor @Tag(name = "财务管理-凭证") public class FinVoucherController { private final FinVoucherService finVoucherService; @GetMapping("/page") @Operation(summary = "凭证分页查询") public R> page(Page page, FinVoucherPageDto queryDto) { return R.ok(finVoucherService.pageList(page, queryDto)); } @PostMapping("/add") @Log(title = "凭证", businessType = BusinessType.INSERT) @Operation(summary = "新增凭证") public R add(@RequestBody FinVoucherDto dto) { return R.ok(finVoucherService.addVoucher(dto)); } @PutMapping("/update") @Log(title = "凭证", businessType = BusinessType.UPDATE) @Operation(summary = "修改凭证") public R update(@RequestBody FinVoucherDto dto) { return R.ok(finVoucherService.updateVoucher(dto)); } @PostMapping("/post") @Log(title = "凭证过账", businessType = BusinessType.UPDATE) @Operation(summary = "凭证过账") public R post(@RequestBody FinVoucherStatusDto dto) { return R.ok(finVoucherService.postVoucher(dto.getId())); } @PostMapping("/cancel") @Log(title = "凭证作废", businessType = BusinessType.UPDATE) @Operation(summary = "凭证作废") public R cancel(@RequestBody FinVoucherStatusDto dto) { return R.ok(finVoucherService.cancelVoucher(dto.getId())); } @GetMapping("/detail/{id}") @Operation(summary = "凭证详情") public R detail(@PathVariable("id") Long id) { return R.ok(finVoucherService.detail(id)); } }