From 1fad0578c97abbb7fc30f59eb1de0f23f08ddde1 Mon Sep 17 00:00:00 2001 From: zhangmei <645025773@qq.com> Date: 星期四, 27 三月 2025 15:21:15 +0800 Subject: [PATCH] 流水、开票营业部权限 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java | 101 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 99 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java index b6f8562..1acd81e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java @@ -1,9 +1,29 @@ package com.ruoyi.web.controller.api; -import org.springframework.web.bind.annotation.RequestMapping; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.TencentMailUtil; +import com.ruoyi.system.dto.TBillDto; +import com.ruoyi.system.model.TBill; +import com.ruoyi.system.model.TInvoice; +import com.ruoyi.system.query.TInvoiceQuery; +import com.ruoyi.system.service.TBillService; +import com.ruoyi.system.service.TInvoiceService; +import com.ruoyi.web.controller.tool.TencentCosUtil; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.*; + /** * <p> @@ -16,6 +36,83 @@ @RestController @RequestMapping("/t-invoice") public class TInvoiceController { + @Autowired + private TInvoiceService invoiceService; + @Autowired + TBillService tBillService; + @Autowired + TencentCosUtil tencentCosUtil; + @PreAuthorize("@ss.hasPermi('invoice:list')") + @ApiOperation(value = "获取开票列表") + @PostMapping("/list") + public R<PageInfo<TInvoice>> list(@RequestBody TInvoiceQuery query) { + query.setBusinessDeptId(SecurityUtils.getBusinessDeptId()); + return R.ok(invoiceService.pageList(query)); + } + @PreAuthorize("@ss.hasPermi('invoice:list:del')") + @Log(title = "开票信息-删除开票", businessType = BusinessType.DELETE) + @ApiOperation(value = "删除开票") + @DeleteMapping(value = "/deleteById") + public R<Boolean> deleteById(@RequestParam String id) { + return R.ok(invoiceService.removeById(id)); + } + + @ApiOperation(value = "关联账单信息") + @GetMapping(value = "/getBillByInvoiceId/{invoiceId}") + public R<PageInfo<TBillDto>> getBillByInvoiceId(@PathVariable String invoiceId){ + return R.ok(tBillService.getBillByInvoiceId(invoiceId)); + } + + @ApiOperation(value = "上传开票凭证") + @PostMapping("/uploadVoucher") + @PreAuthorize("@ss.hasPermi('invoice:list:payment')") + public R<Boolean> uploadVoucher(@RequestBody TInvoiceQuery query) { + String invoiceVoucher = query.getInvoiceVoucher(); + String invoiceVoucherName = query.getInvoiceVoucherName(); + if (invoiceVoucher == null || invoiceVoucherName == null) { + return R.fail("请上传发票文件"); + } + String[] voucherUrls = invoiceVoucher.split(","); + String[] voucherNames = invoiceVoucherName.split(","); + + // 确保两个数组长度一致 + int length = Math.min(voucherUrls.length, voucherNames.length); + if (length == 0) { + return R.fail("请上传发票文件"); + } + // 构建附件列表 + List<Map<String, String>> attachments = new ArrayList<>(length); + for (int i = 0; i < length; i++) { + String voucherUrl = voucherUrls[i]; + String fileName = voucherNames[i]; + Map<String, String> attachment = new HashMap<>(2); // 初始容量为2,避免扩容 + String tempDir = System.getProperty("java.io.tmpdir"); + Path filePath = Paths.get(tempDir, fileName); + // 保存到临时目录 + tencentCosUtil.download(voucherUrl,filePath.toString(),fileName); + + attachment.put("filePath", filePath.toString()); + attachment.put("fileName", fileName); + attachments.add(attachment); + } + return R.ok(invoiceService.uploadVoucher(query,attachments)); + } } + + + + + + + + + + + + + + + + -- Gitblit v1.7.1