From f568916d4fc630a6c26a4de74d6a6853d87ef114 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期五, 09 十月 2026 21:01:52 +0800
Subject: [PATCH] feat: 更新查询顺序以首先显示多个服务和映射器中的最新记录

---
 src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
index 614fc20..ae61afa 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
@@ -326,6 +326,14 @@
         if(ObjectUtils.isEmpty(invoiceRegistrationProductDto)){
             throw new RuntimeException("浜у搧寮�绁ㄥ彴璐︽煡鎵惧け璐�");
         }
+        List<InvoiceRegistrationProduct> invoiceRegistrationProducts = invoiceRegistrationProductMapper.selectList(new LambdaQueryWrapper<InvoiceRegistrationProduct>()
+                .eq(InvoiceRegistrationProduct::getSalesLedgerProductId, invoiceRegistrationProductDto.getSalesLedgerProductId()));
+        if(CollectionUtils.isNotEmpty(invoiceRegistrationProducts)){
+            invoiceRegistrationProductDto.setNoInvoiceNum(invoiceRegistrationProductDto.getQuantity()
+                    .subtract(invoiceRegistrationProducts.stream().map(InvoiceRegistrationProduct::getInvoiceNum).reduce(BigDecimal.ZERO, BigDecimal::add)));
+            invoiceRegistrationProductDto.setNoInvoiceAmount(invoiceRegistrationProductDto.getTaxInclusiveTotalPrice()
+                    .subtract(invoiceRegistrationProducts.stream().map(InvoiceRegistrationProduct::getInvoiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add)));
+        }
         // 鏌ヨ闄勪欢
         QueryWrapper<InvoiceLedgerFile> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("invoice_ledger_id", invoiceRegistrationProductDto.getInvoiceLedgerId());
@@ -397,7 +405,7 @@
         QueryWrapper<InvoiceRegistrationProduct> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("sales_ledger_id", invoiceRegistrationProduct.getSalesLedgerId());
         queryWrapper.eq("sales_ledger_product_id", invoiceRegistrationProduct.getSalesLedgerProductId());
-        queryWrapper.orderByAsc("create_time");
+        queryWrapper.orderByDesc("create_time");
         List<InvoiceRegistrationProduct> allList = invoiceRegistrationProductMapper.selectList(queryWrapper);
 
         int index = -1;
@@ -427,7 +435,7 @@
         QueryWrapper<InvoiceRegistrationProduct> newQueryWrapper = new QueryWrapper<>();
         newQueryWrapper.eq("sales_ledger_id", invoiceRegistrationProduct.getSalesLedgerId());
         newQueryWrapper.eq("sales_ledger_product_id", invoiceRegistrationProduct.getSalesLedgerProductId());
-        newQueryWrapper.orderByAsc("create_time");
+        newQueryWrapper.orderByDesc("create_time");
         List<InvoiceRegistrationProduct> remainList = invoiceRegistrationProductMapper.selectList(newQueryWrapper);
 
         // 鏌ヨ閿�鍞彴璐︿骇鍝�
@@ -459,7 +467,7 @@
         QueryWrapper<InvoiceRegistrationProduct> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("sales_ledger_id", invoiceRegistrationProduct.getSalesLedgerId());
         queryWrapper.eq("sales_ledger_product_id", invoiceRegistrationProduct.getSalesLedgerProductId());
-        queryWrapper.orderByAsc("create_time");
+        queryWrapper.orderByDesc("create_time");
         List<InvoiceRegistrationProduct> list = invoiceRegistrationProductMapper.selectList(queryWrapper);
 
         if (CollectionUtils.isEmpty(list)) {

--
Gitblit v1.9.3