From dc658c83dcb919df1b263dc9cd10a228e7a234ec Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 24 六月 2026 14:39:45 +0800
Subject: [PATCH] fix: 反审核重复新增

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   51 +++++----------------------------------------------
 1 files changed, 5 insertions(+), 46 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 4ed1bed..b1304b9 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -1915,11 +1915,7 @@
             BigDecimal stockedQty = item.getStockedQuantity() == null ? BigDecimal.ZERO : item.getStockedQuantity();
             return orderQty.compareTo(BigDecimal.ZERO) <= 0 || stockedQty.compareTo(orderQty) >= 0;
         });
-        int newStockStatus = allStocked ? 2 : (hasStocked ? 1 : 0);
-        if (newStockStatus > 0 && ledger.getDeliveryDate() == null) {
-            ledger.setDeliveryDate(LocalDate.now().plusDays(7));
-        }
-        ledger.setStockStatus(newStockStatus);
+        ledger.setStockStatus(allStocked ? 2 : (hasStocked ? 1 : 0));
         baseMapper.updateById(ledger);
     }
 
@@ -2084,11 +2080,7 @@
             return sq != null && sq.compareTo(BigDecimal.ZERO) > 0;
         });
         boolean allLinesFull = ledgerAllProducts.stream().allMatch(p -> Objects.equals(p.getProductStockStatus(), 2));
-        int newStockStatus = allLinesFull ? 2 : (anyInbound ? 1 : 0);
-        if (newStockStatus > 0 && salesLedger.getDeliveryDate() == null) {
-            salesLedger.setDeliveryDate(LocalDate.now().plusDays(7));
-        }
-        salesLedger.setStockStatus(newStockStatus);
+        salesLedger.setStockStatus(allLinesFull ? 2 : (anyInbound ? 1 : 0));
         baseMapper.updateById(salesLedger);
     }
 
@@ -3936,43 +3928,10 @@
             // 5. 鍙栨秷瀹℃壒娴佺▼
             cancelApproveProcesses(id, originalLedger.getSalesContractNo());
 
-            // 6. 閲嶆柊鐢熸垚锛氬垱寤烘柊鍙拌处鍓湰
+            // 6. 閲嶆柊鐢熸垚锛氭澶勪笉鐩存帴鍦ㄥ悗绔叆搴擄紝鑰屾槸杩斿洖鍘熷崟鎹甀D缁欏墠绔�
+            // 鍓嶇鎷垮埌ID鍚庝細鑾峰彇鍘熷崟鎹鎯呭苟璺宠浆鍒版柊澧為〉闈紙甯﹀叆棰勫~鏁版嵁锛夛紝鐢辩敤鎴峰湪椤甸潰涓婄紪杈戝悗缁熶竴鏂板锛屼互閬垮厤鏁版嵁閲嶅鐢熸垚
             if (dto.getCounterReviewType() == 2) {
-                SalesLedger newLedger = new SalesLedger();
-                BeanUtils.copyProperties(originalLedger, newLedger);
-                newLedger.setId(null);
-                newLedger.setSalesContractNo(generateSalesContractNo());
-                newLedger.setDeliveryStatus(1);
-                newLedger.setStockStatus(0);
-                newLedger.setReviewStatus(0);
-                newLedger.setCounterReviewTime(null);
-                newLedger.setCounterReviewPerson(null);
-                newLedger.setCounterReviewPersonId(null);
-                newLedger.setCounterReviewType(null);
-                newLedger.setCounterReviewDesc(null);
-                salesLedgerMapper.insert(newLedger);
-
-                // 澶嶅埗浜у搧鍒版柊鍙拌处
-                List<SalesLedgerProduct> originalProducts = salesLedgerProductMapper.selectList(
-                        Wrappers.<SalesLedgerProduct>lambdaQuery()
-                                .eq(SalesLedgerProduct::getSalesLedgerId, id)
-                );
-                for (SalesLedgerProduct originalProduct : originalProducts) {
-                    SalesLedgerProduct newProduct = new SalesLedgerProduct();
-                    BeanUtils.copyProperties(originalProduct, newProduct);
-                    newProduct.setId(null);
-                    newProduct.setSalesLedgerId(newLedger.getId());
-                    newProduct.setStockedQuantity(BigDecimal.ZERO);
-                    newProduct.setShippedQuantity(BigDecimal.ZERO);
-                    newProduct.setUnqualifiedStockedQuantity(BigDecimal.ZERO);
-                    newProduct.setUnqualifiedShippedQuantity(BigDecimal.ZERO);
-                    newProduct.setReturnQuality(BigDecimal.ZERO);
-                    newProduct.setAvailableQuality(newProduct.getQuantity().subtract(newProduct.getReturnQuality()));
-                    newProduct.setProductStockStatus(0);
-                    newProduct.fillRemainingQuantity();
-                    salesLedgerProductMapper.insert(newProduct);
-                }
-                newLedgerIds.add(newLedger.getId());
+                newLedgerIds.add(id);
             }
         }
         return newLedgerIds;

--
Gitblit v1.9.3