package com.ruoyi.account.controller.purchase; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.bean.dto.purchase.AccountPurchaseInvoiceDto; import com.ruoyi.account.bean.vo.purchase.AccountPurchaseInvoiceVo; import com.ruoyi.account.pojo.purchase.AccountPurchaseInvoice; import com.ruoyi.account.service.purchase.AccountPurchaseInvoiceService; 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 jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** *

* 财务管理--进项发票 前端控制器 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-05-19 03:06:17 */ @RestController @RequestMapping("/accountPurchaseInvoice") @Tag(name = "财务管理--进项发票") @RequiredArgsConstructor public class AccountPurchaseInvoiceController { private final AccountPurchaseInvoiceService accountPurchaseInvoiceService; @GetMapping("/listPageAccountPurchaseInvoice") @Log(title = "进项发票台账", businessType = BusinessType.OTHER) @Operation(summary = "财务管理--进项发票台账") public R> listPageAccountPurchaseInvoice(Page page, AccountPurchaseInvoiceDto accountPurchaseInvoiceDto) { IPage listPage = accountPurchaseInvoiceService.listPageAccountPurchaseInvoice(page,accountPurchaseInvoiceDto); return R.ok(listPage); } @GetMapping("/getInboundBatchesBySupplier") @Log(title = "根据供应商查询入库单号(进项发票)", businessType = BusinessType.OTHER) @Operation(summary = "财务管理--根据供应商查询入库单号(进项发票)") public R getInboundBatchesBySupplier(Integer supplierId) { return R.ok(accountPurchaseInvoiceService.getInboundBatchesBySupplier(supplierId)); } @PostMapping("/addAccountPurchaseInvoice") @Log(title = "新增进项发票", businessType = BusinessType.INSERT) @Operation(summary = "财务管理--新增进项发票") public R addAccountPurchaseInvoice(@RequestBody AccountPurchaseInvoice accountPurchaseInvoice) { return R.ok(accountPurchaseInvoiceService.save(accountPurchaseInvoice)); } @PutMapping("/cancelAccountPurchaseInvoice") @Log(title = "作废进项发票", businessType = BusinessType.INSERT) @Operation(summary = "财务管理--作废销项发票") public R cancelAccountPurchaseInvoice(@RequestBody AccountPurchaseInvoice accountPurchaseInvoice) { return R.ok(accountPurchaseInvoiceService.updateById(accountPurchaseInvoice)); } @DeleteMapping("/deleteAccountPurchaseInvoice") @Log(title = "删除进项发票", businessType = BusinessType.DELETE) @Operation(summary = "财务管理--删除进项发票") public R deleteAccountPurchaseInvoice(@RequestParam("ids") Long[] ids) { return R.ok(accountPurchaseInvoiceService.deleteAccountPurchaseInvoice(Arrays.asList(ids))); } @PostMapping("/exportAccountPurchaseInvoice") @Operation(summary = "导出进项发票文件") @Log(title = "导出进项发票文件", businessType = BusinessType.EXPORT) public void exportAccountPurchaseInvoice(HttpServletResponse response, AccountPurchaseInvoiceDto accountPurchaseInvoiceDto) { accountPurchaseInvoiceService.exportAccountPurchaseInvoice(response,accountPurchaseInvoiceDto); } }