From 2eadf3769b41e74c56364f3a6509a728a652af51 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 16 十月 2026 10:44:48 +0800
Subject: [PATCH] feat(erp): 付款单付款账户、关联来票、付款明细改为非必填
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentRespVO.java | 6 +++---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java | 8 ++++++++
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentSaveReqVO.java | 10 +++-------
3 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentRespVO.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentRespVO.java
index 3a49d21..f10e06d 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentRespVO.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentRespVO.java
@@ -42,12 +42,12 @@
@Schema(description = "渚涘簲鍟嗗悕绉�", requiredMode = Schema.RequiredMode.REQUIRED, example = "灏忕暘鑼勫叕鍙�")
private String supplierName;
- @Schema(description = "鍏宠仈鐨勬潵绁ㄧ紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "25787")
+ @Schema(description = "鍏宠仈鐨勬潵绁ㄧ紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "25787")
private Long invoiceId;
@Schema(description = "鍏宠仈鐨勬潵绁ㄤ俊鎭�")
private ErpPurchaseInvoiceRespVO invoice;
- @Schema(description = "浠樻璐︽埛", requiredMode = Schema.RequiredMode.REQUIRED, example = "鍐滆瀵瑰叕璐︽埛")
+ @Schema(description = "浠樻璐︽埛", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "鍐滆瀵瑰叕璐︽埛")
private String accountName;
@Schema(description = "鍚堣浠锋牸锛屽崟浣嶏細鍏�", requiredMode = Schema.RequiredMode.REQUIRED, example = "13832")
@@ -74,7 +74,7 @@
@ExcelProperty("鍒涘缓鏃堕棿")
private LocalDateTime createTime;
- @Schema(description = "浠樻椤瑰垪琛�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @Schema(description = "浠樻椤瑰垪琛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
private List<Item> items;
@Data
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentSaveReqVO.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentSaveReqVO.java
index ab517d9..d46a107 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentSaveReqVO.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/vo/payment/ErpFinancePaymentSaveReqVO.java
@@ -2,7 +2,6 @@
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -28,12 +27,10 @@
@NotNull(message = "渚涘簲鍟嗙紪鍙蜂笉鑳戒负绌�")
private Long supplierId;
- @Schema(description = "鍏宠仈鐨勬潵绁ㄧ紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "25787")
- @NotNull(message = "鍏宠仈鏉ョエ缂栧彿涓嶈兘涓虹┖")
+ @Schema(description = "鍏宠仈鐨勬潵绁ㄧ紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "25787")
private Long invoiceId;
- @Schema(description = "浠樻璐︽埛", requiredMode = Schema.RequiredMode.REQUIRED, example = "鍐滆瀵瑰叕璐︽埛")
- @NotEmpty(message = "浠樻璐︽埛涓嶈兘涓虹┖")
+ @Schema(description = "浠樻璐︽埛", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "鍐滆瀵瑰叕璐︽埛")
private String accountName;
@Schema(description = "浼樻儬閲戦锛屽崟浣嶏細鍏�", requiredMode = Schema.RequiredMode.REQUIRED, example = "11600")
@@ -46,8 +43,7 @@
@Schema(description = "闄勪欢 blobId 鍒楄〃", example = "[1, 2, 3]")
private List<Long> blobIds;
- @Schema(description = "浠樻椤瑰垪琛�", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "浠樻椤瑰垪琛ㄤ笉鑳戒负绌�")
+ @Schema(description = "浠樻椤瑰垪琛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@Valid
private List<Item> items;
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java
index 1f9c13c..64dd7b2 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java
+++ b/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);
--
Gitblit v1.9.3