From f41e9a8dd4aa5de0de323ffe2377c896cb44ea37 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期五, 05 十二月 2025 18:46:34 +0800
Subject: [PATCH] 修改了对应代码

---
 archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java               |    3 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java |   22 ++++++-
 archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java       |  102 ++++++++++++++++++++++++++++++++++
 3 files changed, 123 insertions(+), 4 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java b/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java
index c339a19..0b09d2d 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java
@@ -94,4 +94,7 @@
 
     //鎷垮埌瀵瑰簲鐨勬鍗锋潗鏂欎釜鏁�
     public int getFileCount(Integer recordId);
+    
+    //鏍规嵁椤靛彿娣诲姞涓棿璁板綍
+    public AjaxResult addMiddleRecordsByPageNumbers(Long recordId, Long maxPageNumber);
 }
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 f910f0e..f34a9d5 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -334,4 +334,106 @@
     public int getFileCount(Integer recordId) {
         return this.baseMapper.getCount(recordId);
     }
+    
+    @Override
+    public AjaxResult addMiddleRecordsByPageNumbers(Long recordId, Long maxPageNumber) {
+        try {
+            // 鑾峰彇鎸囧畾recordId涓嬬殑鎵�鏈夎褰曪紝鎸夐〉鍙峰崌搴忔帓鍒�
+            LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
+            lqw.eq(DocumentMaterials::getRecordId, recordId);
+            lqw.orderByAsc(DocumentMaterials::getPageNumber);
+            List<DocumentMaterials> records = this.list(lqw);
+
+            if (records == null || records.isEmpty()) {
+                return AjaxResult.success("娌℃湁鎵惧埌鎸囧畾璁板綍");
+            }
+            
+            List<DocumentMaterials> middleRecords = new ArrayList<>();
+            
+            // 閬嶅巻璁板綍锛屾壘鍑洪渶瑕佹坊鍔犱腑闂撮〉鍙风殑浣嶇疆
+            for (int i = 0; i < records.size() - 1; i++) {
+                DocumentMaterials currentRecord = records.get(i);
+                DocumentMaterials nextRecord = records.get(i + 1);
+                
+                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(null);
+                        // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                        newRecord.setPageOrder(null);
+                        // 閲嶇疆鍥惧儚鐩稿叧瀛楁锛屼互渚夸笂浼犳枃浠舵椂鏇存柊
+                        newRecord.setSizeType(null);
+                        newRecord.setWidth(null);
+                        newRecord.setHeight(null);
+                        newRecord.setHorizontalResolution(null);
+                        newRecord.setVerticalResolution(null);
+                        newRecord.setFileSize(null);
+                        newRecord.setFormat(null);
+                        newRecord.setUrl(null);
+                        // 娣诲姞鍒颁腑闂磋褰曞垪琛�
+                        middleRecords.add(newRecord);
+                    }
+                }
+            }
+            
+            // 澶勭悊鏈�鍚庝竴鏉¤褰曞埌maxPageNumber涔嬮棿鐨勯棿闅�
+            DocumentMaterials lastRecord = records.get(records.size() - 1);
+            long lastPage = lastRecord.getPageNumber();
+            
+            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(null);
+                    // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                    newRecord.setPageOrder(null);
+                    // 閲嶇疆鍥惧儚鐩稿叧瀛楁锛屼互渚夸笂浼犳枃浠舵椂鏇存柊
+                    newRecord.setSizeType(null);
+                    newRecord.setWidth(null);
+                    newRecord.setHeight(null);
+                    newRecord.setHorizontalResolution(null);
+                    newRecord.setVerticalResolution(null);
+                    newRecord.setFileSize(null);
+                    newRecord.setFormat(null);
+                    newRecord.setUrl(null);
+                    // 娣诲姞鍒颁腑闂磋褰曞垪琛�
+                    middleRecords.add(newRecord);
+                }
+            }
+            
+            // 鎵归噺淇濆瓨涓棿璁板綍
+            if (!middleRecords.isEmpty()) {
+                this.saveBatch(middleRecords);
+                return AjaxResult.success("鎴愬姛娣诲姞涓棿璁板綍", "娣诲姞鏁伴噺锛�" + middleRecords.size());
+            } else {
+                return AjaxResult.success("娌℃湁闇�瑕佹坊鍔犵殑涓棿璁板綍");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error("娣诲姞涓棿璁板綍澶辫触锛�" + e.getMessage());
+        }
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
index beff88c..8c2ec44 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
@@ -81,7 +81,7 @@
         return AjaxResult.success(data);
     }
     /**
-     * 鎷垮埌闄や簡鍏跺畠绫诲瀷鏉愭枡鐨勪釜鏁�
+     * 鎷垮埌瀵瑰簲鐨勬鍗锋潗鏂欎釜鏁�
      */
     @PreAuthorize("@ss.hasPermi('system:materials:list')")
     @GetMapping("/getFileCount/{recordId}")
