From 3e03f3d957c44ff2e4909b9fb4fff8621d466d10 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期五, 06 六月 2025 17:05:23 +0800
Subject: [PATCH] 分页修改

---
 src/main/resources/mapper/sales/SalesLedgerMapper.xml                     |   27 +++++++++
 src/main/java/com/ruoyi/basic/controller/ProductController.java           |   10 +++
 src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java          |    6 ++
 src/main/resources/mapper/sales/ReceiptPaymentMapper.xml                  |   23 +++++++
 src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java   |   15 +++++
 src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java            |    4 +
 src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java    |    9 +++
 src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java       |   27 +++++++++
 src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java            |    5 +
 src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java               |   10 +++
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java    |    7 ++
 src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java |    8 ++
 src/main/java/com/ruoyi/basic/service/IProductModelService.java           |   10 +++
 13 files changed, 161 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/controller/ProductController.java b/src/main/java/com/ruoyi/basic/controller/ProductController.java
index d042cb6..1909c08 100644
--- a/src/main/java/com/ruoyi/basic/controller/ProductController.java
+++ b/src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -1,5 +1,7 @@
 package com.ruoyi.basic.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.basic.dto.ProductDto;
 import com.ruoyi.basic.dto.ProductModelDto;
 import com.ruoyi.basic.dto.ProductTreeDto;
@@ -82,4 +84,12 @@
         }
         return toAjax(productModelService.delProductModel(ids));
     }
+
+    /**
+     * 鏍规嵁id鏌ヨ浜у搧瑙勬牸鍒嗛〉鏌ヨ
+     */
+    @GetMapping("/modelListPage")
+    public IPage<ProductModel> selectModelListPage(Page page, ProductDto productDto) {
+        return productModelService.modelListPage(page, productDto);
+    }
 }
diff --git a/src/main/java/com/ruoyi/basic/service/IProductModelService.java b/src/main/java/com/ruoyi/basic/service/IProductModelService.java
index d5103ee..2e81fd7 100644
--- a/src/main/java/com/ruoyi/basic/service/IProductModelService.java
+++ b/src/main/java/com/ruoyi/basic/service/IProductModelService.java
@@ -1,5 +1,7 @@
 package com.ruoyi.basic.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.basic.dto.ProductDto;
 import com.ruoyi.basic.dto.ProductModelDto;
@@ -21,4 +23,12 @@
     int delProductModel(Long[] ids);
 
     List<ProductModel> selectModelList(ProductDto productDto);
+
+    /**
+     * 鏍规嵁id鏌ヨ浜у搧瑙勬牸鍒嗛〉鏌ヨ
+     * @param page
+     * @param productDto
+     * @return
+     */
+    IPage<ProductModel> modelListPage(Page page , ProductDto productDto);
 }
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
index 754d93f..6953d6e 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -1,6 +1,8 @@
 package com.ruoyi.basic.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.dto.ProductDto;
 import com.ruoyi.basic.dto.ProductModelDto;
@@ -49,4 +51,17 @@
         queryWrapper.eq(ProductModel::getProductId, productDto.getId());
         return productModelMapper.selectList(queryWrapper);
     }
+
+    /**
+     * 鏍规嵁id鏌ヨ浜у搧瑙勬牸鍒嗛〉鏌ヨ
+     * @param page
+     * @param productDto
+     * @return
+     */
+    @Override
+    public IPage<ProductModel> modelListPage(Page page, ProductDto productDto) {
+        LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ProductModel::getProductId, productDto.getId());
+        return productModelMapper.selectPage(page, queryWrapper);
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
index 50bf83b..6669842 100644
--- a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.sales.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
@@ -124,4 +125,12 @@
         List<ReceiptPaymentDto> list = receiptPaymentService.receiptPaymentHistoryList(receiptPaymentDto);
         return getDataTable(list);
     }
+
+    /**
+     * 鏌ヨ鍥炴璁板綍
+     */
+    @GetMapping("/receiptPaymentHistoryListPage")
+    public IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
+        return receiptPaymentService.receiptPaymentHistoryListPage(page,receiptPaymentDto);
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index 4b3aaf6..43db757 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.sales.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
@@ -160,4 +161,30 @@
     public AjaxResult getAmountHalfYear() {
         return AjaxResult.success(salesLedgerService.getAmountHalfYear());
     }
+
+    /**
+     * 鏌ヨ閿�鍞彴璐﹀垪琛�
+     */
+    @GetMapping("/listPage")
+    public IPage<SalesLedger> listPage(Page page, SalesLedgerDto salesLedgerDto) {
+        IPage<SalesLedger> iPage = salesLedgerService.selectSalesLedgerListPage(page,salesLedgerDto);
+        // 璁$畻宸插紑绁ㄩ噾棰�/鏈紑绁ㄩ噾棰�(宸插~鍐欏彂绁ㄩ噾棰濅负鍑�)
+        if(CollectionUtils.isEmpty(iPage.getRecords())){
+            return iPage;
+        }
+        List<Long> salesLedgerIds = iPage.getRecords().stream().map(SalesLedger::getId).collect(Collectors.toList());
+        List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoicedTotal(salesLedgerIds);
+        if(CollectionUtils.isEmpty(invoiceLedgerDtoList)){
+            return iPage;
+        }
+        for (SalesLedger salesLedger : iPage.getRecords()) {
+            for (InvoiceLedgerDto invoiceLedgerDto : invoiceLedgerDtoList) {
+                if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) {
+                    BigDecimal noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal());
+                    salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal);
+                }
+            }
+        }
+        return iPage;
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
index c876293..65a23ee 100644
--- a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
@@ -45,4 +45,9 @@
      */
     List<ReceiptPaymentDto> receiptPaymentHistoryList(@Param("params") ReceiptPaymentDto receiptPaymentDto);
 
