From 901e3c96c76f168ddbeaa10562a4d2d6f4d3ba8c Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 25 五月 2026 15:07:09 +0800
Subject: [PATCH] refactor(approve): 重构审批业务状态同步逻辑
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 4775de5..47a8a6c 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -389,6 +389,11 @@
SalesLedgerProduct salesLedgerProduct = new SalesLedgerProduct();
BeanUtils.copyProperties(salesLedgerProductImportDto, salesLedgerProduct);
salesLedgerProduct.setSingleQuantity(normalizeSingleQuantity(salesLedgerProduct.getSingleQuantity()));
+ salesLedgerProduct.setTotalQuantity(normalizeTotalQuantity(
+ salesLedgerProduct.getTotalQuantity(),
+ salesLedgerProduct.getQuantity(),
+ salesLedgerProduct.getSingleQuantity()
+ ));
salesLedgerProduct.setSalesLedgerId(salesLedger.getId());
salesLedgerProduct.setType(1);
// 璁$畻涓嶅惈绋庢�讳环
@@ -594,6 +599,7 @@
.peek(p -> {
p.setSalesLedgerId(salesLedgerId);
p.setSingleQuantity(normalizeSingleQuantity(p.getSingleQuantity()));
+ p.setTotalQuantity(normalizeTotalQuantity(p.getTotalQuantity(), p.getQuantity(), p.getSingleQuantity()));
})
.collect(Collectors.partitioningBy(p -> p.getId() != null));
@@ -631,6 +637,16 @@
return singleQuantity;
}
+ private BigDecimal normalizeTotalQuantity(BigDecimal totalQuantity, BigDecimal quantity, BigDecimal singleQuantity) {
+ if (totalQuantity != null && totalQuantity.compareTo(BigDecimal.ZERO) > 0) {
+ return totalQuantity;
+ }
+ if (quantity == null || quantity.compareTo(BigDecimal.ZERO) <= 0) {
+ return BigDecimal.ZERO;
+ }
+ return quantity.multiply(normalizeSingleQuantity(singleQuantity));
+ }
+
@Transactional(readOnly = true)
public String generateSalesContractNo() {
LocalDate currentDate = LocalDate.now();
--
Gitblit v1.9.3