From b434660de4d072909c41c504aed6fd944ba53c86 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 16 一月 2026 17:58:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtwy' into jtwy
---
src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 9 +++++++++
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 10 ++++++++++
src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java | 32 +++++++++++++++++++++++---------
3 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
index 1d76fe2..378a9c3 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.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.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
@@ -24,6 +25,7 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
+import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -192,15 +194,27 @@
*/
@GetMapping("/listPage")
public AjaxResult listPage(Page page, PurchaseLedgerDto purchaseLedger) {
- IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerService.selectPurchaseLedgerListPage(page ,purchaseLedger);
- //杩囨护鎺塧pprovalStatus=3鐨勮褰�
- purchaseLedgerDtoIPage.getRecords().removeIf(purchaseLedgerDto -> purchaseLedgerDto.getApprovalStatus() == 3);
- purchaseLedgerDtoIPage.getRecords().forEach(purchaseLedgerDto -> {
- if (purchaseLedgerDto.getUnReceiptPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
- purchaseLedgerDto.setUnReceiptPaymentAmount(purchaseLedgerDto.getContractAmount());
- }
- });
- return AjaxResult.success(purchaseLedgerDtoIPage);
+ IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = Optional.ofNullable(
+ purchaseLedgerService.selectPurchaseLedgerListPage(page, purchaseLedger)
+ ).orElse(new Page<>());
+
+ // 澶勭悊null
+ Optional.ofNullable(purchaseLedgerDtoIPage.getRecords())
+ .filter(CollectionUtils::isNotEmpty)
+ .ifPresent(records -> {
+ // 杩囨护approvalStatus=3鐨勮褰�
+ records.removeIf(dto -> dto != null && dto.getApprovalStatus() == 3);
+ // 淇鏈敹浠樻閲戦
+ records.forEach(dto -> {
+ if (dto == null) return;
+ BigDecimal unReceiptAmt = Optional.ofNullable(dto.getUnReceiptPaymentAmount()).orElse(BigDecimal.ZERO);
+ if (unReceiptAmt.compareTo(BigDecimal.ZERO) == 0) {
+ dto.setUnReceiptPaymentAmount(Optional.ofNullable(dto.getContractAmount()).orElse(BigDecimal.ZERO));
+ }
+ });
+ });
+
+ return AjaxResult.success(purchaseLedgerDtoIPage);
}
@ApiOperation("鐢熸垚閲囪喘搴忓垪鍙�")
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 66d3875..a828596 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.purchase.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -29,6 +30,7 @@
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.CommonFile;
+import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.service.ISalesLedgerProductService;
import lombok.RequiredArgsConstructor;
@@ -162,6 +164,14 @@
productRecord.setPurchaseLedgerId(ticketRegistrationDto.getPurchaseLedgerId());
productRecord.setCreatedAt(DateUtils.getNowDate());
BeanUtils.copyProperties(salesLedgerProduct, productRecord);
+ //鍚屾鏇存柊鍏朵粬鍓╀綑鏁伴噺鍜岄噾棰�
+ productRecordMapper.update(
+ null,
+ new LambdaUpdateWrapper<ProductRecord>()
+ .eq(ProductRecord::getPurchaseLedgerId, ticketRegistrationDto.getPurchaseLedgerId())
+ .set(ProductRecord::getFutureTickets, salesLedgerProduct.getFutureTickets())
+ .set(ProductRecord::getFutureTicketsAmount, salesLedgerProduct.getFutureTicketsAmount())
+ );
productRecord.setSaleLedgerProjectId(salesLedgerProduct.getId());
productRecord.setId(null);
productRecord.setType("2");
diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
index 62090d1..1d71938 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -70,6 +72,13 @@
invoiceAmountTotal = invoiceAmountTotal.add(currentInvoiceNum);
InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct();
BeanUtils.copyProperties(productDatum, invoiceRegistrationProduct);
+ //鏇存柊宸插紑绁ㄥ墿浣欐湭寮�绁ㄦ暟
+ invoiceRegistrationProductMapper.update(
+ null,
+ new LambdaUpdateWrapper<InvoiceRegistrationProduct>()
+ .eq(InvoiceRegistrationProduct::getSalesLedgerId, salesLedgerDto.getId())
+ .set(InvoiceRegistrationProduct::getNoInvoiceAmount, productDatum.getNoInvoiceAmount())
+ );
invoiceRegistrationProduct.setId(null);
invoiceRegistrationProduct.setSalesLedgerId(salesLedgerDto.getId().intValue());
invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId());
--
Gitblit v1.9.3