From e435c834aac75f49cf2d1945bd4f849524e8b59c Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 16 一月 2026 18:00:15 +0800
Subject: [PATCH] Merge branch 'jtwy' into dev_New

---
 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/production/controller/SalesLedgerWorkController.java       |    1 
 src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java |    1 
 src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java      |    9 ++++
 src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java          |   32 +++++++++++----
 6 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java
index f595d98..188a701 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java
@@ -34,4 +34,13 @@
         return R.ok(productWorkOrderservice.updateProductWorkOrder(productWorkOrderDto));
     }
 
+    /**
+     * pda鏍规嵁浜岀淮鐮佺殑宸ュ崟id鏌ヨ鏁版嵁
+     */
+    @ApiOperation("pda鏍规嵁浜岀淮鐮佺殑宸ュ崟id鏌ヨ鏁版嵁")
+    @GetMapping("/getProductWorkOrderById")
+    public R getProductWorkOrderById(Long id) {
+        return R.ok(productWorkOrderservice.getById(id));
+    }
+
 }
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
index ae73e64..907cd44 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
@@ -38,6 +38,7 @@
 @RestController
 @Api(tags = "鐢熶骇璁㈠崟")
 @RequestMapping("/salesLedger/scheduling")
+@Deprecated // 鏍囪璇ョ被宸插純鐢�
 public class SalesLedgerSchedulingController extends BaseController {
 
     @Autowired
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java
index 4051ecf..d4265bf 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java
@@ -30,6 +30,7 @@
 @RestController
 @Api(tags = "鐢熶骇鎶ュ伐(鎺掍骇璁板綍)")
 @RequestMapping("/salesLedger/work")
+@Deprecated // 鏍囪璇ョ被宸插純鐢�
 public class SalesLedgerWorkController extends BaseController {
 
 
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