yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/ErpFinancePaymentController.java
@@ -9,6 +9,7 @@
import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.finance.vo.payment.ErpFinancePaymentAuditReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.finance.vo.payment.ErpFinancePaymentPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.finance.vo.payment.ErpFinancePaymentRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.finance.vo.payment.ErpFinancePaymentSaveReqVO;
@@ -38,12 +39,12 @@
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Stream;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@Tag(name = "管理后台 - ERP 付款单")
@RestController
@@ -80,21 +81,29 @@
        return success(true);
    }
    @PostMapping("/submit")
    @Operation(summary = "提交付款单审批")
    @PutMapping("/submit")
    @Operation(summary = "提交付款单审批(未审核 → 审批中),审批人由审批配置统一指定")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('erp:finance-payment:update')")
    public CommonResult<Boolean> submitFinancePayment(@RequestParam("id") Long id,
                                                      @RequestParam("processDefinitionKey") String processDefinitionKey) {
        Long userId = getLoginUserId();
        financePaymentService.submitFinancePayment(id, processDefinitionKey, userId);
    public CommonResult<Boolean> submitFinancePayment(@RequestParam("id") Long id) {
        financePaymentService.submitFinancePayment(id);
        return success(true);
    }
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取付款单审批流程列表")
    @PutMapping("/audit")
    @Operation(summary = "审核付款单(审批中 → 审核通过/审核不通过),仅审批人本人可操作")
    @PreAuthorize("@ss.hasPermission('erp:finance-payment:audit')")
    public CommonResult<Boolean> auditFinancePayment(@Valid @RequestBody ErpFinancePaymentAuditReqVO auditReqVO) {
        financePaymentService.auditFinancePayment(auditReqVO.getId(), auditReqVO.getPass(),
                auditReqVO.getReviewRemark());
        return success(true);
    }
    @GetMapping("/approver-ids")
    @Operation(summary = "获得付款单的审批人编号集合,供前端判断是否展示审核按钮")
    @PreAuthorize("@ss.hasPermission('erp:finance-payment:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
        return success(financePaymentService.getFinancePaymentApproveProcessDefinitionList());
    public CommonResult<Set<Long>> getApproverUserIds() {
        return success(financePaymentService.getFinancePaymentApproverUserIds());
    }
    @DeleteMapping("/delete")