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

---
 src/main/java/com/ruoyi/purchase/mapper/PaymentRegistrationMapper.java            |   10 +++
 src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java |   11 +++
 src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java         |    8 ++
 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java  |   33 +++++++++++
 src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java              |    3 +
 src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java          |    4 +
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java      |   10 +++
 src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java         |   10 +++
 src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java     |   10 +++
 src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java    |   11 +++
 src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml                  |   22 +++++++
 11 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java b/src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java
index d434d69..2dcbc80 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java
@@ -138,4 +138,15 @@
         List<PaymentHistoryRecordVo> paymentRecordList = paymentRegistrationService.getPaymentRecordList(supplierId);
         return success(paymentRecordList);
     }
+
+    /**
+     * 鏌ヨ浠樻鐧昏鍒楄〃
+     *
+     * @param paymentRegistrationDto 浠樻鐧昏
+     * @return 浠樻鐧昏闆嗗悎
+     */
+    @GetMapping("/paymentHistoryListPage")
+    public IPage<PaymentRegistrationDto> paymentHistoryListPage(Page page, PaymentRegistrationDto paymentRegistrationDto) {
+        return paymentRegistrationService.paymentHistoryListPage(page,paymentRegistrationDto);
+    }
 }
diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
index 9d8f992..bfb9a31 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -1,5 +1,7 @@
 package com.ruoyi.purchase.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;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -117,4 +119,12 @@
     public AjaxResult getInfo(PurchaseLedgerDto purchaseLedgerDto) {
         return AjaxResult.success(purchaseLedgerService.getInfo(purchaseLedgerDto));
     }
+
+    /**
+     * 鏌ヨ閲囪喘鍙拌处鍒楄〃
+     */
+    @GetMapping("/listPage")
+    public IPage<PurchaseLedger> listPage(Page page, PurchaseLedger purchaseLedger) {
+         return purchaseLedgerService.selectPurchaseLedgerListPage(page ,purchaseLedger);
+    }
 }
diff --git a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
index afb3ee2..93cb18a 100644
--- a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
@@ -1,5 +1,7 @@
 package com.ruoyi.purchase.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;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -109,4 +111,12 @@
     public AjaxResult getTicketNo(TicketRegistrationDto ticketRegistrationDto) {
         return AjaxResult.success(ticketRegistrationService.getTicketNo(ticketRegistrationDto));
     }
+
+    /**
+     * 鏌ヨ鏉ョエ鐧昏鍒楄〃
+     */
+    @GetMapping("/listPage")
+    public IPage<TicketRegistration> listPage(Page page, TicketRegistration ticketRegistration) {
+        return ticketRegistrationService.selectTicketRegistrationListPage(page,ticketRegistration);
+    }
 }
diff --git a/src/main/java/com/ruoyi/purchase/mapper/PaymentRegistrationMapper.java b/src/main/java/com/ruoyi/purchase/mapper/PaymentRegistrationMapper.java
index 8dda1fc..71cfbd4 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/PaymentRegistrationMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/PaymentRegistrationMapper.java
@@ -1,6 +1,8 @@
 package com.ruoyi.purchase.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.purchase.dto.PaymentHistoryRecordVo;
 import com.ruoyi.purchase.dto.PaymentRegistrationDto;
 import com.ruoyi.purchase.pojo.PaymentRegistration;
@@ -52,4 +54,12 @@
      * @return
      */
     List<PaymentHistoryRecordVo> getPaymentRecordList(Long supplierId);
+
+    /**
+     * 鏌ヨ浠樻鐧昏鍒楄〃
+     *
+     * @param paymentRegistrationDto 浠樻鐧昏
+     * @return 浠樻鐧昏闆嗗悎
+     */
+    IPage<PaymentRegistrationDto> paymentHistoryListPage(Page page, @Param("params") PaymentRegistrationDto paymentRegistrationDto);
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java b/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java
index 26e14b6..09fe808 100644
--- a/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java
@@ -87,4 +87,12 @@
      * @return
      */
     List<PaymentHistoryRecordVo> getPaymentRecordList(Long supplierId);
+
+    /**
+     * 鏌ヨ浠樻鐧昏鍒楄〃鍒嗛〉
+     *
+     * @param paymentRegistrationDto 浠樻鐧昏
+     * @return 浠樻鐧昏闆嗗悎
+     */
+    IPage<PaymentRegistrationDto> paymentHistoryListPage(Page page, PaymentRegistrationDto paymentRegistrationDto);
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
index 428ec82..a8520c4 100644
--- a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -1,6 +1,7 @@
 package com.ruoyi.purchase.service;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.purchase.dto.PurchaseLedgerDto;
 import com.ruoyi.purchase.pojo.PurchaseLedger;
@@ -31,4 +32,6 @@
     List getPurchasesNo();
 
     PurchaseLedgerDto getPurchaseNoById(Long id);
+
+    IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedger purchaseLedger);
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java b/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java
index 502f659..9c234f7 100644
--- a/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java
+++ b/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java
@@ -1,5 +1,7 @@
 package com.ruoyi.purchase.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.purchase.dto.TicketRegistrationDto;
 import com.ruoyi.purchase.pojo.TicketRegistration;
