From 4afb279afec6c0a6684f88529d68057ad709b870 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 05 六月 2025 16:33:10 +0800
Subject: [PATCH] 客户往来bug修复
---
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
index c9d189f..d7c512e 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -9,7 +9,9 @@
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
+import com.ruoyi.purchase.dto.PaymentRegistrationDto;
import com.ruoyi.purchase.dto.TicketRegistrationDto;
+import com.ruoyi.purchase.mapper.PaymentRegistrationMapper;
import com.ruoyi.purchase.mapper.ProductRecordMapper;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.mapper.TicketRegistrationMapper;
@@ -24,6 +26,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -66,6 +69,9 @@
private final ProductRecordMapper productRecordMapper;
+ @Autowired
+ private PaymentRegistrationMapper paymentRegistrationMapper;
+
@Value("${file.upload-dir}")
private String uploadDir;
@@ -78,7 +84,27 @@
.like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName())
.eq(TicketRegistration::getIssueDate, ticketRegistration.getIssueDate());
}
- return ticketRegistrationMapper.selectList(queryWrapper);
+ List<TicketRegistration> ticketRegistrationList = ticketRegistrationMapper.selectList(queryWrapper);
+ // 璁$畻宸蹭粯娆鹃噾棰�
+ if(CollectionUtils.isNotEmpty(ticketRegistrationList)){
+ List<Long> ids = ticketRegistrationList.stream().map(TicketRegistration::getId).collect(Collectors.toList());
+ List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
+ for (TicketRegistration registration : ticketRegistrationList) {
+ BigDecimal paymentAmountTotal = BigDecimal.ZERO;
+ for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) {
+ if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){
+ paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
+ break;
+ }
+ }
+ BigDecimal invoiceAmount = registration.getInvoiceAmount();
+ BigDecimal subtractAmount = invoiceAmount.subtract(paymentAmountTotal);
+ registration.setPaymentAmountTotal(paymentAmountTotal);
+ registration.setUnPaymentAmountTotal(subtractAmount);
+ }
+ }
+
+ return ticketRegistrationList;
}
@Override
@@ -274,8 +300,7 @@
// 璁$畻 futureTickets锛堢洿鎺ヤ娇鐢� BigDecimal 璁$畻锛岄伩鍏嶇簿搴︿涪澶憋級
product.setFutureTickets(
product.getQuantity()
- .subtract(BigDecimal.valueOf(product.getTicketsNum()))
- .longValueExact() // 浣跨敤 exact 鏂规硶纭繚鏃犲皬鏁伴儴鍒�
+ .subtract(product.getTicketsNum())
);
// 璁$畻 futureTicketsAmount
--
Gitblit v1.9.3