@@ -90,6 +90,17 @@
 
         int cnt = documentMaterialsService.getFileCount(recordId);
         return AjaxResult.success(cnt);
+    }
+    
+    /**
+     * 鏍规嵁椤靛彿娣诲姞涓棿璁板綍鐨勬帴鍙�
+     * 渚嬪椤靛彿1锛�5锛�7锛屽垯娣诲姞椤靛彿涓�2锛�3锛�4锛堜俊鎭笌1淇濇寔涓�鑷达級锛�6锛堜俊鎭笌5淇濇寔涓�鑷达級
+     */
+    @PreAuthorize("@ss.hasPermi('system:materials:edit')")
+    @GetMapping("/addMiddleRecords/{recordId}/{maxPageNumber}")
+    public AjaxResult addMiddleRecords(@PathVariable("recordId") Long recordId,@PathVariable("maxPageNumber")  Long maxPageNumber)
+    {
+        return documentMaterialsService.addMiddleRecordsByPageNumbers(recordId, maxPageNumber);
     }
     /**
      * 鏌ヨ銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戝垪琛�
@@ -204,15 +215,17 @@
             AjaxResult ajax = AjaxResult.success();
             //鍒嗗壊鏂囦欢鍚�
             String [] nams = fname.split("\\.");
+            System.out.println(fname);
             Long nam = Long.parseLong(nams[0]);
             //鏍规嵁椤靛彿鎷垮埌妗堝嵎鐨勮缁嗕俊鎭�
-            System.out.println("0-------------");
             System.out.println(recordId);
+            System.out.println("0-------------");
+
             DocumentMaterials doc = documentMaterialsService.selectByPageNumber(nam, Math.toIntExact(recordId));
             if(doc==null)
                 return AjaxResult.error("鏃犲搴旈〉鍙凤紝璇锋鏌ユ竻妤氶檮浠朵互鍙婂搴旂殑杈撳叆锛�");
             else{
-                if(doc.getSecurityLevel().equals("璇ラ〉鍙﹀瓨"))
+                if(doc.getSecurityLevel()!=null&&doc.getSecurityLevel().equals("璇ラ〉鍙﹀瓨"))
                 {
 
                     //鏇挎崲涓轰簡鍑嗗濂界殑鍥惧儚
@@ -300,7 +313,7 @@
 
                     int wdpi = info.getPhysicalWidthDpi() ;
                     int hdpi = info.getPhysicalHeightDpi();
-                    System.out.println("DPI: " + info.getPhysicalWidthDpi());
+                    System.out.println("DPI: " + info.getPhysicalWidthDpi()+nam+"dds");
                     //璁$畻fileNumber
                     Long fileNumber = documentMaterialsService.getFiNum(nam, recordId);
                     //璁$畻sizeType
@@ -320,6 +333,7 @@
         }
         catch (Exception e)
         {
+            System.out.println("88888888882222222222222");
             System.out.println(e);
             return AjaxResult.error(e.getMessage());
         }

--
Gitblit v1.9.1