From 896dd14aee044c548b05efa3ff412748be0df555 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 29 一月 2026 15:13:24 +0800
Subject: [PATCH] yys  修改注入方式

---
 src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
index 7c1d837..e6d8b7b 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+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.common.enums.FileNameType;
@@ -24,7 +25,9 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -66,7 +69,7 @@
         page.setSize(productRecordDtoIPage1.getTotal());
         IPage<ProductRecordDto> productRecordDtoIPage = productRecordMapper.productRecordPage(page, ticketRegistrationDto);
         productRecordDtoIPage.getRecords().forEach(productRecordDto -> {
-            productRecordDto.setCommonFiles(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, productRecordDto.getTicketRegistrationId())
+            productRecordDto.setCommonFiles(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, productRecordDto.getId())
                     .eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue())));
         });
         return productRecordDtoIPage;
@@ -75,6 +78,7 @@
     private final TicketRegistrationMapper ticketRegistrationMapper;
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult updateRecord(ProductRecordDto productRecordDto) {
         SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productRecordDto.getSaleLedgerProjectId());
         ProductRecord productRecord = productRecordMapper.selectById(productRecordDto.getId());
@@ -89,21 +93,40 @@
         if (purchaseLedger != null) {
             purchaseLedger.setReceiptPaymentAmount(purchaseLedger.getReceiptPaymentAmount());
         }
-        BeanUtils.copyProperties(productRecordDto,productRecord);
-        productRecord.setFutureTicketsAmount(productRecord.getFutureTickets().multiply(productRecord.getTaxInclusiveUnitPrice()));
-        productRecordMapper.updateById(productRecord);
         // 淇敼鍙戠エ鍙�
         TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(productRecord.getTicketRegistrationId());
         if(ticketRegistration != null){
             ticketRegistration.setInvoiceNumber(productRecordDto.getInvoiceNumber());
+            ticketRegistration.setInvoiceAmount(productRecordDto.getTicketsAmount());
             ticketRegistrationMapper.updateById(ticketRegistration);
         }
+        BeanUtils.copyProperties(productRecordDto,productRecord);
+        productRecord.setFutureTicketsAmount(productRecord.getFutureTickets().multiply(productRecord.getTaxInclusiveUnitPrice()));
+        productRecordMapper.updateById(productRecord);
+
         return AjaxResult.success("淇敼鎴愬姛");
     }
 
-    @Override
-    public ProductRecordDto getProductRecordById(Long id) {
-        ProductRecordDto productRecordDto = productRecordMapper.getProductRecordById(id);
-        return productRecordDto;
+     @Override
+    public ProductRecordDto getProductRecordById(ProductRecordDto productRecordDto) {
+        List<ProductRecordDto> productRecordDtoList = productRecordMapper.getProductRecordById(productRecordDto);
+        if(CollectionUtils.isNotEmpty(productRecordDtoList)){
+            ProductRecordDto productRecordDto1 = productRecordDtoList.stream()
+                    .filter(item -> item.getId().equals(productRecordDto.getId()))
+                    .findFirst()
+                    .orElse(null);
+            // 杩囨护鍑轰笌浼犲叆鐨� productRecordDto 涓婚敭鐩稿悓鐨勮褰�
+            BigDecimal reduce = productRecordDtoList
+                    .stream()
+                    .filter(item -> item.getProductModelId().equals(productRecordDto.getProductModelId()))
+                    .map(ProductRecordDto::getTicketsNum)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            if(productRecordDto1 != null){
+                productRecordDto1.setFutureTickets(productRecordDto1.getQuantity().subtract(reduce));
+                productRecordDto1.setFutureTicketsAmount(productRecordDto1.getFutureTickets().multiply(productRecordDto1.getTaxInclusiveUnitPrice()));
+            }
+            return productRecordDto1;
+        }
+        return null;
     }
 }

--
Gitblit v1.9.3