From 8d04ade530ef1bafe4553f6b44b561ee0faf70c2 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 11 十二月 2025 17:15:00 +0800
Subject: [PATCH] yys 大修改

---
 src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
index 30e838f..8e677b3 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -6,6 +6,8 @@
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.pojo.AccountExpense;
+import com.ruoyi.account.service.AccountExpenseService;
 import com.ruoyi.basic.mapper.SupplierManageMapper;
 import com.ruoyi.basic.pojo.SupplierManage;
 import com.ruoyi.common.utils.DateUtils;
@@ -26,6 +28,7 @@
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
@@ -57,6 +60,8 @@
     private TicketRegistrationMapper ticketRegistrationMapper;
 
     private ProductRecordMapper productRecordMapper;
+
+    private AccountExpenseService accountExpenseService;
 
     /**
      * 鏌ヨ浠樻鐧昏
@@ -95,6 +100,7 @@
      * @return 缁撴灉
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int insertPaymentRegistration(PaymentRegistration paymentRegistration) {
         PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(paymentRegistration.getPurchaseLedgerId());
         SalesLedger salesLedger = salesLedgerMapper.selectOne(new QueryWrapper<SalesLedger>().
@@ -127,6 +133,19 @@
         paymentRegistration.setRegistrantId(loginUser.getUserId());
         paymentRegistration.setCreateTime(DateUtils.getNowDate());
         paymentRegistration.setUpdateTime(DateUtils.getNowDate());
+
+        // 2. 澶勭悊璐︽埛鏀跺叆
+        AccountExpense accountExpense = new AccountExpense();
+        accountExpense.setExpenseDate(purchaseLedger.getEntryDate());
+        accountExpense.setExpenseType("0");
+        accountExpense.setSupplierName(purchaseLedger.getSupplierName());
+        accountExpense.setExpenseMoney(paymentRegistration.getCurrentPaymentAmount());
+        accountExpense.setExpenseDescribed("浠樻鐧昏锛�" + tr.getInvoiceNumber());
+        accountExpense.setExpenseMethod("0");
+        accountExpense.setInvoiceNumber(tr.getInvoiceNumber());
+        accountExpense.setInputTime(new Date());
+        accountExpense.setInputUser(loginUser.getNickName());
+        accountExpenseService.save(accountExpense);
         return paymentRegistrationMapper.insert(paymentRegistration);
     }
 
@@ -149,7 +168,13 @@
         if (total.add(paymentRegistration.getCurrentPaymentAmount()).compareTo(ticketRegistration.getInvoiceAmount()) > 0) {
             throw new RuntimeException("浠樻閲戦瓒呭嚭鍙戠エ閲戦");
         }
-
+        List<AccountExpense> accountExpenseDBs = accountExpenseService.getByInvoiceNumberList(ticketRegistration.getInvoiceNumber());
+        if (!CollectionUtils.isEmpty(accountExpenseDBs)) {
+            accountExpenseDBs.forEach(accountExpenseDB -> {
+                accountExpenseDB.setExpenseMoney(paymentRegistration.getCurrentPaymentAmount());
+                accountExpenseService.updateById(accountExpenseDB);
+            });
+        }
         paymentRegistration.setUpdateTime(DateUtils.getNowDate());
         return paymentRegistrationMapper.updateById(paymentRegistration);
     }

--
Gitblit v1.9.3