From c58c05fa307754061c9264758eff668105f89625 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 09 三月 2026 14:14:41 +0800
Subject: [PATCH] yys 商机管理优化

---
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 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..7a9acab 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -27,9 +27,11 @@
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.purchase.dto.PurchaseLedgerDto;
+import com.ruoyi.purchase.mapper.PaymentRegistrationMapper;
 import com.ruoyi.purchase.mapper.ProductRecordMapper;
 import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
 import com.ruoyi.purchase.mapper.TicketRegistrationMapper;
+import com.ruoyi.purchase.pojo.PaymentRegistration;
 import com.ruoyi.purchase.pojo.ProductRecord;
 import com.ruoyi.purchase.pojo.PurchaseLedger;
 import com.ruoyi.purchase.pojo.TicketRegistration;
@@ -98,6 +100,8 @@
 
     private final StringRedisTemplate redisTemplate;
 
+    private final PaymentRegistrationMapper  paymentRegistrationMapper;
+
     @Value("${file.upload-dir}")
     private String uploadDir;
 
@@ -153,18 +157,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. 澶勭悊瀛愯〃鏁版嵁
@@ -357,6 +363,10 @@
         LambdaQueryWrapper<ProductRecord> productRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
         productRecordLambdaQueryWrapper.in(ProductRecord::getPurchaseLedgerId,ids);
         productRecordMapper.delete(productRecordLambdaQueryWrapper);
+        // 鍒犻櫎浠樻璁板綍
+        LambdaQueryWrapper<PaymentRegistration> paymentRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        paymentRegistrationLambdaQueryWrapper.in(PaymentRegistration::getPurchaseLedgerId,ids);
+        paymentRegistrationMapper.delete(paymentRegistrationLambdaQueryWrapper);
         // 鎵归噺鍒犻櫎閲囪喘鍙拌处
         return purchaseLedgerMapper.deleteBatchIds(Arrays.asList(ids));
     }
@@ -377,7 +387,8 @@
 
         // 3.鏌ヨ涓婁紶鏂囦欢
         LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
-        salesLedgerFileWrapper.eq(CommonFile::getCommonId, purchaseLedger.getId());
+        salesLedgerFileWrapper.eq(CommonFile::getCommonId, purchaseLedger.getId())
+                .eq(CommonFile::getType,FileNameType.PURCHASE.getValue());
         List<CommonFile> salesLedgerFiles = commonFileMapper.selectList(salesLedgerFileWrapper);
 
         // 4. 杞崲 DTO
@@ -473,7 +484,7 @@
     public IPage<PurchaseLedgerDto> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedgerDto purchaseLedger) {
         IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerMapper.selectPurchaseLedgerListPage(ipage, purchaseLedger);
         purchaseLedgerDtoIPage.getRecords().forEach(purchaseLedgerDto -> {
-            List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, purchaseLedgerDto.getId()).eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue()));
+            List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, purchaseLedgerDto.getId()).eq(CommonFile::getType, FileNameType.PURCHASE.getValue()));
             purchaseLedgerDto.setSalesLedgerFiles(commonFiles);
         });
         return purchaseLedgerDtoIPage;

--
Gitblit v1.9.3