From fc3ccbfc30b83e432c71c508ef2b9c1052816ed2 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期日, 11 一月 2026 21:56:34 +0800
Subject: [PATCH] 修改了对应代码

---
 archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 111 insertions(+), 3 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
index 8ba1663..92d7bff 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -302,12 +302,13 @@
     }
 
     @Override
-    public List<DocumentMaterialsVo> findArchMInfo(String recordId) {
+    public List<DocumentMaterialsVo> findArchMInfo(String recordId, long pageCount) {
         // 鑾峰彇鍘熷鏁版嵁鍒楄〃
         List<DocumentMaterialsVo> dataList = this.baseMapper.getArchiveMatInfo(Integer.parseInt(recordId));
         
         // 鑾峰彇璇ユ鍗风殑鏈�澶ч〉鍙凤紙鎬婚〉鏁帮級
-        Long totalPages = this.baseMapper.getMaxPageNumber(Integer.parseInt(recordId));
+        Long totalPages = (long) pageCount;
+                //this.baseMapper.getMaxPageNumber(Integer.parseInt(recordId));
        
         // 濡傛灉鏁版嵁鍒楄〃涓嶄负绌�
         if (dataList != null && !dataList.isEmpty() && totalPages != null) {
@@ -416,7 +417,114 @@
     public int getFileCount(Integer recordId) {
         return this.baseMapper.getCount(recordId);
     }
-    
+
+    public List<DocumentMaterials> SelectAllRecordsByPageNumbersToList(Long recordId, Long maxPageNumber) {
+        // 鑾峰彇鎸囧畾recordId涓嬬殑鎵�鏈夎褰曪紝鎸夐〉鍙峰崌搴忔帓鍒�
+        LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(DocumentMaterials::getRecordId, recordId);
+        lqw.ne(DocumentMaterials::getFileStyle, "鍏朵粬鏉愭枡");
+        lqw.orderByAsc(DocumentMaterials::getPageNumber);
+        List<DocumentMaterials> records = this.list(lqw);
+
+        if (records == null || records.isEmpty()) {
+            // return AjaxResult.success("娌℃湁鎵惧埌鎸囧畾璁板綍");
+            return null;
+        }
+
+        List<DocumentMaterials> middleRecords = new ArrayList<>();
+        int startFileNumber = 1;
+        // 閬嶅巻璁板綍锛屾壘鍑洪渶瑕佹坊鍔犱腑闂撮〉鍙风殑浣嶇疆
+        for (int i = 0; i < records.size() - 1; i++) {
+            // startFileNumber = 1;
+            int pageOrderNumber = 1;
+            DocumentMaterials currentRecord = records.get(i);
+            DocumentMaterials nextRecord = records.get(i + 1);
+            currentRecord.setFileNumber((long) startFileNumber);
+            currentRecord.setPageOrder((long) pageOrderNumber++);
+            middleRecords.add(currentRecord);
+            long currentPage = currentRecord.getPageNumber();
+            long nextPage = nextRecord.getPageNumber();
+
+            // 濡傛灉褰撳墠椤靛彿鍜屼笅涓�椤靛彿涔嬮棿鏈夐棿闅�
+            if (nextPage - currentPage > 1) {
+                // 娣诲姞涓棿椤靛彿鐨勮褰曪紝淇℃伅涓庡綋鍓嶈褰曚繚鎸佷竴鑷�
+                for (long page = currentPage + 1; page < nextPage; page++) {
+                    DocumentMaterials newRecord = new DocumentMaterials();
+                    // 澶嶅埗褰撳墠璁板綍鐨勬墍鏈夊睘鎬�
+                    BeanUtils.copyBeanProp(newRecord, currentRecord);
+                    // 璁剧疆鏂扮殑椤靛彿
+                    newRecord.setPageNumber(page);
+                    // 娓呴櫎ID锛岀‘淇濇槸鏂拌褰�
+                    newRecord.setMaterialId(null);
+                    // 璁剧疆鍒涘缓鏃堕棿
+                    newRecord.setCreatedAt(new Date());
+                    // 閲嶇疆鏂囦欢鏉愭枡搴忓彿涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                    newRecord.setFileNumber((long) startFileNumber);
+                    // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                    newRecord.setPageOrder((long) pageOrderNumber++);
+                    // 閲嶇疆鍥惧儚鐩稿叧瀛楁锛屼互渚夸笂浼犳枃浠舵椂鏇存柊
+                    newRecord.setSizeType(null);
+                    newRecord.setWidth(null);
+                    newRecord.setHeight(null);
+                    newRecord.setHorizontalResolution(null);
+                    newRecord.setVerticalResolution(null);
+                    newRecord.setFileSize(null);
+                    newRecord.setFormat(null);
+                    newRecord.setUrl(null);
+                    //涓嶅湪鍓嶇鏄剧ず
+                    newRecord.setVisible(0);
+                    // 娣诲姞鍒颁腑闂磋褰曞垪琛�
+                    middleRecords.add(newRecord);
+                }
+            }
+            //涓嬩竴娆″姞1
+            startFileNumber++;
+        }
+
+        // 澶勭悊鏈�鍚庝竴鏉¤褰曞埌maxPageNumber涔嬮棿鐨勯棿闅�
+     //   int startLastFileNumber = 1;
+        DocumentMaterials lastRecord = records.get(records.size() - 1);
+        lastRecord.setFileNumber((long) startFileNumber);
+        int lastpageordernumber = 1;
+        lastRecord.setPageOrder((long) lastpageordernumber);
+        long lastPage = lastRecord.getPageNumber();
+        middleRecords.add(lastRecord);
+        if (maxPageNumber > lastPage) {
+            // 娣诲姞浠巐astPage+1鍒癿axPageNumber涔嬮棿鐨勪腑闂磋褰�
+            for (long page = lastPage + 1; page <= maxPageNumber; page++) {
+                DocumentMaterials newRecord = new DocumentMaterials();
+                // 澶嶅埗鏈�鍚庝竴鏉¤褰曠殑鎵�鏈夊睘鎬�
+                BeanUtils.copyBeanProp(newRecord, lastRecord);
+                // 璁剧疆鏂扮殑椤靛彿
+                newRecord.setPageNumber(page);
+                // 娓呴櫎ID锛岀‘淇濇槸鏂拌褰�
+                newRecord.setMaterialId(null);
+                // 璁剧疆鍒涘缓鏃堕棿
+                newRecord.setCreatedAt(new Date());
+                // 閲嶇疆鏂囦欢鏉愭枡搴忓彿涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                newRecord.setFileNumber((long) startFileNumber);
+                // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                newRecord.setPageOrder((long) lastpageordernumber++);
+                // 閲嶇疆鍥惧儚鐩稿叧瀛楁锛屼互渚夸笂浼犳枃浠舵椂鏇存柊
+                newRecord.setSizeType(null);
+                newRecord.setWidth(null);
+                newRecord.setHeight(null);
+                newRecord.setHorizontalResolution(null);
+                newRecord.setVerticalResolution(null);
+                newRecord.setFileSize(null);
+                newRecord.setFormat(null);
+                newRecord.setUrl(null);
+                newRecord.setVisible(0);
+
+                // 娣诲姞鍒颁腑闂磋褰曞垪琛�
+                middleRecords.add(newRecord);
+            }
+        }
+
+        return middleRecords;
+
+    }
+
     @Override
     public AjaxResult addMiddleRecordsByPageNumbers(Long recordId, Long maxPageNumber) {
         try {

--
Gitblit v1.9.1