package com.ruoyi.account.controller.sales; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.bean.dto.sales.AccountInvoiceApplicationDto; import com.ruoyi.account.bean.vo.sales.AccountInvoiceApplicationVo; import com.ruoyi.account.pojo.sales.AccountInvoiceApplication; import com.ruoyi.account.service.sales.AccountInvoiceApplicationService; 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-18 01:38:32 */ @RestController @RequestMapping("/accountInvoiceApplication") @Tag(name = "财务管理--开票申请") @RequiredArgsConstructor public class AccountInvoiceApplicationController { private final AccountInvoiceApplicationService accountInvoiceApplicationService; @GetMapping("/listPageAccountInvoiceApplication") @Log(title = "开票申请台账", businessType = BusinessType.OTHER) @Operation(summary = "财务管理--开票申请台账") public R> listPageAccountInvoiceApplication(Page page, AccountInvoiceApplicationDto accountInvoiceApplicationDto) { IPage listPage = accountInvoiceApplicationService.listPageAccountInvoiceApplication(page,accountInvoiceApplicationDto); return R.ok(listPage); } @GetMapping("/getOutboundBatchesByCustomer") @Log(title = "根据客户查询出库单号(开票申请)", businessType = BusinessType.OTHER) @Operation(summary = "财务管理--根据客户查询出库单号(开票申请)") public R getOutboundBatchesByCustomer(Integer customerId) { return R.ok(accountInvoiceApplicationService.getOutboundBatchesByCustomer(customerId)); } @PostMapping("/addAccountInvoiceApplication") @Log(title = "新增开票申请", businessType = BusinessType.INSERT) @Operation(summary = "财务管理--新增开票申请") public R addAccountInvoiceApplication(@RequestBody AccountInvoiceApplication accountInvoiceApplication) { return R.ok(accountInvoiceApplicationService.addAccountInvoiceApplication(accountInvoiceApplication)); } @PutMapping("/updateAccountInvoiceApplication") @Log(title = "修改开票申请", businessType = BusinessType.UPDATE) @Operation(summary = "财务管理--修改开票申请") public R updateAccountInvoiceApplication(@RequestBody AccountInvoiceApplication accountInvoiceApplication) { return R.ok(accountInvoiceApplicationService.updateById(accountInvoiceApplication)); } @PutMapping("/auditAccountInvoiceApplication") @Log(title = "审核开票申请", businessType = BusinessType.UPDATE) @Operation(summary = "财务管理--审核开票申请") public R auditAccountInvoiceApplication(@RequestBody AccountInvoiceApplication accountInvoiceApplication) { return R.ok(accountInvoiceApplicationService.updateById(accountInvoiceApplication)); } @DeleteMapping("/deleteAccountInvoiceApplication") @Log(title = "删除开票申请", businessType = BusinessType.DELETE) @Operation(summary = "财务管理--删除开票申请") public R deleteAccountInvoiceApplication(@RequestParam("ids") Long[] ids) { return R.ok(accountInvoiceApplicationService.deleteAccountInvoiceApplication(Arrays.asList(ids))); } @PostMapping("/exportAccountInvoiceApplication") @Operation(summary = "导出开票申请文件") @Log(title = "导出开票申请文件", businessType = BusinessType.EXPORT) public void exportAccountInvoiceApplication(HttpServletResponse response, AccountInvoiceApplicationDto accountInvoiceApplicationDto) { accountInvoiceApplicationService.exportAccountInvoiceApplication(response,accountInvoiceApplicationDto); } }