From abe25fd4ae6f6c3c928682d5de15a0e1ed8b7654 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 08 一月 2026 16:10:42 +0800
Subject: [PATCH] yys

---
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 79041dc..19b6cfa 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -113,6 +113,13 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException {
+        if(StringUtils.isNotBlank(purchaseLedgerDto.getPurchaseContractNumber())){
+            List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(new LambdaQueryWrapper<PurchaseLedger>()
+                    .eq(PurchaseLedger::getPurchaseContractNumber, purchaseLedgerDto.getPurchaseContractNumber()));
+            if(CollectionUtils.isNotEmpty(purchaseLedgers)){
+                throw new BaseException("閲囪喘鍚堝悓鍙峰凡瀛樺湪");
+            }
+        }
 
         SalesLedger salesLedger = salesLedgerMapper.selectById(purchaseLedgerDto.getSalesLedgerId());
         //褰曞叆浜�
@@ -153,18 +160,20 @@
         } else {
             purchaseLedgerMapper.updateById(purchaseLedger);
             PurchaseLedger purchaseLedgerDB = purchaseLedgerMapper.selectById(purchaseLedger.getId());
-            AccountExpense accountExpenseDB = accountExpenseService.getByInvoiceNumber(purchaseLedger.getPurchaseContractNumber());
-            if (ObjectUtils.isEmpty(accountExpenseDB)) {
-                throw new BaseException("鏀嚭绠$悊鏃犺閲囪喘鍚堝悓鐨勬敮鍑鸿褰�");
+            List<AccountExpense> accountExpenseDBs = accountExpenseService.getByInvoiceNumberList(purchaseLedger.getPurchaseContractNumber());
+            if (!CollectionUtils.isEmpty(accountExpenseDBs)) {
+                accountExpenseDBs.forEach(accountExpenseDB ->{
+                    accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate());
+                    accountExpenseDB.setExpenseType("0");
+                    accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName());
+                    accountExpenseDB.setExpenseMoney(purchaseLedgerDB.getContractAmount());
+                    accountExpenseDB.setExpenseDescribed("閲囪喘鍚堝悓锛�" + purchaseLedgerDB.getPurchaseContractNumber());
+                    accountExpenseDB.setExpenseMethod("0");
+                    accountExpenseDB.setInvoiceNumber(purchaseLedgerDB.getPurchaseContractNumber());
+                    accountExpenseService.updateById(accountExpenseDB);
+                });
             }
-            accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate());
-            accountExpenseDB.setExpenseType("0");
-            accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName());
-            accountExpenseDB.setExpenseMoney(purchaseLedgerDB.getContractAmount());
-            accountExpenseDB.setExpenseDescribed("閲囪喘鍚堝悓锛�" + purchaseLedgerDB.getPurchaseContractNumber());
-            accountExpenseDB.setExpenseMethod("0");
-            accountExpenseDB.setInvoiceNumber(purchaseLedgerDB.getPurchaseContractNumber());
-            accountExpenseService.updateById(accountExpenseDB);
+
         }
 
         // 4. 澶勭悊瀛愯〃鏁版嵁

--
Gitblit v1.9.3