@@ -24,4 +26,6 @@
     TicketRegistrationDto getRegistrationById(TicketRegistrationDto ticketRegistrationDto);
 
     List getTicketNo(TicketRegistrationDto ticketRegistrationDto);
+
+    IPage<TicketRegistration> selectTicketRegistrationListPage(Page page, TicketRegistration ticketRegistration);
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
index ca69eef..3c58664 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -405,6 +405,17 @@
         return result;
     }
 
+    /**
+     * 鏌ヨ浠樻鐧昏鍒楄〃鍒嗛〉
+     *
+     * @param paymentRegistrationDto 浠樻鐧昏
+     * @return 浠樻鐧昏闆嗗悎
+     */
+    @Override
+    public IPage<PaymentRegistrationDto> paymentHistoryListPage(Page page, PaymentRegistrationDto paymentRegistrationDto) {
+        return paymentRegistrationMapper.paymentHistoryListPage(page, paymentRegistrationDto);
+    }
+
     // 鎵归噺鏌ヨ閲囪喘鍙拌处锛堝綋鏈堬級
     private Map<Long, List<PurchaseLedger>> batchQueryPurchaseLedgers(List<Long> supplierIds, LocalDate startDate, LocalDate endDate) {
         LambdaQueryWrapper<PurchaseLedger> query = new LambdaQueryWrapper<>();
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 3fb150a..94066bb 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.purchase.service.impl;
 
 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.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -417,6 +418,15 @@
         return purchaseLedgerDto;
     }
 
+    @Override
+    public IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedger purchaseLedger) {
+        LambdaQueryWrapper<PurchaseLedger> queryWrapper = new LambdaQueryWrapper<>();
+        if (StringUtils.isNotBlank(purchaseLedger.getPurchaseContractNumber())) {
+            queryWrapper.like(PurchaseLedger::getPurchaseContractNumber, purchaseLedger.getPurchaseContractNumber());
+        }
+        return purchaseLedgerMapper.selectPage(ipage, queryWrapper);
+    }
+
     /**
      * 涓嬪垝绾垮懡鍚嶈浆椹煎嘲鍛藉悕
      */
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 d7c512e..a1272c3 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -1,7 +1,9 @@
 package com.ruoyi.purchase.service.impl;
 
 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.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
@@ -266,6 +268,37 @@
         ).collect(Collectors.toList());
     }
 
+    @Override
+    public IPage<TicketRegistration> selectTicketRegistrationListPage(Page page, TicketRegistration ticketRegistration) {
+        LambdaQueryWrapper<TicketRegistration> queryWrapper = new LambdaQueryWrapper<>();
+        if (StringUtils.isNotBlank(ticketRegistration.getPurchaseContractNumber())) {
+            queryWrapper.like(TicketRegistration::getPurchaseContractNumber, ticketRegistration.getPurchaseContractNumber())
+                    .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName())
+                    .eq(TicketRegistration::getIssueDate, ticketRegistration.getIssueDate());
+        }
+        IPage<TicketRegistration> ticketRegistrationIPage = ticketRegistrationMapper.selectPage(page, queryWrapper);
+        // 璁$畻宸蹭粯娆鹃噾棰�
+        if(CollectionUtils.isNotEmpty(ticketRegistrationIPage.getRecords())){
+            List<Long> ids = ticketRegistrationIPage.getRecords().stream().map(TicketRegistration::getId).collect(Collectors.toList());
+            List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
+            for (TicketRegistration registration : ticketRegistrationIPage.getRecords()) {
+                BigDecimal paymentAmountTotal = BigDecimal.ZERO;
+                for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) {
+                    if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){
+                        paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
+                        break;
+                    }
+                }
+                BigDecimal invoiceAmount = registration.getInvoiceAmount();
+                BigDecimal subtractAmount = invoiceAmount.subtract(paymentAmountTotal);
+                registration.setPaymentAmountTotal(paymentAmountTotal);
+                registration.setUnPaymentAmountTotal(subtractAmount);
+            }
+        }
+
+        return ticketRegistrationIPage;
+    }
+
     private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
         if (products == null || products.isEmpty()) {
             return;
diff --git a/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml b/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
index 26a405b..61bbdfc 100644
--- a/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
+++ b/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
@@ -149,4 +149,26 @@
 
     </select>
 
+    <select id="paymentHistoryListPage" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
+        SELECT
+        T1.payment_date,
+        T2.supplier_name,
+        T1.current_payment_amount,
+        T1.payment_method,
+        T3.nick_name AS registrant,
+        T1.registrationt_date
+        FROM
+        payment_registration T1
+        LEFT JOIN
+        supplier_manage T2 ON T1.supplier_id = T2.id
+        LEFT JOIN
+        sys_user T3 ON T3.user_id = T1.registrant_id
+        <where>
+            <if test="params.searchText != null and params.searchText != '' ">
+                AND T2.supplier_name LIKE CONCAT('%',#{params.searchText},'%')
+            </if>
+        </where>
+        ORDER BY T1.payment_date,T1.create_time DESC
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3