+    /**
+     * 鏌ヨ鍥炴璁板綍鍒嗛〉
+     */
+    IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page,@Param("params") ReceiptPaymentDto receiptPaymentDto);
+
 }
diff --git a/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java b/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java
index a371b27..a0a0b1f 100644
--- a/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.sales.dto.SalesLedgerDto;
 import com.ruoyi.sales.pojo.SalesLedger;
 import org.apache.ibatis.annotations.Param;
@@ -35,4 +37,12 @@
      * @return
      */
     List<SalesLedger> selectSalesLedgerList(@Param("salesLedgerDto") SalesLedgerDto salesLedgerDto);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page
+     * @param salesLedgerDto
+     * @return
+     */
+    IPage<SalesLedger> selectSalesLedgerListPage(Page page, @Param("salesLedgerDto") SalesLedgerDto salesLedgerDto);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java b/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
index 0c8bcad..b38e4af 100644
--- a/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
+++ b/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -1,5 +1,7 @@
 package com.ruoyi.sales.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.sales.dto.MonthlyAmountDto;
 import com.ruoyi.sales.dto.SalesLedgerDto;
@@ -31,4 +33,6 @@
     List getTopFiveList();
 
     List<MonthlyAmountDto> getAmountHalfYear();
+
+    IPage<SalesLedger> selectSalesLedgerListPage(Page page, SalesLedgerDto salesLedgerDto);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
index 0413682..18b4fa6 100644
--- a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
+++ b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
@@ -5,6 +5,7 @@
 import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
 import com.ruoyi.sales.pojo.ReceiptPayment;
+import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -71,4 +72,9 @@
      * 鏌ヨ鍥炴璁板綍
      */
     List<ReceiptPaymentDto> receiptPaymentHistoryList(ReceiptPaymentDto receiptPaymentDto);
+
+    /**
+     * 鏌ヨ鍥炴璁板綍鍒嗛〉
+     */
+    IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
index 62add42..1e84cec 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -182,4 +182,12 @@
     public List<ReceiptPaymentDto> receiptPaymentHistoryList(ReceiptPaymentDto receiptPaymentDto) {
         return receiptPaymentMapper.receiptPaymentHistoryList(receiptPaymentDto);
     }
+
+    /**
+     * 鏌ヨ鍥炴璁板綍鍒嗛〉
+     */
+    @Override
+    public IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
+        return receiptPaymentMapper.receiptPaymentHistoryListPage(page, receiptPaymentDto);
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 4256f17..ddc9f5a 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -2,9 +2,11 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.mapper.CustomerMapper;
 import com.ruoyi.basic.pojo.Customer;
@@ -242,6 +244,11 @@
         return monthlyAmounts;
     }
 
+    @Override
+    public IPage<SalesLedger> selectSalesLedgerListPage(Page page, SalesLedgerDto salesLedgerDto) {
+        return salesLedgerMapper.selectSalesLedgerListPage(page, salesLedgerDto);
+    }
+
     // 鍐呴儴绫荤敤浜庡瓨鍌ㄨ仛鍚堢粨鏋�
     private static class GroupedCustomer {
         private final Long customerId;
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 53cca98..2402490 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -165,4 +165,27 @@
         ORDER BY T1.receipt_payment_date DESC
     </select>
 
+    <select id="receiptPaymentHistoryListPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
+        SELECT
+        T1.receipt_payment_date,
+        T5.customer_name,
+        T1.receipt_payment_amount,
+        T1.receipt_payment_type,
+        T1.registrant,
+        T1.create_time
+        FROM
+        receipt_payment T1
+        LEFT JOIN
+        invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
+        LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
+        LEFT JOIN sales_ledger T4 ON T3.sales_ledger_id = T4.id
+        LEFT JOIN customer T5 ON T5.id = T4.customer_id
+        <where>
+            <if test="params.searchText != null and params.searchText != '' ">
+                T5.customer_name LIKE CONCAT('%',#{params.searchText},'%')
+            </if>
+        </where>
+        ORDER BY T1.receipt_payment_date DESC
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index bd80e3f..a9ad438 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -39,4 +39,31 @@
             </if>
         </where>
     </select>
+
+    <select id="selectSalesLedgerListPage" resultType="com.ruoyi.sales.pojo.SalesLedger">
+        SELECT
+        T1.id,
+        T1.sales_contract_no,
+        T1.customer_contract_no,
+        T1.project_name,
+        T1.entry_date,
+        T1.salesman,
+        T1.customer_id,
+        T1.customer_name,
+        T1.entry_person,
+        T1.remarks,
+        T1.attachment_materials,
+        T1.tenant_id,
+        T1.contract_amount,
+        T1.execution_date,
+        T2.nick_name AS entry_person_name
+        FROM
+        sales_ledger T1
+        LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
+        <where>
+            <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
+                T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
+            </if>
+        </where>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3