gaoluyang
7 小时以前 2eadf3769b41e74c56364f3a6509a728a652af51
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java
@@ -349,6 +349,10 @@
     * @param supplierId 供应商编号
     */
    private void validateInvoiceForPayment(Long invoiceId, Long supplierId) {
        // 未关联来票时跳过校验(付款单允许不关联来票)
        if (invoiceId == null) {
            return;
        }
        // 1. 校验来票存在
        ErpPurchaseInvoiceDO invoice = invoiceService.getPurchaseInvoice(invoiceId);
        if (invoice == null) {
@@ -373,6 +377,10 @@
     * @param oldPaymentPrice 更新场景下,该付款单自身当前的付款金额(用于排除自身),创建场景传 null
     */
    private void validatePaymentPriceExceedsInvoiceRemaining(Long invoiceId, BigDecimal paymentPrice, BigDecimal oldPaymentPrice) {
        // 未关联来票时无剩余可付金额可校验
        if (invoiceId == null) {
            return;
        }
        ErpPurchaseInvoiceDO invoice = invoiceService.getPurchaseInvoice(invoiceId);
        BigDecimal paidPrice = financePaymentMapper.selectPaymentPriceMapByInvoiceId(List.of(invoiceId))
                .getOrDefault(invoiceId, BigDecimal.ZERO);