From e2c5b3a68bf3da47f5c1adf217ca96c7ec9a0076 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 29 一月 2026 15:17:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java | 37 +++++++++++++++++++++++++------------
1 files changed, 25 insertions(+), 12 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 d5c67b9..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,30 +93,39 @@
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(ProductRecordDto productRecordDto) {
List<ProductRecordDto> productRecordDtoList = productRecordMapper.getProductRecordById(productRecordDto);
- if(productRecordDtoList != null && productRecordDtoList.size() > 0){
- ProductRecordDto productRecordDto1 = productRecordDtoList.get(productRecordDtoList.size() - 1);
+ if(CollectionUtils.isNotEmpty(productRecordDtoList)){
+ ProductRecordDto productRecordDto1 = productRecordDtoList.stream()
+ .filter(item -> item.getId().equals(productRecordDto.getId()))
+ .findFirst()
+ .orElse(null);
// 杩囨护鍑轰笌浼犲叆鐨� productRecordDto 涓婚敭鐩稿悓鐨勮褰�
- ProductRecordDto productRecordDto2 = productRecordDtoList.stream().filter(item ->
- item.getId().equals(productRecordDto.getId()))
- .findFirst().orElse(null);
- productRecordDto2.setFutureTickets(productRecordDto1.getFutureTickets());
- productRecordDto2.setFutureTicketsAmount(productRecordDto1.getFutureTicketsAmount());
- return productRecordDto2;
+ 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